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

--- Comment #17 from Richard Biener <rguenth at gcc dot gnu.org> ---
Seeing

Trying 21 -> 24:
   21: r150:V4SI=vec_select(vec_concat(r146:V4SI,r141:V4SI),parallel)
      REG_DEAD r146:V4SI
      REG_DEAD r141:V4SI
   24: {r151:SI=vec_select(r150:V4SI,parallel);clobber scratch;}
...
Successfully matched this instruction:
(set (reg:SI 151)
    (vec_select:SI (reg:V4SI 141)
        (parallel [
                (const_int 3 [0x3])
            ])))

shouldn't that be (vec_select:SI (reg:V4SI 146) ...)?  Or does
(vec_concat:V8SI (xx:V4SI xx:V4SI)) magically swap the two V4SI vectors?

Reply via email to