https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109892
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- For a larger VF we have to (with associative math) enhance how we handle else if (!commutative_binary_op_p (orig_code, op.type) || !associative_binary_op_p (orig_code, op.type)) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, "reduction: not commutative/associative\n"); return false; and we have to verify the reduc_idx is the add.