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

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #8)
> (set (reg:SI 98)
>     (ior:SI (and:SI (lshiftrt:SI (reg/v:SI 97 [ x ])
>                 (const_int 8 [0x8]))
>             (const_int 16711935 [0xff00ff]))
>         (reg:SI 102)))
> 
> as
> (set (reg:SI 98)
>      (ior:SI
>       (lshiftrt:SI
>        (and:SI (reg/v:SI 97 [ x ])  (const_int 0xff00ff00) )
>        (const_int 8 [0x8]))
>       (reg:SI 102)))

Note there are some similar define_split already in the aarch64 backend around
lines 4688. For shift left, but not for shift right.

Reply via email to