diff mbox series

tree-optimization/115493 - fix wrong code with SLP induction cond reduction

Message ID 20240617140443.45C6B139AB@imap1.dmz-prg2.suse.org
State New
Headers show
Series tree-optimization/115493 - fix wrong code with SLP induction cond reduction | expand

Commit Message

Richard Biener June 17, 2024, 2:04 p.m. UTC
The following fixes a bad final value being used when doing single-lane
SLP integer induction cond reduction vectorization.

Bootstrap and regtest running on x86_64-unknown-linux-gnu.

	PR tree-optimization/115493
	* tree-vect-loop.cc (vect_create_epilog_for_reduction): Use
	the first scalar result.
---
 gcc/tree-vect-loop.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc
index d9a2ad69484..7c79e9da106 100644
--- a/gcc/tree-vect-loop.cc
+++ b/gcc/tree-vect-loop.cc
@@ -6843,8 +6843,8 @@  vect_create_epilog_for_reduction (loop_vec_info loop_vinfo,
 	     with the original initial value, unless induc_val is
 	     the same as initial_def already.  */
 	  tree zcompare = make_ssa_name (boolean_type_node);
-	  epilog_stmt = gimple_build_assign (zcompare, EQ_EXPR, new_temp,
-					     induc_val);
+	  epilog_stmt = gimple_build_assign (zcompare, EQ_EXPR,
+					     scalar_results[0], induc_val);
 	  gsi_insert_before (&exit_gsi, epilog_stmt, GSI_SAME_STMT);
 	  tree initial_def = reduc_info->reduc_initial_values[0];
 	  tree tmp = make_ssa_name (new_scalar_dest);