https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94123

seurer at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[10 regression] r10-7093    |[10 regression] r10-1734,
                   |causes                      |SVN r273240, causes
                   |gcc.target/powerpc/pr87507. |gcc.target/powerpc/pr87507.
                   |c to fail                   |c to fail
                 CC|                            |segher at gcc dot gnu.org

--- Comment #4 from seurer at gcc dot gnu.org ---
g:b18081df8cca5f2306e99709fa2c06b9cbeea8d0, r10-1734, SVN r273240

Sorry about the confusion with the reverted patch.

The current code generated for this test case is really messed up.  Prior to
r10-1734 this is what was generated for gcc.target/powerpc/pr87507.c

.cfi_startproc
        cmpdi 0,3,0
        beqlr 0
        std 5,0(4)
        std 6,8(4)
        std 5,16(4)
        std 6,24(4)
        blr

Starting with r10-1734 (and still today) this is what is generated:

.cfi_startproc
        cmpdi 0,3,0
        beqlr 0
        std 30,-16(1)
        std 31,-8(1)
        .cfi_offset 30, -16
        .cfi_offset 31, -8
        mr 30,6
        mr 31,5
        addi 9,4,16
        mr 10,30
        mr 11,31
        std 31,0(4)
        std 30,8(4)
        std 11,0(9)
        std 10,8(9)
        ld 30,-16(1)
        ld 31,-8(1)
        .cfi_restore 31
        .cfi_restore 30
        blr

All sorts of extra moves, loads, and stores.

Options used:  -O2 -mdejagnu-cpu=power8

Reply via email to