https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126932
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Last reconfirmed| |2026-08-18
Status|UNCONFIRMED |NEW
--- Comment #2 from Drea Pinski <pinskia at gcc dot gnu.org> ---
Trying 16 -> 19:
16: r143:V4SF=r144:V4SF*r145:V4SF
REG_DEAD r145:V4SF
REG_DEAD r144:V4SF
19: r147:V4SF=r143:V4SF+r148:V4SF
REG_DEAD r148:V4SF
REG_DEAD r143:V4SF
Successfully matched this instruction:
(set (reg:V4SF 147 [ vect__5.33_30 ])
(plus:V4SF (mult:V4SF (reg:V4SF 144 [ MEM <vector(4) floatD.26> [(floatD.26
*)&bD.2925] ])
(reg:V4SF 145 [ MEM <vector(4) floatD.26> [(floatD.26 *)&cD.2926]
]))
(reg:V4SF 148 [ MEM <vector(4) floatD.26> [(floatD.26 *)&aD.2924] ])))
(insn 19 18 20 2 (set (reg:V4SF 147 [ vect__5.33_30 ])
(plus:V4SF (mult:V4SF (reg:V4SF 144 [ MEM <vector(4) floatD.26>
[(floatD.26 *)&bD.2925] ])
(reg:V4SF 145 [ MEM <vector(4) floatD.26> [(floatD.26
*)&cD.2926] ]))
(reg:V4SF 148 [ MEM <vector(4) floatD.26> [(floatD.26 *)&aD.2924]
]))) :7:15 31096 {fmav4sf4}
(expr_list:REG_DEAD (reg:V4SF 144 [ MEM <vector(4) floatD.26> [(floatD.26
*)&bD.2925] ])
(expr_list:REG_DEAD (reg:V4SF 145 [ MEM <vector(4) floatD.26>
[(floatD.26 *)&cD.2926] ])
(expr_list:REG_DEAD (reg:V4SF 148 [ MEM <vector(4) floatD.26>
[(floatD.26 *)&aD.2924] ])
(nil)))))
Since r14-4126-g28569e79e34ac8. It should have been using fma instead of
plus/mult .