3.3 can do this in 4.39s while 4.0.0 needs 14.60s. #define ELSEIF1 else if (!a) f(); #define ELSEIF2 ELSEIF1 else if (a) ; #define ELSEIF4 ELSEIF2 ELSEIF2 #define ELSEIF8 ELSEIF4 ELSEIF4 #define ELSEIF16 ELSEIF8 ELSEIF8 #define ELSEIF32 ELSEIF16 ELSEIF16 #define ELSEIF64 ELSEIF32 ELSEIF32 #define ELSEIF128 ELSEIF64 ELSEIF64 #define ELSEIF256 ELSEIF128 ELSEIF128 #define ELSEIF512 ELSEIF256 ELSEIF256 #define ELSEIF1024 ELSEIF512 ELSEIF512 #define ELSEIF2048 ELSEIF1024 ELSEIF1024 #define ELSEIF4096 ELSEIF2048 ELSEIF2048 #define ELSEIF8192 ELSEIF4096 ELSEIF4096 #define ELSEIF16384 ELSEIF8192 ELSEIF8192 #define ELSEIF32768 ELSEIF16384 ELSEIF16384 #define ELSEIF65536 ELSEIF32768 ELSEIF32768
void foo (int a) { int b; if (a); ELSEIF4096 } -- Summary: [4.0 Regression] Expand is considered slower? (or is it because gimplifier considered part of expand) Product: gcc Version: 4.0.0 Status: UNCONFIRMED Keywords: compile-time-hog Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17967