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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
(set (reg:V2DI 109 [ _3 ])
    (xor:V2DI (subreg:V2DI (ashift:V4SI (subreg:V4SI (reg/v:V2DI 105 [ v ]) 0)
                (const_int 5 [0x5])) 0)
        (subreg:V2DI (lshiftrt:V4SI (subreg:V4SI (reg/v:V2DI 105 [ v ]) 0)
                (const_int 27 [0x1b])) 0)))

we could simplify this to

   (subreg:V2DI (xor:V4SI (ashift ...)
                  (lshiftrt ...)))

but not sure if that's a win in general.  OTOH I'd say having the subreg
as outermost operation for a SET_SRC is good as well has having all
subregs apply in innermost position around leaf REG uses.

Reply via email to