@@ -338,12 +338,12 @@ define <8 x i8> @extrause_add(<8 x i8> %a, <8 x i8> %b) {
338338
339339define <8 x i8 > @extrause_shuffle (<8 x i8 > %a , <8 x i8 > %b ) {
340340; CHECK-LABEL: @extrause_shuffle(
341- ; CHECK-NEXT: [[AB:%.*]] = shufflevector <8 x i8> [[B:%.*]], <8 x i8> poison, <4 x i32> <i32 3, i32 2, i32 1, i32 0>
341+ ; CHECK-NEXT: [[AB:%.*]] = shufflevector <8 x i8> [[A:%.*]], <8 x i8> poison, <4 x i32> <i32 3, i32 2, i32 1, i32 0>
342+ ; CHECK-NEXT: [[AT:%.*]] = shufflevector <8 x i8> [[A]], <8 x i8> poison, <4 x i32> <i32 7, i32 6, i32 5, i32 4>
343+ ; CHECK-NEXT: [[BB:%.*]] = shufflevector <8 x i8> [[B:%.*]], <8 x i8> poison, <4 x i32> <i32 3, i32 2, i32 1, i32 0>
342344; CHECK-NEXT: [[BT:%.*]] = shufflevector <8 x i8> [[B]], <8 x i8> poison, <4 x i32> <i32 7, i32 6, i32 5, i32 4>
343- ; CHECK-NEXT: [[BB:%.*]] = shufflevector <8 x i8> [[B1:%.*]], <8 x i8> poison, <4 x i32> <i32 3, i32 2, i32 1, i32 0>
344- ; CHECK-NEXT: [[BT1:%.*]] = shufflevector <8 x i8> [[B1]], <8 x i8> poison, <4 x i32> <i32 7, i32 6, i32 5, i32 4>
345- ; CHECK-NEXT: call void @use(<4 x i8> [[BT1]])
346- ; CHECK-NEXT: [[ABT:%.*]] = add <4 x i8> [[BT]], [[BT1]]
345+ ; CHECK-NEXT: call void @use(<4 x i8> [[BT]])
346+ ; CHECK-NEXT: [[ABT:%.*]] = add <4 x i8> [[AT]], [[BT]]
347347; CHECK-NEXT: [[ABB:%.*]] = add <4 x i8> [[AB]], [[BB]]
348348; CHECK-NEXT: [[R:%.*]] = shufflevector <4 x i8> [[ABT]], <4 x i8> [[ABB]], <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>
349349; CHECK-NEXT: ret <8 x i8> [[R]]
@@ -431,8 +431,8 @@ define void @exttrunc(<8 x i32> %a, <8 x i32> %b, ptr %p) {
431431; CHECK-NEXT: [[ABT:%.*]] = add <4 x i64> [[AT1]], [[BT1]]
432432; CHECK-NEXT: [[ABB1:%.*]] = trunc <4 x i64> [[ABB]] to <4 x i32>
433433; CHECK-NEXT: [[ABT1:%.*]] = trunc <4 x i64> [[ABT]] to <4 x i32>
434- ; CHECK-NEXT: [[TMP1 :%.*]] = shufflevector <4 x i32> [[ABB1]], <4 x i32> [[ABT1]], <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
435- ; CHECK-NEXT: store <8 x i32> [[TMP1 ]], ptr [[P:%.*]], align 32
434+ ; CHECK-NEXT: [[R :%.*]] = shufflevector <4 x i32> [[ABB1]], <4 x i32> [[ABT1]], <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
435+ ; CHECK-NEXT: store <8 x i32> [[R ]], ptr [[P:%.*]], align 32
436436; CHECK-NEXT: ret void
437437;
438438 %ab = shufflevector <8 x i32 > %a , <8 x i32 > poison, <4 x i32 > <i32 0 , i32 2 , i32 4 , i32 6 >
@@ -460,22 +460,22 @@ define <8 x i8> @intrinsics_minmax(<8 x i8> %a, <8 x i8> %b) {
460460; CHECK-NEXT: [[BT:%.*]] = shufflevector <8 x i8> [[B]], <8 x i8> poison, <4 x i32> <i32 7, i32 6, i32 5, i32 4>
461461; CHECK-NEXT: [[ABT:%.*]] = call <4 x i8> @llvm.smin.v4i8(<4 x i8> [[AT]], <4 x i8> [[BT]])
462462; CHECK-NEXT: [[ABB:%.*]] = call <4 x i8> @llvm.smin.v4i8(<4 x i8> [[AB]], <4 x i8> [[BB]])
463- ; CHECK-NEXT: [[ABT1:%.*]] = call <4 x i8> @llvm.smix .v4i8(<4 x i8> [[ABT]], <4 x i8> [[BT]])
463+ ; CHECK-NEXT: [[ABT1:%.*]] = call <4 x i8> @llvm.smin .v4i8(<4 x i8> [[ABT]], <4 x i8> [[BT]])
464464; CHECK-NEXT: [[ABB1:%.*]] = call <4 x i8> @llvm.smax.v4i8(<4 x i8> [[ABB]], <4 x i8> [[BB]])
465465; CHECK-NEXT: [[ABT2:%.*]] = call <4 x i8> @llvm.umin.v4i8(<4 x i8> [[ABT1]], <4 x i8> [[BT]])
466466; CHECK-NEXT: [[ABB2:%.*]] = call <4 x i8> @llvm.umin.v4i8(<4 x i8> [[ABB1]], <4 x i8> [[BB]])
467467; CHECK-NEXT: [[ABT3:%.*]] = call <4 x i8> @llvm.umax.v4i8(<4 x i8> [[ABT2]], <4 x i8> [[BT]])
468468; CHECK-NEXT: [[ABB3:%.*]] = call <4 x i8> @llvm.umax.v4i8(<4 x i8> [[ABB2]], <4 x i8> [[BB]])
469- ; CHECK-NEXT: [[R1 :%.*]] = shufflevector <4 x i8> [[ABT3]], <4 x i8> [[ABB3]], <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>
470- ; CHECK-NEXT: ret <8 x i8> [[R1 ]]
469+ ; CHECK-NEXT: [[R :%.*]] = shufflevector <4 x i8> [[ABT3]], <4 x i8> [[ABB3]], <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>
470+ ; CHECK-NEXT: ret <8 x i8> [[R ]]
471471;
472472 %ab = shufflevector <8 x i8 > %a , <8 x i8 > poison, <4 x i32 > <i32 3 , i32 2 , i32 1 , i32 0 >
473473 %at = shufflevector <8 x i8 > %a , <8 x i8 > poison, <4 x i32 > <i32 7 , i32 6 , i32 5 , i32 4 >
474474 %bb = shufflevector <8 x i8 > %b , <8 x i8 > poison, <4 x i32 > <i32 3 , i32 2 , i32 1 , i32 0 >
475475 %bt = shufflevector <8 x i8 > %b , <8 x i8 > poison, <4 x i32 > <i32 7 , i32 6 , i32 5 , i32 4 >
476476 %abt = call <4 x i8 > @llvm.smin.v4i8 (<4 x i8 > %at , <4 x i8 > %bt )
477477 %abb = call <4 x i8 > @llvm.smin.v4i8 (<4 x i8 > %ab , <4 x i8 > %bb )
478- %abt1 = call <4 x i8 > @llvm.smix .v4i8 (<4 x i8 > %abt , <4 x i8 > %bt )
478+ %abt1 = call <4 x i8 > @llvm.smin .v4i8 (<4 x i8 > %abt , <4 x i8 > %bt )
479479 %abb1 = call <4 x i8 > @llvm.smax.v4i8 (<4 x i8 > %abb , <4 x i8 > %bb )
480480 %abt2 = call <4 x i8 > @llvm.umin.v4i8 (<4 x i8 > %abt1 , <4 x i8 > %bt )
481481 %abb2 = call <4 x i8 > @llvm.umin.v4i8 (<4 x i8 > %abb1 , <4 x i8 > %bb )
@@ -499,8 +499,8 @@ define <8 x i8> @intrinsics_addsat(<8 x i8> %a, <8 x i8> %b) {
499499; CHECK-NEXT: [[ABB2:%.*]] = call <4 x i8> @llvm.uadd.sat.v4i8(<4 x i8> [[ABB1]], <4 x i8> [[BB]])
500500; CHECK-NEXT: [[ABT3:%.*]] = call <4 x i8> @llvm.usub.sat.v4i8(<4 x i8> [[ABT2]], <4 x i8> [[BT]])
501501; CHECK-NEXT: [[ABB3:%.*]] = call <4 x i8> @llvm.usub.sat.v4i8(<4 x i8> [[ABB2]], <4 x i8> [[BB]])
502- ; CHECK-NEXT: [[R1 :%.*]] = shufflevector <4 x i8> [[ABT3]], <4 x i8> [[ABB3]], <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>
503- ; CHECK-NEXT: ret <8 x i8> [[R1 ]]
502+ ; CHECK-NEXT: [[R :%.*]] = shufflevector <4 x i8> [[ABT3]], <4 x i8> [[ABB3]], <8 x i32> <i32 7, i32 6, i32 5, i32 4, i32 3, i32 2, i32 1, i32 0>
503+ ; CHECK-NEXT: ret <8 x i8> [[R ]]
504504;
505505 %ab = shufflevector <8 x i8 > %a , <8 x i8 > poison, <4 x i32 > <i32 3 , i32 2 , i32 1 , i32 0 >
506506 %at = shufflevector <8 x i8 > %a , <8 x i8 > poison, <4 x i32 > <i32 7 , i32 6 , i32 5 , i32 4 >
0 commit comments