4949
5050define void @ScalableVectorTestFullyOverlapping (ptr %arg , i32 %i ) vscale_range(1 , 2 ) {
5151; CHECK-LABEL: @ScalableVectorTestFullyOverlapping(
52- ; CHECK-NEXT: bb:
5352; CHECK-NEXT: [[I_1:%.*]] = add nuw nsw i32 [[I:%.*]], 1
5453; CHECK-NEXT: [[EXT_I_1:%.*]] = zext i32 [[I_1]] to i64
5554; CHECK-NEXT: [[GEP_ARG_I_1:%.*]] = getelementptr inbounds float, ptr [[ARG:%.*]], i64 [[EXT_I_1]]
@@ -59,7 +58,6 @@ define void @ScalableVectorTestFullyOverlapping(ptr %arg, i32 %i) vscale_range(1
5958; CHECK-NEXT: store <vscale x 2 x float> zeroinitializer, ptr [[GEP_ARG_I]], align 8
6059; CHECK-NEXT: ret void
6160;
62- bb:
6361 %i.1 = add nuw nsw i32 %i , 1
6462 %ext.i.1 = zext i32 %i.1 to i64
6563 %gep.arg.i.1 = getelementptr inbounds float , ptr %arg , i64 %ext.i.1
7270
7371define void @ScalableVectorTestFullyOverlapping2 (ptr %arg , i32 %i ) {
7472; CHECK-LABEL: @ScalableVectorTestFullyOverlapping2(
75- ; CHECK-NEXT: bb:
7673; CHECK-NEXT: [[I_1:%.*]] = add nuw nsw i32 [[I:%.*]], 1
7774; CHECK-NEXT: [[EXT_I_1:%.*]] = zext i32 [[I_1]] to i64
7875; CHECK-NEXT: [[GEP_ARG_I_1:%.*]] = getelementptr inbounds float, ptr [[ARG:%.*]], i64 [[EXT_I_1]]
@@ -82,7 +79,6 @@ define void @ScalableVectorTestFullyOverlapping2(ptr %arg, i32 %i) {
8279; CHECK-NEXT: store <vscale x 4 x float> zeroinitializer, ptr [[GEP_ARG_I]], align 16
8380; CHECK-NEXT: ret void
8481;
85- bb:
8682 %i.1 = add nuw nsw i32 %i , 1
8783 %ext.i.1 = zext i32 %i.1 to i64
8884 %gep.arg.i.1 = getelementptr inbounds float , ptr %arg , i64 %ext.i.1
9591
9692define void @ScalableVectorTestNonOverlapping (ptr %arg , i32 %i ) vscale_range(1 , 2 ) {
9793; CHECK-LABEL: @ScalableVectorTestNonOverlapping(
98- ; CHECK-NEXT: bb:
9994; CHECK-NEXT: [[I_10:%.*]] = add nuw nsw i32 [[I:%.*]], 10
10095; CHECK-NEXT: [[EXT_I_10:%.*]] = zext i32 [[I_10]] to i64
10196; CHECK-NEXT: [[GEP_ARG_I_10:%.*]] = getelementptr inbounds float, ptr [[ARG:%.*]], i64 [[EXT_I_10]]
@@ -105,7 +100,6 @@ define void @ScalableVectorTestNonOverlapping(ptr %arg, i32 %i) vscale_range(1,
105100; CHECK-NEXT: store <vscale x 2 x float> zeroinitializer, ptr [[GEP_ARG_I]], align 8
106101; CHECK-NEXT: ret void
107102;
108- bb:
109103 %i.10 = add nuw nsw i32 %i , 10
110104 %ext.i.10 = zext i32 %i.10 to i64
111105 %gep.arg.i.10 = getelementptr inbounds float , ptr %arg , i64 %ext.i.10
118112
119113define void @ScalableVectorTestNonOverlapping2 (ptr %arg , i32 %i ) vscale_range(1 , 2 ) {
120114; CHECK-LABEL: @ScalableVectorTestNonOverlapping2(
121- ; CHECK-NEXT: bb:
122115; CHECK-NEXT: [[I_10:%.*]] = add nuw nsw i32 [[I:%.*]], 10
123116; CHECK-NEXT: [[EXT_I_10:%.*]] = zext i32 [[I_10]] to i64
124117; CHECK-NEXT: [[GEP_ARG_I_10:%.*]] = getelementptr inbounds float, ptr [[ARG:%.*]], i64 [[EXT_I_10]]
@@ -128,7 +121,6 @@ define void @ScalableVectorTestNonOverlapping2(ptr %arg, i32 %i) vscale_range(1,
128121; CHECK-NEXT: store <vscale x 4 x float> zeroinitializer, ptr [[GEP_ARG_I]], align 16
129122; CHECK-NEXT: ret void
130123;
131- bb:
132124 %i.10 = add nuw nsw i32 %i , 10
133125 %ext.i.10 = zext i32 %i.10 to i64
134126 %gep.arg.i.10 = getelementptr inbounds float , ptr %arg , i64 %ext.i.10
@@ -195,7 +187,6 @@ define void @ScalableVectorTestPartiallyOverlapping(ptr %arg, i32 %i) {
195187; and won't fully clobber the original store.
196188;
197189; CHECK-LABEL: @ScalableVectorTestPartiallyOverlapping(
198- ; CHECK-NEXT: bb:
199190; CHECK-NEXT: [[EXT_I:%.*]] = zext i32 [[I:%.*]] to i64
200191; CHECK-NEXT: [[GEP_ARG_I:%.*]] = getelementptr inbounds float, ptr [[ARG:%.*]], i64 [[EXT_I]]
201192; CHECK-NEXT: store <vscale x 2 x float> zeroinitializer, ptr [[GEP_ARG_I]], align 8
@@ -205,7 +196,6 @@ define void @ScalableVectorTestPartiallyOverlapping(ptr %arg, i32 %i) {
205196; CHECK-NEXT: store <vscale x 2 x float> zeroinitializer, ptr [[GEP_ARG_I_1]], align 8
206197; CHECK-NEXT: ret void
207198;
208- bb:
209199 %ext.i = zext i32 %i to i64
210200 %gep.arg.i = getelementptr inbounds float , ptr %arg , i64 %ext.i
211201 store <vscale x 2 x float > zeroinitializer , ptr %gep.arg.i
0 commit comments