--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-O3" } */
+
+int func_4(int t, int b)
+{
+ for (int tt1 = 0; tt1 < 128 ; tt1 ++)
+ {
+ for (int tt = 0; tt < 128; tt ++)
+ if (b)
+ t |= 3;
+ t |= 3;
+ }
+ return t;
+}
return NULL;
}
+ /* Verify there is an inner cycle composed of the PHI phi_use_stmt
+ and the latch definition op1. */
gimple *def1 = SSA_NAME_DEF_STMT (op1);
if (gimple_bb (def1)
&& flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
&& flow_bb_inside_loop_p (loop->inner, gimple_bb (def1))
&& (is_gimple_assign (def1) || is_gimple_call (def1))
&& is_a <gphi *> (phi_use_stmt)
- && flow_bb_inside_loop_p (loop->inner, gimple_bb (phi_use_stmt)))
+ && flow_bb_inside_loop_p (loop->inner, gimple_bb (phi_use_stmt))
+ && (op1 == PHI_ARG_DEF_FROM_EDGE (phi_use_stmt,
+ loop_latch_edge (loop->inner))))
{
if (dump_enabled_p ())
report_vect_op (MSG_NOTE, def_stmt,