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

Peter Bergner <bergner at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bergner at gcc dot gnu.org

--- Comment #3 from Peter Bergner <bergner at gcc dot gnu.org> ---
Update: current code (both powerpc64-linux and powerpc64le-linux) still contain
the unneeded rlwinm, but now we've replaced the loop with a call to libc's
memset and we do not shrink-wrap the call due to the use of the non-volatile
r31 in the entry block. 

foo:
        cmpdi 0,5,0
        std 31,-8(1)
        stdu 1,-128(1)
        mr 31,3
        beq 0,.L4
        mflr 0
        rlwinm 4,4,0,0xff
        std 0,144(1)
        bl memset
        nop
        ld 0,144(1)
        mtlr 0
.L4:
        addi 1,1,128
        mr 3,31
        ld 31,-8(1)
        blr

Reply via email to