https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104049
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|rtl-optimization |target --- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Hmm, ;; _43 = .REDUC_PLUS (vect__7.11_47); (insn 23 22 24 (set (reg:V4SI 112) (unspec:V4SI [ (reg:V4SI 103 [ vect__7.11 ]) ] UNSPEC_ADDV)) -1 (nil)) (insn 24 23 0 (set (reg:SI 102 [ _43 ]) (vec_select:SI (reg:V4SI 112) (parallel [ (const_int 0 [0]) ]))) -1 (nil)) Could we just represent REDUC_PLUS as: (insn 23 22 24 (set (reg:SI 112) (unspec:SI [ (reg:V4SI 103 [ vect__7.11 ]) ] UNSPEC_ADDV_1)) -1 (nil)) And then I don't think we will have the issue with the vec_select and subreg really.