https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122474

Tamar Christina <tnfchris at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |tnfchris at gcc dot 
gnu.org

--- Comment #7 from Tamar Christina <tnfchris at gcc dot gnu.org> ---
Mine I guess,

Part of the problem here is that unless I'm missing something,

the checks in tree-vect-loop.cc that do operand_equal_p (neutral_op,
initial_values[0]) somewhat bogus wrt to boolean reductions?
For instance vect_transform_cycle_phi seeds them with vect_phi_initial_value,
but a boolean is 0/1, however neutral_op_for_reduction returns the neutral mask
value, e.g. -1. so 1 and -1 never match even though the are both representing
"true"

So the conditions confuse me somewhat.

I do have a patch undergoing testing for the bug I introduced, but I think the
operand_equal_p compares bail out erroneously for booleans.

Reply via email to