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

--- Comment #15 from luoxhu at gcc dot gnu.org ---
(In reply to Segher Boessenkool from comment #14)
> (In reply to luoxhu from comment #12)
> > That code was called by combine pass but fail to match. 
> 
> > 
> > pr newpat
> > (set (reg:DI 125 [ l ])
> >     (xor:DI (and:DI (xor:DI (reg/v:DI 120 [ l ])
> >                 (reg:DI 127))
> >             (const_int 267390975 [0xff00fff]))
> >         (reg/v:DI 120 [ l ])))
> 
> Note this is 0x0ff00fff, and this is not a valid mask for rlwimi.

OK, it also fails to combine for 0x01000000.


        .cfi_startproc
        xor 4,3,4
        rlwinm 4,4,0,7,7
        xor 3,4,3
        blr

Reply via email to