+2009-08-09 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/41008
+ * tree-vect-loop.c (vect_is_simple_reduction): Get operands
+ from condition only in case it's a comparison. Adjust checks.
+
2009-08-09 Bernd Schmidt <bernd.schmidt@analog.com>
* tree-dfa.c (renumber_gimple_stmt_uids_in_blocks): New function.
return NULL;
}
- op3 = TREE_OPERAND (TREE_OPERAND (gimple_assign_rhs1 (def_stmt), 0), 0);
- op4 = TREE_OPERAND (TREE_OPERAND (gimple_assign_rhs1 (def_stmt), 0), 1);
+ op3 = TREE_OPERAND (gimple_assign_rhs1 (def_stmt), 0);
+ if (COMPARISON_CLASS_P (op3))
+ {
+ op4 = TREE_OPERAND (op3, 1);
+ op3 = TREE_OPERAND (op3, 0);
+ }
+
op1 = TREE_OPERAND (gimple_assign_rhs1 (def_stmt), 1);
op2 = TREE_OPERAND (gimple_assign_rhs1 (def_stmt), 2);
print_generic_expr (vect_dump, TREE_TYPE (op1), TDF_SLIM);
fprintf (vect_dump, ",");
print_generic_expr (vect_dump, TREE_TYPE (op2), TDF_SLIM);
- if (op3 && op4)
+ if (op3)
{
fprintf (vect_dump, ",");
print_generic_expr (vect_dump, TREE_TYPE (op3), TDF_SLIM);
+ }
+
+ if (op4)
+ {
fprintf (vect_dump, ",");
print_generic_expr (vect_dump, TREE_TYPE (op4), TDF_SLIM);
}