aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-vect-loop.cc')
-rw-r--r--gcc/tree-vect-loop.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
index 50cdc2a..576a69c 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -7578,7 +7578,9 @@ vectorizable_reduction (loop_vec_info loop_vinfo,
if ((double_reduc || neutral_op)
&& !nunits_out.is_constant ()
&& (SLP_TREE_LANES (slp_node) != 1 && !reduc_chain)
- && !operand_equal_p (neutral_op, vect_phi_initial_value (reduc_def_phi))
+ && (!neutral_op
+ || !operand_equal_p (neutral_op,
+ vect_phi_initial_value (reduc_def_phi)))
&& !direct_internal_fn_supported_p (IFN_VEC_SHL_INSERT,
vectype_out, OPTIMIZE_FOR_SPEED))
{