Skip to content

Commit 3bceff7

Browse files
committed
Rebase on top of intrinsic patch
1 parent 1035ead commit 3bceff7

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3270,10 +3270,12 @@ void VPAliasLaneMaskRecipe::execute(VPTransformState &State) {
32703270

32713271
auto *Type = SinkValue->getType();
32723272
Value *AliasMask = Builder.CreateIntrinsic(
3273-
Intrinsic::get_alias_lane_mask,
3274-
{VectorType::get(Builder.getInt1Ty(), State.VF), Type},
3275-
{SourceValue, SinkValue, Builder.getInt32(getAccessedElementSize()), Builder.getInt1(WriteAfterRead)}, nullptr,
3276-
"alias.lane.mask");
3273+
Intrinsic::experimental_get_alias_lane_mask,
3274+
{VectorType::get(Builder.getInt1Ty(), State.VF), Type,
3275+
Builder.getInt64Ty()},
3276+
{SourceValue, SinkValue, Builder.getInt64(getAccessedElementSize()),
3277+
Builder.getInt1(WriteAfterRead)},
3278+
nullptr, "alias.lane.mask");
32773279
State.set(this, AliasMask, /*IsScalar=*/false);
32783280
}
32793281

llvm/test/Transforms/LoopVectorize/AArch64/alias_mask.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ define dso_local void @alias_mask(ptr noalias %a, ptr %b, ptr %c, i64 %n) {
2828
; CHECK-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
2929
; CHECK-NEXT: [[TMP9:%.*]] = call i64 @llvm.vscale.i64()
3030
; CHECK-NEXT: [[TMP10:%.*]] = mul i64 [[TMP9]], 16
31-
; CHECK-NEXT: [[ALIAS_LANE_MASK:%.*]] = call <vscale x 16 x i1> @llvm.get.alias.lane.mask.nxv16i1.i64(i64 [[B2]], i64 [[C1]], i32 1, i1 true)
31+
; CHECK-NEXT: [[ALIAS_LANE_MASK:%.*]] = call <vscale x 16 x i1> @llvm.experimental.get.alias.lane.mask.nxv16i1.i64.i64(i64 [[B2]], i64 [[C1]], i64 1, i1 true)
3232
; CHECK-NEXT: [[TMP8:%.*]] = call i64 @llvm.vscale.i64()
3333
; CHECK-NEXT: [[TMP15:%.*]] = mul i64 [[TMP8]], 16
3434
; CHECK-NEXT: [[TMP11:%.*]] = sub i64 [[N]], [[TMP15]]
@@ -109,7 +109,7 @@ define i32 @alias_mask_read_after_write(ptr noalias %a, ptr %b, ptr %c, i64 %n)
109109
; CHECK-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
110110
; CHECK-NEXT: [[TMP10:%.*]] = call i64 @llvm.vscale.i64()
111111
; CHECK-NEXT: [[TMP11:%.*]] = mul i64 [[TMP10]], 4
112-
; CHECK-NEXT: [[ALIAS_LANE_MASK:%.*]] = call <vscale x 4 x i1> @llvm.get.alias.lane.mask.nxv4i1.i64(i64 [[C2]], i64 [[B1]], i32 4, i1 false)
112+
; CHECK-NEXT: [[ALIAS_LANE_MASK:%.*]] = call <vscale x 4 x i1> @llvm.experimental.get.alias.lane.mask.nxv4i1.i64.i64(i64 [[C2]], i64 [[B1]], i64 4, i1 false)
113113
; CHECK-NEXT: [[TMP9:%.*]] = call i64 @llvm.vscale.i64()
114114
; CHECK-NEXT: [[TMP16:%.*]] = mul i64 [[TMP9]], 4
115115
; CHECK-NEXT: [[TMP12:%.*]] = sub i64 [[N]], [[TMP16]]

llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ define void @iv_casts(ptr %dst, ptr %src, i32 %x, i64 %N) #0 {
158158
; PRED-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
159159
; PRED-NEXT: [[TMP9:%.*]] = call i64 @llvm.vscale.i64()
160160
; PRED-NEXT: [[TMP10:%.*]] = mul i64 [[TMP9]], 8
161-
; PRED-NEXT: [[ACTIVE_LANE_MASK_ALIAS:%.*]] = call <vscale x 8 x i1> @llvm.get.alias.lane.mask.nxv8i1.i64(i64 [[SRC2]], i64 [[DST1]], i32 1, i1 true)
161+
; PRED-NEXT: [[ACTIVE_LANE_MASK_ALIAS:%.*]] = call <vscale x 8 x i1> @llvm.experimental.get.alias.lane.mask.nxv8i1.i64.i64(i64 [[SRC2]], i64 [[DST1]], i64 1, i1 true)
162162
; PRED-NEXT: [[TMP11:%.*]] = call i64 @llvm.vscale.i64()
163163
; PRED-NEXT: [[TMP12:%.*]] = mul i64 [[TMP11]], 8
164164
; PRED-NEXT: [[TMP13:%.*]] = sub i64 [[TMP0]], [[TMP12]]

0 commit comments

Comments
 (0)