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.