From f586515accd0bafffba88ab906c6c43534a2ad94 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 8 Nov 2023 16:32:11 +0100 Subject: [PATCH] Fix SIMD clone SLP a bit more The following fixes an omission, mangling the non-SLP and SLP simd-clone info. * tree-vect-stmts.cc (vectorizable_simd_clone_call): Record to the correct simd_clone_info. --- gcc/tree-vect-stmts.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index 913a4fb08ed..8cd02afdeab 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -4388,16 +4388,15 @@ vectorizable_simd_clone_call (vec_info *vinfo, stmt_vec_info stmt_info, case SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP: case SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP: { - auto &clone_info = STMT_VINFO_SIMD_CLONE_INFO (stmt_info); - clone_info.safe_grow_cleared (i * 3 + 1, true); - clone_info.safe_push (arginfo[i].op); + simd_clone_info.safe_grow_cleared (i * 3 + 1, true); + simd_clone_info.safe_push (arginfo[i].op); tree lst = POINTER_TYPE_P (TREE_TYPE (arginfo[i].op)) ? size_type_node : TREE_TYPE (arginfo[i].op); tree ls = build_int_cst (lst, arginfo[i].linear_step); - clone_info.safe_push (ls); + simd_clone_info.safe_push (ls); tree sll = arginfo[i].simd_lane_linear ? boolean_true_node : boolean_false_node; - clone_info.safe_push (sll); + simd_clone_info.safe_push (sll); } break; case SIMD_CLONE_ARG_TYPE_MASK: