]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix SIMD clone SLP a bit more
authorRichard Biener <rguenther@suse.de>
Wed, 8 Nov 2023 15:32:11 +0000 (16:32 +0100)
committerRichard Biener <rguenther@suse.de>
Thu, 9 Nov 2023 07:44:06 +0000 (08:44 +0100)
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

index 913a4fb08ed15c9588795b7e5e1e23f1d781a133..8cd02afdeab56de475266131eb6aa110bb0e1b21 100644 (file)
@@ -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: