http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57511
Bug ID: 57511 Summary: [4.8/4.9 Regression] Missing SCEV final value replacement Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: amonakov at gcc dot gnu.org The following simple loop is no longer optimized out with 4.8 and 4.9: int main(int argc, char* argv[]) { int i, a = 0; for (i=0; i < 10000; i++) a += i + 0xff00ff; return a; } $ gcc-4.7.2 -O2 -S main.c -o- main: .LFB0: .cfi_startproc movl $-334379544, %eax ret $ gcc-4.8.0 -O2 -S main.c -o- main: .LFB0: .cfi_startproc movl $16711935, %edx xorl %eax, %eax .p2align 4,,10 .p2align 3 .L3: addl %edx, %eax addl $1, %edx cmpl $16721935, %edx jne .L3 rep ret