http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57024



             Bug #: 57024

           Summary: gcc too eager splitting cvtss2sd into unpcklps +

                    cvtps2pd

    Classification: Unclassified

           Product: gcc

           Version: 4.9.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: target

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: gli...@gcc.gnu.org





Hello,



I noticed a large performance regression compiling this micro-test:



int main(){

  long i;

  float d=1;

  for(i=0;i<100000000;++i){

    d+=.3;

  }

  return (long)d;

}



with gcc -O3 -march=native (-v shows that it passes -march=core2 -mtune=core2)

on this processor: Intel(R) Core(TM)2 Duo CPU     T9600  @ 2.80GHz



with gcc-4.4, it takes .31s

with trunk, it takes .45s



This seems related to:

http://gcc.gnu.org/ml/gcc-patches/2007-09/msg00714.html



an amd vs intel tuning issue. Compiling with -Os restores the good performance.

Reply via email to