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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-03-07
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Trying 144, 146 -> 148:
  144: r159:V8HI=r165:V8HI 0>>const_vector
      REG_DEAD r165:V8HI
  146: r155:V8QI=trunc(r159:V8HI)
      REG_DEAD r159:V8HI
  148: r153:V16QI=vec_concat(r155:V8QI,const_vector)
      REG_DEAD r155:V8QI
Successfully matched this instruction:
(set (reg:V16QI 153 [ _101 ])
    (vec_concat:V16QI (truncate:V8QI (lshiftrt:V8HI (reg:V8HI 165 [ _113 ])
                (const_vector:V8HI [
                        (const_int 15 [0xf]) repeated x8
                    ])))
        (const_vector:V8QI [
                (const_int 0 [0]) repeated x8
            ])))

I have not reduced it yet but the above shows where the problem is introduced
inside combine.  I think the constrants/predicates for aarch64_shrnv8hi_insn_le
on the const_vect (shift) are incorrect.

Reply via email to