This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/57511] New: [4.8/4.9 Regression] Missing SCEV final value replacement


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]