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