http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56151



             Bug #: 56151

           Summary: Performance degradation after r194054 on x86 Atom.

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: tree-optimization

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: ysrum...@gmail.com





For simple test-case extracted from one important benchmark we see number

instrctions increasing after fix r194054. If we compile test-case with compiler

built before this revision we have only 6 instructions for store stmt:



    movl    %edx, %ebx

    movl    %edx, %ebp

    sarl    $5, %ebx

    andl    $31, %ebp

    movl    setmask(,%ebp,4), %ebp

    orl    %ebp, (%edi,%ebx,4)



but after this fix we got 9 instrctions for it:



    movl    %edx, %ebx

    movl    56(%esp), %esi

    sarl    $5, %ebx

    movl    %edx, %ebp

    andl    $31, %ebp

    leal    (%esi,%ebx,4), %esi

    movl    (%esi), %ebx

    orl    setmask(,%ebp,4), %ebx

    movl    %ebx, (%esi)



To reproduce it is sufficient to compile with the following options:



-O2 -ffast-math -msse2 -mfpmath=sse -m32 -march=atom -mtune=atom

Reply via email to