@@ -11,8 +11,8 @@ define <vscale x 2 x i16> @dupsext_v2i8_v2i16(i8 %src, <vscale x 2 x i16> %b) {
1111; CHECK-NEXT: ret
1212entry:
1313 %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
1616 %out = mul nsw <vscale x 2 x i16 > %broadcast.splat , %b
1717 ret <vscale x 2 x i16 > %out
1818}
@@ -27,8 +27,8 @@ define <vscale x 4 x i16> @dupsext_v4i8_v4i16(i8 %src, <vscale x 4 x i16> %b) {
2727; CHECK-NEXT: ret
2828entry:
2929 %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
3232 %out = mul nsw <vscale x 4 x i16 > %broadcast.splat , %b
3333 ret <vscale x 4 x i16 > %out
3434}
@@ -43,8 +43,8 @@ define <vscale x 8 x i16> @dupsext_v8i8_v8i16(i8 %src, <vscale x 8 x i16> %b) {
4343; CHECK-NEXT: ret
4444entry:
4545 %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
4848 %out = mul nsw <vscale x 8 x i16 > %broadcast.splat , %b
4949 ret <vscale x 8 x i16 > %out
5050}
@@ -59,8 +59,8 @@ define <vscale x 2 x i32> @dupsext_v2i8_v2i32(i8 %src, <vscale x 2 x i32> %b) {
5959; CHECK-NEXT: ret
6060entry:
6161 %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
6464 %out = mul nsw <vscale x 2 x i32 > %broadcast.splat , %b
6565 ret <vscale x 2 x i32 > %out
6666}
@@ -75,8 +75,8 @@ define <vscale x 4 x i32> @dupsext_v4i8_v4i32(i8 %src, <vscale x 4 x i32> %b) {
7575; CHECK-NEXT: ret
7676entry:
7777 %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
8080 %out = mul nsw <vscale x 4 x i32 > %broadcast.splat , %b
8181 ret <vscale x 4 x i32 > %out
8282}
@@ -92,8 +92,8 @@ define <vscale x 2 x i64> @dupsext_v2i8_v2i64(i8 %src, <vscale x 2 x i64> %b) {
9292; CHECK-NEXT: ret
9393entry:
9494 %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
9797 %out = mul nsw <vscale x 2 x i64 > %broadcast.splat , %b
9898 ret <vscale x 2 x i64 > %out
9999}
@@ -108,8 +108,8 @@ define <vscale x 2 x i32> @dupsext_v2i16_v2i32(i16 %src, <vscale x 2 x i32> %b)
108108; CHECK-NEXT: ret
109109entry:
110110 %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
113113 %out = mul nsw <vscale x 2 x i32 > %broadcast.splat , %b
114114 ret <vscale x 2 x i32 > %out
115115}
@@ -124,8 +124,8 @@ define <vscale x 4 x i32> @dupsext_v4i16_v4i32(i16 %src, <vscale x 4 x i32> %b)
124124; CHECK-NEXT: ret
125125entry:
126126 %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
129129 %out = mul nsw <vscale x 4 x i32 > %broadcast.splat , %b
130130 ret <vscale x 4 x i32 > %out
131131}
@@ -141,8 +141,8 @@ define <vscale x 2 x i64> @dupsext_v2i16_v2i64(i16 %src, <vscale x 2 x i64> %b)
141141; CHECK-NEXT: ret
142142entry:
143143 %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
146146 %out = mul nsw <vscale x 2 x i64 > %broadcast.splat , %b
147147 ret <vscale x 2 x i64 > %out
148148}
@@ -158,8 +158,8 @@ define <vscale x 2 x i64> @dupsext_v2i32_v2i64(i32 %src, <vscale x 2 x i64> %b)
158158; CHECK-NEXT: ret
159159entry:
160160 %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
163163 %out = mul nsw <vscale x 2 x i64 > %broadcast.splat , %b
164164 ret <vscale x 2 x i64 > %out
165165}
@@ -174,8 +174,8 @@ define <vscale x 2 x i16> @dupzext_v2i8_v2i16(i8 %src, <vscale x 2 x i16> %b) {
174174; CHECK-NEXT: ret
175175entry:
176176 %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
179179 %out = mul nuw <vscale x 2 x i16 > %broadcast.splat , %b
180180 ret <vscale x 2 x i16 > %out
181181}
@@ -190,8 +190,8 @@ define <vscale x 4 x i16> @dupzext_v4i8_v4i16(i8 %src, <vscale x 4 x i16> %b) {
190190; CHECK-NEXT: ret
191191entry:
192192 %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
195195 %out = mul nuw <vscale x 4 x i16 > %broadcast.splat , %b
196196 ret <vscale x 4 x i16 > %out
197197}
@@ -206,8 +206,8 @@ define <vscale x 8 x i16> @dupzext_v8i8_v8i16(i8 %src, <vscale x 8 x i16> %b) {
206206; CHECK-NEXT: ret
207207entry:
208208 %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
211211 %out = mul nuw <vscale x 8 x i16 > %broadcast.splat , %b
212212 ret <vscale x 8 x i16 > %out
213213}
@@ -222,8 +222,8 @@ define <vscale x 2 x i32> @dupzext_v2i8_v2i32(i8 %src, <vscale x 2 x i32> %b) {
222222; CHECK-NEXT: ret
223223entry:
224224 %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
227227 %out = mul nuw <vscale x 2 x i32 > %broadcast.splat , %b
228228 ret <vscale x 2 x i32 > %out
229229}
@@ -238,8 +238,8 @@ define <vscale x 4 x i32> @dupzext_v4i8_v4i32(i8 %src, <vscale x 4 x i32> %b) {
238238; CHECK-NEXT: ret
239239entry:
240240 %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
243243 %out = mul nuw <vscale x 4 x i32 > %broadcast.splat , %b
244244 ret <vscale x 4 x i32 > %out
245245}
@@ -255,8 +255,8 @@ define <vscale x 2 x i64> @dupzext_v2i8_v2i64(i8 %src, <vscale x 2 x i64> %b) {
255255; CHECK-NEXT: ret
256256entry:
257257 %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
260260 %out = mul nuw <vscale x 2 x i64 > %broadcast.splat , %b
261261 ret <vscale x 2 x i64 > %out
262262}
@@ -271,8 +271,8 @@ define <vscale x 2 x i32> @dupzext_v2i16_v2i32(i16 %src, <vscale x 2 x i32> %b)
271271; CHECK-NEXT: ret
272272entry:
273273 %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
276276 %out = mul nuw <vscale x 2 x i32 > %broadcast.splat , %b
277277 ret <vscale x 2 x i32 > %out
278278}
@@ -287,8 +287,8 @@ define <vscale x 4 x i32> @dupzext_v4i16_v4i32(i16 %src, <vscale x 4 x i32> %b)
287287; CHECK-NEXT: ret
288288entry:
289289 %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
292292 %out = mul nuw <vscale x 4 x i32 > %broadcast.splat , %b
293293 ret <vscale x 4 x i32 > %out
294294}
@@ -304,8 +304,8 @@ define <vscale x 2 x i64> @dupzext_v2i16_v2i64(i16 %src, <vscale x 2 x i64> %b)
304304; CHECK-NEXT: ret
305305entry:
306306 %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
309309 %out = mul nuw <vscale x 2 x i64 > %broadcast.splat , %b
310310 ret <vscale x 2 x i64 > %out
311311}
@@ -320,8 +320,8 @@ define <vscale x 2 x i64> @dupzext_v2i32_v2i64(i32 %src, <vscale x 2 x i64> %b)
320320; CHECK-NEXT: ret
321321entry:
322322 %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
325325 %out = mul nuw <vscale x 2 x i64 > %broadcast.splat , %b
326326 ret <vscale x 2 x i64 > %out
327327}
0 commit comments