You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[LLVM][test] Convert remaining instances of ConstantExpr based splats to use splat().
This is mostly NFC but some output does change due to consistently
inserting into poison rather than undef and using i64 as the index
type for inserts.
%ext1 = sext <vscale x 16 x i8> %ld1to <vscale x 16 x i16>
39
39
%ext2 = sext <vscale x 16 x i8> %ld2to <vscale x 16 x i16>
40
-
%add1 = addnuwnsw <vscale x 16 x i16> %ext1, shufflevector (<vscale x 16 x i16> insertelement (<vscale x 16 x i16> poison, i161, i640), <vscale x 16 x i16> poison, <vscale x 16 x i32> zeroinitializer)
40
+
%add1 = addnuwnsw <vscale x 16 x i16> %ext1, splat (i161)
41
41
%add2 = addnuwnsw <vscale x 16 x i16> %add1, %ext2
42
-
%shr = lshr <vscale x 16 x i16> %add2, shufflevector (<vscale x 16 x i16> insertelement (<vscale x 16 x i16> poison, i161, i640), <vscale x 16 x i16> poison, <vscale x 16 x i32> zeroinitializer)
42
+
%shr = lshr <vscale x 16 x i16> %add2, splat (i161)
43
43
%trunc = trunc <vscale x 16 x i16> %shrto <vscale x 16 x i8>
%ext1 = sext <vscale x 8 x i16> %ld1to <vscale x 8 x i64>
60
60
%ext2 = sext <vscale x 8 x i16> %ld2to <vscale x 8 x i64>
61
-
%add1 = addnuwnsw <vscale x 8 x i64> %ext1, shufflevector (<vscale x 8 x i64> insertelement (<vscale x 8 x i64> poison, i641, i640), <vscale x 8 x i64> poison, <vscale x 8 x i32> zeroinitializer)
61
+
%add1 = addnuwnsw <vscale x 8 x i64> %ext1, splat (i641)
62
62
%add2 = addnuwnsw <vscale x 8 x i64> %add1, %ext2
63
-
%shr = lshr <vscale x 8 x i64> %add2, shufflevector (<vscale x 8 x i64> insertelement (<vscale x 8 x i64> poison, i641, i640), <vscale x 8 x i64> poison, <vscale x 8 x i32> zeroinitializer)
63
+
%shr = lshr <vscale x 8 x i64> %add2, splat (i641)
64
64
%trunc = trunc <vscale x 8 x i64> %shrto <vscale x 8 x i16>
%ext1 = zext <vscale x 16 x i8> %ld1to <vscale x 16 x i64>
104
104
%ext2 = zext <vscale x 16 x i8> %ld2to <vscale x 16 x i64>
105
-
%add1 = addnuwnsw <vscale x 16 x i64> %ext1, shufflevector (<vscale x 16 x i64> insertelement (<vscale x 16 x i64> poison, i641, i640), <vscale x 16 x i64> poison, <vscale x 16 x i32> zeroinitializer)
105
+
%add1 = addnuwnsw <vscale x 16 x i64> %ext1, splat (i641)
106
106
%add2 = addnuwnsw <vscale x 16 x i64> %add1, %ext2
107
-
%shr = lshr <vscale x 16 x i64> %add2, shufflevector (<vscale x 16 x i64> insertelement (<vscale x 16 x i64> poison, i641, i640), <vscale x 16 x i64> poison, <vscale x 16 x i32> zeroinitializer)
107
+
%shr = lshr <vscale x 16 x i64> %add2, splat (i641)
108
108
%trunc = trunc <vscale x 16 x i64> %shrto <vscale x 16 x i8>
%ext1 = zext <vscale x 8 x i16> %ld1to <vscale x 8 x i32>
125
125
%ext2 = zext <vscale x 8 x i16> %ld2to <vscale x 8 x i32>
126
-
%add1 = addnuwnsw <vscale x 8 x i32> %ext1, shufflevector (<vscale x 8 x i32> insertelement (<vscale x 8 x i32> poison, i321, i640), <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer)
126
+
%add1 = addnuwnsw <vscale x 8 x i32> %ext1, splat (i321)
127
127
%add2 = addnuwnsw <vscale x 8 x i32> %add1, %ext2
128
-
%shr = lshr <vscale x 8 x i32> %add2, shufflevector (<vscale x 8 x i32> insertelement (<vscale x 8 x i32> poison, i321, i640), <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer)
128
+
%shr = lshr <vscale x 8 x i32> %add2, splat (i321)
129
129
%trunc = trunc <vscale x 8 x i32> %shrto <vscale x 8 x i16>
%ext1 = sext <vscale x 16 x i8> %ld1to <vscale x 16 x i16>
148
148
%ext2 = zext <vscale x 16 x i8> %ld2to <vscale x 16 x i16>
149
-
%add1 = addnuwnsw <vscale x 16 x i16> %ext1, shufflevector (<vscale x 16 x i16> insertelement (<vscale x 16 x i16> poison, i161, i640), <vscale x 16 x i16> poison, <vscale x 16 x i32> zeroinitializer)
149
+
%add1 = addnuwnsw <vscale x 16 x i16> %ext1, splat (i161)
150
150
%add2 = addnuwnsw <vscale x 16 x i16> %add1, %ext2
151
-
%shr = lshr <vscale x 16 x i16> %add2, shufflevector (<vscale x 16 x i16> insertelement (<vscale x 16 x i16> poison, i161, i640), <vscale x 16 x i16> poison, <vscale x 16 x i32> zeroinitializer)
151
+
%shr = lshr <vscale x 16 x i16> %add2, splat (i161)
152
152
%trunc = trunc <vscale x 16 x i16> %shrto <vscale x 16 x i8>
%ext1 = sext <vscale x 8 x i16> %ld1to <vscale x 8 x i32>
169
169
%ext2 = sext <vscale x 8 x i16> %ld2to <vscale x 8 x i32>
170
-
%add1 = addnuwnsw <vscale x 8 x i32> %ext1, shufflevector (<vscale x 8 x i32> insertelement (<vscale x 8 x i32> poison, i321, i640), <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer)
170
+
%add1 = addnuwnsw <vscale x 8 x i32> %ext1, splat (i321)
171
171
%add2 = addnuwnsw <vscale x 8 x i32> %add1, %ext2
172
-
%shr = lshr <vscale x 8 x i32> %add2, shufflevector (<vscale x 8 x i32> insertelement (<vscale x 8 x i32> poison, i321, i640), <vscale x 8 x i32> poison, <vscale x 8 x i32> zeroinitializer)
172
+
%shr = lshr <vscale x 8 x i32> %add2, splat (i321)
173
173
%trunc = trunc <vscale x 8 x i32> %shrto <vscale x 8 x i16>
174
174
%add.res = addnuwnsw <vscale x 8 x i32> %add1, %add2
175
175
%res = trunc <vscale x 8 x i32> %add.resto <vscale x 8 x i16>
%ext1 = zext <vscale x 16 x i8> %ld1to <vscale x 16 x i16>
192
192
%ext2 = zext <vscale x 16 x i8> %ld2to <vscale x 16 x i16>
193
-
%add1 = addnuwnsw <vscale x 16 x i16> %ext1, shufflevector (<vscale x 16 x i16> insertelement (<vscale x 16 x i16> poison, i161, i640), <vscale x 16 x i16> poison, <vscale x 16 x i32> zeroinitializer)
193
+
%add1 = addnuwnsw <vscale x 16 x i16> %ext1, splat (i161)
194
194
%add2 = addnuwnsw <vscale x 16 x i16> %add1, %ext2
195
-
%shr = lshr <vscale x 16 x i16> %add2, shufflevector (<vscale x 16 x i16> insertelement (<vscale x 16 x i16> poison, i161, i640), <vscale x 16 x i16> poison, <vscale x 16 x i32> zeroinitializer)
195
+
%shr = lshr <vscale x 16 x i16> %add2, splat (i161)
196
196
%trunc = trunc <vscale x 16 x i16> %shrto <vscale x 16 x i8>
197
197
%add3 = addnuwnsw <vscale x 16 x i16> %shr, %add2
198
198
%res = trunc <vscale x 16 x i16> %add3to <vscale x 16 x i8>
Copy file name to clipboardExpand all lines: llvm/test/CodeGen/Generic/expand-vp-load-store.ll
+4-4
Original file line number
Diff line number
Diff line change
@@ -127,7 +127,7 @@ define <vscale x 1 x i64> @vpload_nxv1i64_allones_mask(ptr %ptr, i32 zeroext %ev
127
127
; CHECK-NEXT: [[TMP3:%.*]] = call <vscale x 1 x i64> @llvm.masked.load.nxv1i64.p0(ptr [[PTR:%.*]], i32 1, <vscale x 1 x i1> [[TMP2]], <vscale x 1 x i64> poison)
128
128
; CHECK-NEXT: ret <vscale x 1 x i64> [[TMP3]]
129
129
;
130
-
%load = call <vscale x 1 x i64> @llvm.vp.load.nxv1i64.p0(ptr%ptr, <vscale x 1 x i1> shufflevector (<vscale x 1 x i1> insertelement (<vscale x 1 x i1> poison, i1true, i640), <vscale x 1 x i1> poison, <vscale x 1 x i32> zeroinitializer), i32%evl)
130
+
%load = call <vscale x 1 x i64> @llvm.vp.load.nxv1i64.p0(ptr%ptr, <vscale x 1 x i1> splat (i1true), i32%evl)
131
131
ret <vscale x 1 x i64> %load
132
132
}
133
133
@@ -140,7 +140,7 @@ define <vscale x 1 x i64> @vpload_nxv1i64_allones_mask_vscale(ptr %ptr) {
140
140
;
141
141
%vscale = calli32@llvm.vscale.i32()
142
142
%vlmax = mulnuwi32%vscale, 1
143
-
%load = call <vscale x 1 x i64> @llvm.vp.load.nxv1i64.p0(ptr%ptr, <vscale x 1 x i1> shufflevector (<vscale x 1 x i1> insertelement (<vscale x 1 x i1> poison, i1true, i640), <vscale x 1 x i1> poison, <vscale x 1 x i32> zeroinitializer), i32%vlmax)
143
+
%load = call <vscale x 1 x i64> @llvm.vp.load.nxv1i64.p0(ptr%ptr, <vscale x 1 x i1> splat (i1true), i32%vlmax)
144
144
ret <vscale x 1 x i64> %load
145
145
}
146
146
@@ -179,7 +179,7 @@ define void @vpstore_nxv1i64_allones_mask(<vscale x 1 x i64> %val, ptr %ptr, i32
179
179
; CHECK-NEXT: call void @llvm.masked.store.nxv1i64.p0(<vscale x 1 x i64> [[VAL:%.*]], ptr [[PTR:%.*]], i32 1, <vscale x 1 x i1> [[TMP2]])
180
180
; CHECK-NEXT: ret void
181
181
;
182
-
callvoid@llvm.vp.store.nxv1i64.p0(<vscale x 1 x i64> %val, ptr%ptr, <vscale x 1 x i1> shufflevector (<vscale x 1 x i1> insertelement (<vscale x 1 x i1> poison, i1true, i640), <vscale x 1 x i1> poison, <vscale x 1 x i32> zeroinitializer), i32%evl)
182
+
callvoid@llvm.vp.store.nxv1i64.p0(<vscale x 1 x i64> %val, ptr%ptr, <vscale x 1 x i1> splat (i1true), i32%evl)
183
183
retvoid
184
184
}
185
185
@@ -192,7 +192,7 @@ define void @vpstore_nxv1i64_allones_mask_vscale(<vscale x 1 x i64> %val, ptr %p
192
192
;
193
193
%vscale = calli32@llvm.vscale.i32()
194
194
%vlmax = mulnuwi32%vscale, 1
195
-
callvoid@llvm.vp.store.nxv1i64.p0(<vscale x 1 x i64> %val, ptr%ptr, <vscale x 1 x i1> shufflevector (<vscale x 1 x i1> insertelement (<vscale x 1 x i1> poison, i1true, i640), <vscale x 1 x i1> poison, <vscale x 1 x i32> zeroinitializer), i32%vlmax)
195
+
callvoid@llvm.vp.store.nxv1i64.p0(<vscale x 1 x i64> %val, ptr%ptr, <vscale x 1 x i1> splat (i1true), i32%vlmax)
Copy file name to clipboardExpand all lines: llvm/test/Transforms/AggressiveInstCombine/vector-or-load.ll
+2-2
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ define <vscale x 8 x i16> @or-load-scalable-vector(ptr %p1) {
35
35
; CHECK-NEXT: [[L2:%.*]] = load <vscale x 8 x i8>, ptr [[P2]], align 1
36
36
; CHECK-NEXT: [[E1:%.*]] = zext <vscale x 8 x i8> [[L1]] to <vscale x 8 x i16>
37
37
; CHECK-NEXT: [[E2:%.*]] = zext <vscale x 8 x i8> [[L2]] to <vscale x 8 x i16>
38
-
; CHECK-NEXT: [[S2:%.*]] = shl <vscale x 8 x i16> [[E2]], shufflevector (<vscale x 8 x i16> insertelement (<vscale x 8 x i16> poison, i16 8, i32 0), <vscale x 8 x i16> poison, <vscale x 8 x i32> zeroinitializer)
38
+
; CHECK-NEXT: [[S2:%.*]] = shl <vscale x 8 x i16> [[E2]], shufflevector (<vscale x 8 x i16> insertelement (<vscale x 8 x i16> poison, i16 8, i64 0), <vscale x 8 x i16> poison, <vscale x 8 x i32> zeroinitializer)
39
39
; CHECK-NEXT: [[OR:%.*]] = or <vscale x 8 x i16> [[E1]], [[S2]]
40
40
; CHECK-NEXT: ret <vscale x 8 x i16> [[OR]]
41
41
;
@@ -44,7 +44,7 @@ define <vscale x 8 x i16> @or-load-scalable-vector(ptr %p1) {
44
44
%l2 = load <vscale x 8 x i8>, ptr%p2, align1
45
45
%e1 = zext <vscale x 8 x i8> %l1to <vscale x 8 x i16>
46
46
%e2 = zext <vscale x 8 x i8> %l2to <vscale x 8 x i16>
47
-
%s2 = shl <vscale x 8 x i16> %e2, shufflevector (<vscale x 8 x i16> insertelement (<vscale x 8 x i16> poison, i168, i320), <vscale x 8 x i16> poison, <vscale x 8 x i32> zeroinitializer)
Copy file name to clipboardExpand all lines: llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
+2-2
Original file line number
Diff line number
Diff line change
@@ -71,15 +71,15 @@ define void @callslotoptzn(<vscale x 4 x float> %val, ptr %out) {
71
71
; CHECK-NEXT: [[ALLOC:%.*]] = alloca <vscale x 4 x float>, align 16
72
72
; CHECK-NEXT: [[IDX:%.*]] = tail call <vscale x 4 x i32> @llvm.experimental.stepvector.nxv4i32()
73
73
; CHECK-NEXT: [[STRIDE:%.*]] = getelementptr inbounds float, ptr [[ALLOC]], <vscale x 4 x i32> [[IDX]]
74
-
; CHECK-NEXT: call void @llvm.masked.scatter.nxv4f32.nxv4p0(<vscale x 4 x float> [[VAL:%.*]], <vscale x 4 x ptr> [[STRIDE]], i32 4, <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i32 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))
74
+
; CHECK-NEXT: call void @llvm.masked.scatter.nxv4f32.nxv4p0(<vscale x 4 x float> [[VAL:%.*]], <vscale x 4 x ptr> [[STRIDE]], i32 4, <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1 true, i64 0), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))
75
75
; CHECK-NEXT: [[LI:%.*]] = load <vscale x 4 x float>, ptr [[ALLOC]], align 4
76
76
; CHECK-NEXT: store <vscale x 4 x float> [[LI]], ptr [[OUT:%.*]], align 4
77
77
; CHECK-NEXT: ret void
78
78
;
79
79
%alloc = alloca <vscale x 4 x float>, align16
80
80
%idx = tailcall <vscale x 4 x i32> @llvm.experimental.stepvector.nxv4i32()
81
81
%stride = getelementptrinboundsfloat, ptr%alloc, <vscale x 4 x i32> %idx
82
-
callvoid@llvm.masked.scatter.nxv4f32.nxv4p0(<vscale x 4 x float> %val, <vscale x 4 x ptr> %stride, i324, <vscale x 4 x i1> shufflevector (<vscale x 4 x i1> insertelement (<vscale x 4 x i1> poison, i1true, i320), <vscale x 4 x i1> poison, <vscale x 4 x i32> zeroinitializer))
82
+
callvoid@llvm.masked.scatter.nxv4f32.nxv4p0(<vscale x 4 x float> %val, <vscale x 4 x ptr> %stride, i324, <vscale x 4 x i1> splat (i1true))
83
83
%li = load <vscale x 4 x float>, ptr%alloc, align4
0 commit comments