@@ -305,33 +305,33 @@ define <2 x i64> @lshr_constant_op1_not_undef_lane(i64 %x) {
305305define <2 x i64 > @urem_constant_op0 (i64 %x ) {
306306; CHECK-LABEL: @urem_constant_op0(
307307; CHECK-NEXT: [[BO_SCALAR:%.*]] = urem i64 5, [[X:%.*]]
308- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> poison , i64 [[BO_SCALAR]], i64 0
308+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> zeroinitializer , i64 [[BO_SCALAR]], i64 0
309309; CHECK-NEXT: ret <2 x i64> [[BO]]
310310;
311- %ins = insertelement <2 x i64 > undef , i64 %x , i32 0
311+ %ins = insertelement <2 x i64 > splat ( i64 1 ) , i64 %x , i32 0
312312 %bo = urem <2 x i64 > <i64 5 , i64 undef >, %ins
313313 ret <2 x i64 > %bo
314314}
315315
316316define <2 x i64 > @urem_constant_op0_not_undef_lane (i64 %x ) {
317317; CHECK-LABEL: @urem_constant_op0_not_undef_lane(
318318; CHECK-NEXT: [[BO_SCALAR:%.*]] = urem i64 5, [[X:%.*]]
319- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> poison , i64 [[BO_SCALAR]], i64 0
319+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> zeroinitializer , i64 [[BO_SCALAR]], i64 0
320320; CHECK-NEXT: ret <2 x i64> [[BO]]
321321;
322- %ins = insertelement <2 x i64 > undef , i64 %x , i32 0
322+ %ins = insertelement <2 x i64 > splat ( i64 1 ) , i64 %x , i32 0
323323 %bo = urem <2 x i64 > <i64 5 , i64 2 >, %ins
324324 ret <2 x i64 > %bo
325325}
326326
327327define <2 x i64 > @urem_constant_op1 (i64 %x ) {
328328; CHECK-LABEL: @urem_constant_op1(
329329; CHECK-NEXT: [[BO_SCALAR:%.*]] = urem i64 [[X:%.*]], 2
330- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> <i64 poison, i64 0> , i64 [[BO_SCALAR]], i64 1
330+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> zeroinitializer , i64 [[BO_SCALAR]], i64 1
331331; CHECK-NEXT: ret <2 x i64> [[BO]]
332332;
333333 %ins = insertelement <2 x i64 > undef , i64 %x , i32 1
334- %bo = urem <2 x i64 > %ins , <i64 undef , i64 2 >
334+ %bo = urem <2 x i64 > %ins , <i64 2 , i64 2 >
335335 ret <2 x i64 > %bo
336336}
337337
@@ -349,33 +349,33 @@ define <2 x i64> @urem_constant_op1_not_undef_lane(i64 %x) {
349349define <2 x i64 > @srem_constant_op0 (i64 %x ) {
350350; CHECK-LABEL: @srem_constant_op0(
351351; CHECK-NEXT: [[BO_SCALAR:%.*]] = srem i64 5, [[X:%.*]]
352- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> poison , i64 [[BO_SCALAR]], i64 0
352+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> zeroinitializer , i64 [[BO_SCALAR]], i64 0
353353; CHECK-NEXT: ret <2 x i64> [[BO]]
354354;
355- %ins = insertelement <2 x i64 > undef , i64 %x , i32 0
355+ %ins = insertelement <2 x i64 > splat ( i64 1 ) , i64 %x , i32 0
356356 %bo = srem <2 x i64 > <i64 5 , i64 undef >, %ins
357357 ret <2 x i64 > %bo
358358}
359359
360360define <2 x i64 > @srem_constant_op0_not_undef_lane (i64 %x ) {
361361; CHECK-LABEL: @srem_constant_op0_not_undef_lane(
362362; CHECK-NEXT: [[BO_SCALAR:%.*]] = srem i64 5, [[X:%.*]]
363- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> poison , i64 [[BO_SCALAR]], i64 0
363+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> zeroinitializer , i64 [[BO_SCALAR]], i64 0
364364; CHECK-NEXT: ret <2 x i64> [[BO]]
365365;
366- %ins = insertelement <2 x i64 > undef , i64 %x , i32 0
366+ %ins = insertelement <2 x i64 > splat ( i64 1 ) , i64 %x , i32 0
367367 %bo = srem <2 x i64 > <i64 5 , i64 2 >, %ins
368368 ret <2 x i64 > %bo
369369}
370370
371371define <2 x i64 > @srem_constant_op1 (i64 %x ) {
372372; CHECK-LABEL: @srem_constant_op1(
373373; CHECK-NEXT: [[BO_SCALAR:%.*]] = srem i64 [[X:%.*]], 2
374- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> <i64 poison, i64 0> , i64 [[BO_SCALAR]], i64 1
374+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> zeroinitializer , i64 [[BO_SCALAR]], i64 1
375375; CHECK-NEXT: ret <2 x i64> [[BO]]
376376;
377377 %ins = insertelement <2 x i64 > undef , i64 %x , i32 1
378- %bo = srem <2 x i64 > %ins , <i64 undef , i64 2 >
378+ %bo = srem <2 x i64 > %ins , <i64 2 , i64 2 >
379379 ret <2 x i64 > %bo
380380}
381381
@@ -393,33 +393,33 @@ define <2 x i64> @srem_constant_op1_not_undef_lane(i64 %x) {
393393define <2 x i64 > @udiv_constant_op0 (i64 %x ) {
394394; CHECK-LABEL: @udiv_constant_op0(
395395; CHECK-NEXT: [[BO_SCALAR:%.*]] = udiv exact i64 5, [[X:%.*]]
396- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> poison , i64 [[BO_SCALAR]], i64 0
396+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> <i64 5, i64 undef> , i64 [[BO_SCALAR]], i64 0
397397; CHECK-NEXT: ret <2 x i64> [[BO]]
398398;
399- %ins = insertelement <2 x i64 > undef , i64 %x , i32 0
399+ %ins = insertelement <2 x i64 > splat ( i64 1 ) , i64 %x , i32 0
400400 %bo = udiv exact <2 x i64 > <i64 5 , i64 undef >, %ins
401401 ret <2 x i64 > %bo
402402}
403403
404404define <2 x i64 > @udiv_constant_op0_not_undef_lane (i64 %x ) {
405405; CHECK-LABEL: @udiv_constant_op0_not_undef_lane(
406406; CHECK-NEXT: [[BO_SCALAR:%.*]] = udiv exact i64 5, [[X:%.*]]
407- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> poison , i64 [[BO_SCALAR]], i64 0
407+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> <i64 5, i64 2> , i64 [[BO_SCALAR]], i64 0
408408; CHECK-NEXT: ret <2 x i64> [[BO]]
409409;
410- %ins = insertelement <2 x i64 > undef , i64 %x , i32 0
410+ %ins = insertelement <2 x i64 > splat ( i64 1 ) , i64 %x , i32 0
411411 %bo = udiv exact <2 x i64 > <i64 5 , i64 2 >, %ins
412412 ret <2 x i64 > %bo
413413}
414414
415415define <2 x i64 > @udiv_constant_op1 (i64 %x ) {
416416; CHECK-LABEL: @udiv_constant_op1(
417417; CHECK-NEXT: [[BO_SCALAR:%.*]] = udiv i64 [[X:%.*]], 2
418- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> <i64 poison, i64 0> , i64 [[BO_SCALAR]], i64 1
418+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> zeroinitializer , i64 [[BO_SCALAR]], i64 1
419419; CHECK-NEXT: ret <2 x i64> [[BO]]
420420;
421421 %ins = insertelement <2 x i64 > undef , i64 %x , i32 1
422- %bo = udiv <2 x i64 > %ins , <i64 undef , i64 2 >
422+ %bo = udiv <2 x i64 > %ins , <i64 2 , i64 2 >
423423 ret <2 x i64 > %bo
424424}
425425
@@ -437,33 +437,33 @@ define <2 x i64> @udiv_constant_op1_not_undef_lane(i64 %x) {
437437define <2 x i64 > @sdiv_constant_op0 (i64 %x ) {
438438; CHECK-LABEL: @sdiv_constant_op0(
439439; CHECK-NEXT: [[BO_SCALAR:%.*]] = sdiv i64 5, [[X:%.*]]
440- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> poison , i64 [[BO_SCALAR]], i64 0
440+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> <i64 5, i64 undef> , i64 [[BO_SCALAR]], i64 0
441441; CHECK-NEXT: ret <2 x i64> [[BO]]
442442;
443- %ins = insertelement <2 x i64 > undef , i64 %x , i32 0
443+ %ins = insertelement <2 x i64 > splat ( i64 1 ) , i64 %x , i32 0
444444 %bo = sdiv <2 x i64 > <i64 5 , i64 undef >, %ins
445445 ret <2 x i64 > %bo
446446}
447447
448448define <2 x i64 > @sdiv_constant_op0_not_undef_lane (i64 %x ) {
449449; CHECK-LABEL: @sdiv_constant_op0_not_undef_lane(
450450; CHECK-NEXT: [[BO_SCALAR:%.*]] = sdiv i64 5, [[X:%.*]]
451- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> poison , i64 [[BO_SCALAR]], i64 0
451+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> <i64 5, i64 2> , i64 [[BO_SCALAR]], i64 0
452452; CHECK-NEXT: ret <2 x i64> [[BO]]
453453;
454- %ins = insertelement <2 x i64 > undef , i64 %x , i32 0
454+ %ins = insertelement <2 x i64 > splat ( i64 1 ) , i64 %x , i32 0
455455 %bo = sdiv <2 x i64 > <i64 5 , i64 2 >, %ins
456456 ret <2 x i64 > %bo
457457}
458458
459459define <2 x i64 > @sdiv_constant_op1 (i64 %x ) {
460460; CHECK-LABEL: @sdiv_constant_op1(
461461; CHECK-NEXT: [[BO_SCALAR:%.*]] = sdiv exact i64 [[X:%.*]], 2
462- ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> <i64 poison, i64 0> , i64 [[BO_SCALAR]], i64 1
462+ ; CHECK-NEXT: [[BO:%.*]] = insertelement <2 x i64> zeroinitializer , i64 [[BO_SCALAR]], i64 1
463463; CHECK-NEXT: ret <2 x i64> [[BO]]
464464;
465465 %ins = insertelement <2 x i64 > undef , i64 %x , i32 1
466- %bo = sdiv exact <2 x i64 > %ins , <i64 undef , i64 2 >
466+ %bo = sdiv exact <2 x i64 > %ins , <i64 2 , i64 2 >
467467 ret <2 x i64 > %bo
468468}
469469
0 commit comments