@@ -11,8 +11,8 @@ define <vscale x 2 x i16> @dupsext_v2i8_v2i16(i8 %src, <vscale x 2 x i16> %b) {
11
11
; CHECK-NEXT: ret
12
12
entry:
13
13
%in = sext i8 %src to i16
14
- %broadcast.splatinsert = insertelement <vscale x 2 x i16 > undef , i16 %in , i16 0
15
- %broadcast.splat = shufflevector <vscale x 2 x i16 > %broadcast.splatinsert , <vscale x 2 x i16 > undef , <vscale x 2 x i32 > zeroinitializer
14
+ %broadcast.splatinsert = insertelement <vscale x 2 x i16 > poison , i16 %in , i16 0
15
+ %broadcast.splat = shufflevector <vscale x 2 x i16 > %broadcast.splatinsert , <vscale x 2 x i16 > poison , <vscale x 2 x i32 > zeroinitializer
16
16
%out = mul nsw <vscale x 2 x i16 > %broadcast.splat , %b
17
17
ret <vscale x 2 x i16 > %out
18
18
}
@@ -27,8 +27,8 @@ define <vscale x 4 x i16> @dupsext_v4i8_v4i16(i8 %src, <vscale x 4 x i16> %b) {
27
27
; CHECK-NEXT: ret
28
28
entry:
29
29
%in = sext i8 %src to i16
30
- %broadcast.splatinsert = insertelement <vscale x 4 x i16 > undef , i16 %in , i16 0
31
- %broadcast.splat = shufflevector <vscale x 4 x i16 > %broadcast.splatinsert , <vscale x 4 x i16 > undef , <vscale x 4 x i32 > zeroinitializer
30
+ %broadcast.splatinsert = insertelement <vscale x 4 x i16 > poison , i16 %in , i16 0
31
+ %broadcast.splat = shufflevector <vscale x 4 x i16 > %broadcast.splatinsert , <vscale x 4 x i16 > poison , <vscale x 4 x i32 > zeroinitializer
32
32
%out = mul nsw <vscale x 4 x i16 > %broadcast.splat , %b
33
33
ret <vscale x 4 x i16 > %out
34
34
}
@@ -43,8 +43,8 @@ define <vscale x 8 x i16> @dupsext_v8i8_v8i16(i8 %src, <vscale x 8 x i16> %b) {
43
43
; CHECK-NEXT: ret
44
44
entry:
45
45
%in = sext i8 %src to i16
46
- %broadcast.splatinsert = insertelement <vscale x 8 x i16 > undef , i16 %in , i16 0
47
- %broadcast.splat = shufflevector <vscale x 8 x i16 > %broadcast.splatinsert , <vscale x 8 x i16 > undef , <vscale x 8 x i32 > zeroinitializer
46
+ %broadcast.splatinsert = insertelement <vscale x 8 x i16 > poison , i16 %in , i16 0
47
+ %broadcast.splat = shufflevector <vscale x 8 x i16 > %broadcast.splatinsert , <vscale x 8 x i16 > poison , <vscale x 8 x i32 > zeroinitializer
48
48
%out = mul nsw <vscale x 8 x i16 > %broadcast.splat , %b
49
49
ret <vscale x 8 x i16 > %out
50
50
}
@@ -59,8 +59,8 @@ define <vscale x 2 x i32> @dupsext_v2i8_v2i32(i8 %src, <vscale x 2 x i32> %b) {
59
59
; CHECK-NEXT: ret
60
60
entry:
61
61
%in = sext i8 %src to i32
62
- %broadcast.splatinsert = insertelement <vscale x 2 x i32 > undef , i32 %in , i32 0
63
- %broadcast.splat = shufflevector <vscale x 2 x i32 > %broadcast.splatinsert , <vscale x 2 x i32 > undef , <vscale x 2 x i32 > zeroinitializer
62
+ %broadcast.splatinsert = insertelement <vscale x 2 x i32 > poison , i32 %in , i32 0
63
+ %broadcast.splat = shufflevector <vscale x 2 x i32 > %broadcast.splatinsert , <vscale x 2 x i32 > poison , <vscale x 2 x i32 > zeroinitializer
64
64
%out = mul nsw <vscale x 2 x i32 > %broadcast.splat , %b
65
65
ret <vscale x 2 x i32 > %out
66
66
}
@@ -75,8 +75,8 @@ define <vscale x 4 x i32> @dupsext_v4i8_v4i32(i8 %src, <vscale x 4 x i32> %b) {
75
75
; CHECK-NEXT: ret
76
76
entry:
77
77
%in = sext i8 %src to i32
78
- %broadcast.splatinsert = insertelement <vscale x 4 x i32 > undef , i32 %in , i32 0
79
- %broadcast.splat = shufflevector <vscale x 4 x i32 > %broadcast.splatinsert , <vscale x 4 x i32 > undef , <vscale x 4 x i32 > zeroinitializer
78
+ %broadcast.splatinsert = insertelement <vscale x 4 x i32 > poison , i32 %in , i32 0
79
+ %broadcast.splat = shufflevector <vscale x 4 x i32 > %broadcast.splatinsert , <vscale x 4 x i32 > poison , <vscale x 4 x i32 > zeroinitializer
80
80
%out = mul nsw <vscale x 4 x i32 > %broadcast.splat , %b
81
81
ret <vscale x 4 x i32 > %out
82
82
}
@@ -92,8 +92,8 @@ define <vscale x 2 x i64> @dupsext_v2i8_v2i64(i8 %src, <vscale x 2 x i64> %b) {
92
92
; CHECK-NEXT: ret
93
93
entry:
94
94
%in = sext i8 %src to i64
95
- %broadcast.splatinsert = insertelement <vscale x 2 x i64 > undef , i64 %in , i64 0
96
- %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > undef , <vscale x 2 x i32 > zeroinitializer
95
+ %broadcast.splatinsert = insertelement <vscale x 2 x i64 > poison , i64 %in , i64 0
96
+ %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > poison , <vscale x 2 x i32 > zeroinitializer
97
97
%out = mul nsw <vscale x 2 x i64 > %broadcast.splat , %b
98
98
ret <vscale x 2 x i64 > %out
99
99
}
@@ -108,8 +108,8 @@ define <vscale x 2 x i32> @dupsext_v2i16_v2i32(i16 %src, <vscale x 2 x i32> %b)
108
108
; CHECK-NEXT: ret
109
109
entry:
110
110
%in = sext i16 %src to i32
111
- %broadcast.splatinsert = insertelement <vscale x 2 x i32 > undef , i32 %in , i32 0
112
- %broadcast.splat = shufflevector <vscale x 2 x i32 > %broadcast.splatinsert , <vscale x 2 x i32 > undef , <vscale x 2 x i32 > zeroinitializer
111
+ %broadcast.splatinsert = insertelement <vscale x 2 x i32 > poison , i32 %in , i32 0
112
+ %broadcast.splat = shufflevector <vscale x 2 x i32 > %broadcast.splatinsert , <vscale x 2 x i32 > poison , <vscale x 2 x i32 > zeroinitializer
113
113
%out = mul nsw <vscale x 2 x i32 > %broadcast.splat , %b
114
114
ret <vscale x 2 x i32 > %out
115
115
}
@@ -124,8 +124,8 @@ define <vscale x 4 x i32> @dupsext_v4i16_v4i32(i16 %src, <vscale x 4 x i32> %b)
124
124
; CHECK-NEXT: ret
125
125
entry:
126
126
%in = sext i16 %src to i32
127
- %broadcast.splatinsert = insertelement <vscale x 4 x i32 > undef , i32 %in , i32 0
128
- %broadcast.splat = shufflevector <vscale x 4 x i32 > %broadcast.splatinsert , <vscale x 4 x i32 > undef , <vscale x 4 x i32 > zeroinitializer
127
+ %broadcast.splatinsert = insertelement <vscale x 4 x i32 > poison , i32 %in , i32 0
128
+ %broadcast.splat = shufflevector <vscale x 4 x i32 > %broadcast.splatinsert , <vscale x 4 x i32 > poison , <vscale x 4 x i32 > zeroinitializer
129
129
%out = mul nsw <vscale x 4 x i32 > %broadcast.splat , %b
130
130
ret <vscale x 4 x i32 > %out
131
131
}
@@ -141,8 +141,8 @@ define <vscale x 2 x i64> @dupsext_v2i16_v2i64(i16 %src, <vscale x 2 x i64> %b)
141
141
; CHECK-NEXT: ret
142
142
entry:
143
143
%in = sext i16 %src to i64
144
- %broadcast.splatinsert = insertelement <vscale x 2 x i64 > undef , i64 %in , i64 0
145
- %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > undef , <vscale x 2 x i32 > zeroinitializer
144
+ %broadcast.splatinsert = insertelement <vscale x 2 x i64 > poison , i64 %in , i64 0
145
+ %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > poison , <vscale x 2 x i32 > zeroinitializer
146
146
%out = mul nsw <vscale x 2 x i64 > %broadcast.splat , %b
147
147
ret <vscale x 2 x i64 > %out
148
148
}
@@ -158,8 +158,8 @@ define <vscale x 2 x i64> @dupsext_v2i32_v2i64(i32 %src, <vscale x 2 x i64> %b)
158
158
; CHECK-NEXT: ret
159
159
entry:
160
160
%in = sext i32 %src to i64
161
- %broadcast.splatinsert = insertelement <vscale x 2 x i64 > undef , i64 %in , i64 0
162
- %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > undef , <vscale x 2 x i32 > zeroinitializer
161
+ %broadcast.splatinsert = insertelement <vscale x 2 x i64 > poison , i64 %in , i64 0
162
+ %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > poison , <vscale x 2 x i32 > zeroinitializer
163
163
%out = mul nsw <vscale x 2 x i64 > %broadcast.splat , %b
164
164
ret <vscale x 2 x i64 > %out
165
165
}
@@ -174,8 +174,8 @@ define <vscale x 2 x i16> @dupzext_v2i8_v2i16(i8 %src, <vscale x 2 x i16> %b) {
174
174
; CHECK-NEXT: ret
175
175
entry:
176
176
%in = zext i8 %src to i16
177
- %broadcast.splatinsert = insertelement <vscale x 2 x i16 > undef , i16 %in , i16 0
178
- %broadcast.splat = shufflevector <vscale x 2 x i16 > %broadcast.splatinsert , <vscale x 2 x i16 > undef , <vscale x 2 x i32 > zeroinitializer
177
+ %broadcast.splatinsert = insertelement <vscale x 2 x i16 > poison , i16 %in , i16 0
178
+ %broadcast.splat = shufflevector <vscale x 2 x i16 > %broadcast.splatinsert , <vscale x 2 x i16 > poison , <vscale x 2 x i32 > zeroinitializer
179
179
%out = mul nuw <vscale x 2 x i16 > %broadcast.splat , %b
180
180
ret <vscale x 2 x i16 > %out
181
181
}
@@ -190,8 +190,8 @@ define <vscale x 4 x i16> @dupzext_v4i8_v4i16(i8 %src, <vscale x 4 x i16> %b) {
190
190
; CHECK-NEXT: ret
191
191
entry:
192
192
%in = zext i8 %src to i16
193
- %broadcast.splatinsert = insertelement <vscale x 4 x i16 > undef , i16 %in , i16 0
194
- %broadcast.splat = shufflevector <vscale x 4 x i16 > %broadcast.splatinsert , <vscale x 4 x i16 > undef , <vscale x 4 x i32 > zeroinitializer
193
+ %broadcast.splatinsert = insertelement <vscale x 4 x i16 > poison , i16 %in , i16 0
194
+ %broadcast.splat = shufflevector <vscale x 4 x i16 > %broadcast.splatinsert , <vscale x 4 x i16 > poison , <vscale x 4 x i32 > zeroinitializer
195
195
%out = mul nuw <vscale x 4 x i16 > %broadcast.splat , %b
196
196
ret <vscale x 4 x i16 > %out
197
197
}
@@ -206,8 +206,8 @@ define <vscale x 8 x i16> @dupzext_v8i8_v8i16(i8 %src, <vscale x 8 x i16> %b) {
206
206
; CHECK-NEXT: ret
207
207
entry:
208
208
%in = zext i8 %src to i16
209
- %broadcast.splatinsert = insertelement <vscale x 8 x i16 > undef , i16 %in , i16 0
210
- %broadcast.splat = shufflevector <vscale x 8 x i16 > %broadcast.splatinsert , <vscale x 8 x i16 > undef , <vscale x 8 x i32 > zeroinitializer
209
+ %broadcast.splatinsert = insertelement <vscale x 8 x i16 > poison , i16 %in , i16 0
210
+ %broadcast.splat = shufflevector <vscale x 8 x i16 > %broadcast.splatinsert , <vscale x 8 x i16 > poison , <vscale x 8 x i32 > zeroinitializer
211
211
%out = mul nuw <vscale x 8 x i16 > %broadcast.splat , %b
212
212
ret <vscale x 8 x i16 > %out
213
213
}
@@ -222,8 +222,8 @@ define <vscale x 2 x i32> @dupzext_v2i8_v2i32(i8 %src, <vscale x 2 x i32> %b) {
222
222
; CHECK-NEXT: ret
223
223
entry:
224
224
%in = zext i8 %src to i32
225
- %broadcast.splatinsert = insertelement <vscale x 2 x i32 > undef , i32 %in , i32 0
226
- %broadcast.splat = shufflevector <vscale x 2 x i32 > %broadcast.splatinsert , <vscale x 2 x i32 > undef , <vscale x 2 x i32 > zeroinitializer
225
+ %broadcast.splatinsert = insertelement <vscale x 2 x i32 > poison , i32 %in , i32 0
226
+ %broadcast.splat = shufflevector <vscale x 2 x i32 > %broadcast.splatinsert , <vscale x 2 x i32 > poison , <vscale x 2 x i32 > zeroinitializer
227
227
%out = mul nuw <vscale x 2 x i32 > %broadcast.splat , %b
228
228
ret <vscale x 2 x i32 > %out
229
229
}
@@ -238,8 +238,8 @@ define <vscale x 4 x i32> @dupzext_v4i8_v4i32(i8 %src, <vscale x 4 x i32> %b) {
238
238
; CHECK-NEXT: ret
239
239
entry:
240
240
%in = zext i8 %src to i32
241
- %broadcast.splatinsert = insertelement <vscale x 4 x i32 > undef , i32 %in , i32 0
242
- %broadcast.splat = shufflevector <vscale x 4 x i32 > %broadcast.splatinsert , <vscale x 4 x i32 > undef , <vscale x 4 x i32 > zeroinitializer
241
+ %broadcast.splatinsert = insertelement <vscale x 4 x i32 > poison , i32 %in , i32 0
242
+ %broadcast.splat = shufflevector <vscale x 4 x i32 > %broadcast.splatinsert , <vscale x 4 x i32 > poison , <vscale x 4 x i32 > zeroinitializer
243
243
%out = mul nuw <vscale x 4 x i32 > %broadcast.splat , %b
244
244
ret <vscale x 4 x i32 > %out
245
245
}
@@ -255,8 +255,8 @@ define <vscale x 2 x i64> @dupzext_v2i8_v2i64(i8 %src, <vscale x 2 x i64> %b) {
255
255
; CHECK-NEXT: ret
256
256
entry:
257
257
%in = zext i8 %src to i64
258
- %broadcast.splatinsert = insertelement <vscale x 2 x i64 > undef , i64 %in , i64 0
259
- %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > undef , <vscale x 2 x i32 > zeroinitializer
258
+ %broadcast.splatinsert = insertelement <vscale x 2 x i64 > poison , i64 %in , i64 0
259
+ %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > poison , <vscale x 2 x i32 > zeroinitializer
260
260
%out = mul nuw <vscale x 2 x i64 > %broadcast.splat , %b
261
261
ret <vscale x 2 x i64 > %out
262
262
}
@@ -271,8 +271,8 @@ define <vscale x 2 x i32> @dupzext_v2i16_v2i32(i16 %src, <vscale x 2 x i32> %b)
271
271
; CHECK-NEXT: ret
272
272
entry:
273
273
%in = zext i16 %src to i32
274
- %broadcast.splatinsert = insertelement <vscale x 2 x i32 > undef , i32 %in , i32 0
275
- %broadcast.splat = shufflevector <vscale x 2 x i32 > %broadcast.splatinsert , <vscale x 2 x i32 > undef , <vscale x 2 x i32 > zeroinitializer
274
+ %broadcast.splatinsert = insertelement <vscale x 2 x i32 > poison , i32 %in , i32 0
275
+ %broadcast.splat = shufflevector <vscale x 2 x i32 > %broadcast.splatinsert , <vscale x 2 x i32 > poison , <vscale x 2 x i32 > zeroinitializer
276
276
%out = mul nuw <vscale x 2 x i32 > %broadcast.splat , %b
277
277
ret <vscale x 2 x i32 > %out
278
278
}
@@ -287,8 +287,8 @@ define <vscale x 4 x i32> @dupzext_v4i16_v4i32(i16 %src, <vscale x 4 x i32> %b)
287
287
; CHECK-NEXT: ret
288
288
entry:
289
289
%in = zext i16 %src to i32
290
- %broadcast.splatinsert = insertelement <vscale x 4 x i32 > undef , i32 %in , i32 0
291
- %broadcast.splat = shufflevector <vscale x 4 x i32 > %broadcast.splatinsert , <vscale x 4 x i32 > undef , <vscale x 4 x i32 > zeroinitializer
290
+ %broadcast.splatinsert = insertelement <vscale x 4 x i32 > poison , i32 %in , i32 0
291
+ %broadcast.splat = shufflevector <vscale x 4 x i32 > %broadcast.splatinsert , <vscale x 4 x i32 > poison , <vscale x 4 x i32 > zeroinitializer
292
292
%out = mul nuw <vscale x 4 x i32 > %broadcast.splat , %b
293
293
ret <vscale x 4 x i32 > %out
294
294
}
@@ -304,8 +304,8 @@ define <vscale x 2 x i64> @dupzext_v2i16_v2i64(i16 %src, <vscale x 2 x i64> %b)
304
304
; CHECK-NEXT: ret
305
305
entry:
306
306
%in = zext i16 %src to i64
307
- %broadcast.splatinsert = insertelement <vscale x 2 x i64 > undef , i64 %in , i64 0
308
- %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > undef , <vscale x 2 x i32 > zeroinitializer
307
+ %broadcast.splatinsert = insertelement <vscale x 2 x i64 > poison , i64 %in , i64 0
308
+ %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > poison , <vscale x 2 x i32 > zeroinitializer
309
309
%out = mul nuw <vscale x 2 x i64 > %broadcast.splat , %b
310
310
ret <vscale x 2 x i64 > %out
311
311
}
@@ -320,8 +320,8 @@ define <vscale x 2 x i64> @dupzext_v2i32_v2i64(i32 %src, <vscale x 2 x i64> %b)
320
320
; CHECK-NEXT: ret
321
321
entry:
322
322
%in = zext i32 %src to i64
323
- %broadcast.splatinsert = insertelement <vscale x 2 x i64 > undef , i64 %in , i64 0
324
- %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > undef , <vscale x 2 x i32 > zeroinitializer
323
+ %broadcast.splatinsert = insertelement <vscale x 2 x i64 > poison , i64 %in , i64 0
324
+ %broadcast.splat = shufflevector <vscale x 2 x i64 > %broadcast.splatinsert , <vscale x 2 x i64 > poison , <vscale x 2 x i32 > zeroinitializer
325
325
%out = mul nuw <vscale x 2 x i64 > %broadcast.splat , %b
326
326
ret <vscale x 2 x i64 > %out
327
327
}
0 commit comments