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.

Reply via email to