[Bug middle-end/82940] Suboptimal code for (a & 0x7f) | (b & 0x80) on powerpc

segher at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Aug 23 15:45:40 GMT 2021


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

--- Comment #8 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Segher Boessenkool from comment #7)
> (In reply to Peter Cordes from comment #6)
> > # power64 GCC 9.2.1 (ATI13.0)
> >         rlwimi 3,4,0,255    # bit-blend according to mask, rotate count=0
> >         rldicl 3,3,0,32     # Is this zero-extension to 64-bit redundant?
> 
> It is: the rlwinm does an AND with 0xff already, so that clears the top 32
> bits for sure.

Wow I cannot read, it is an rlwimi, so scratch that.

The rlwimi here keeps the top 56 bits intact, and they already were 0, so the
insn still is redundant.


More information about the Gcc-bugs mailing list