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

--- Comment #15 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Christophe Lyon from comment #13)
> Yes it breaks at the same point, again we are returning an uninitialized
> value.
> Adding annotate asm

OK, looking the fix was only half complete.  Can you try

diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
index 347dac97e49..6f32867f85a 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -6849,7 +6849,7 @@ vect_create_epilog_for_reduction (loop_vec_info
loop_vinfo,
          tree initial_def = reduc_info->reduc_initial_values[0];
          tree tmp = make_ssa_name (new_scalar_dest);
          epilog_stmt = gimple_build_assign (tmp, COND_EXPR, zcompare,
-                                            initial_def, new_temp);
+                                            initial_def, scalar_results[0]);
          gsi_insert_before (&exit_gsi, epilog_stmt, GSI_SAME_STMT);
          scalar_results[0] = tmp;
        }

Reply via email to