[Bug target/57024] New: gcc too eager splitting cvtss2sd into unpcklps + cvtps2pd

glisse at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Apr 21 12:32:00 GMT 2013


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: unassigned@gcc.gnu.org
        ReportedBy: glisse@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.



More information about the Gcc-bugs mailing list