https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119374
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- ;; shift_36 = 19 - _8; (insn 20 19 0 (set (reg/v:SI 133 [ shiftD.6157 ]) (minus:SI (const_int 19 [0x13]) (reg:SI 121 [ _8 ]))) "/app/example.cpp":33:11 discrim 1 -1 (nil)) ;; vect_yx_40.8_78 = vect_yy_34.7_80 >> shift_36; (insn 34 29 35 (set (reg:V4SI 162) (neg:V4SI (reg:V4SI 158))) "/app/example.cpp":39:5 -1 (nil)) (insn 35 34 36 (set (reg:V4SI 161 [ vect_yx_40.8_78 ]) (unspec:V4SI [ (reg:V4SI 142 [ vect_yy_34.7D.6181 ]) (reg:V4SI 162) ] VSHLQ_S)) "/app/example.cpp":39:5 -1 (expr_list:REG_EQUAL (ashiftrt:V4SI (reg:V4SI 142 [ vect_yy_34.7D.6181 ]) (reg:V4SI 158)) (nil))) Confirmed, I have seen this before.