@@ -775,15 +775,13 @@ define <32 x i8> @combine_pshufb_pshufb_or_pshufb(<32 x i8> %a0) {
775
775
ret <32 x i8 > %4
776
776
}
777
777
778
- ; TODO: Not beneficial to concatenate both inputs just to create a 256-bit palignr
778
+ ; Not beneficial to concatenate both inputs just to create a 256-bit palignr
779
779
define <32 x i8 > @concat_alignr_unnecessary (<16 x i8 > %a0 , <16 x i8 > noundef %a1 , <16 x i8 > %a2 ) nounwind {
780
780
; CHECK-LABEL: concat_alignr_unnecessary:
781
781
; CHECK: # %bb.0:
782
- ; CHECK-NEXT: # kill: def $xmm1 killed $xmm1 def $ymm1
783
- ; CHECK-NEXT: # kill: def $xmm0 killed $xmm0 def $ymm0
784
- ; CHECK-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1
785
- ; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm0, %ymm0
786
- ; CHECK-NEXT: vpalignr {{.*#+}} ymm0 = ymm1[3,4,5,6,7,8,9,10,11,12,13,14,15],ymm0[0,1,2],ymm1[19,20,21,22,23,24,25,26,27,28,29,30,31],ymm0[16,17,18]
782
+ ; CHECK-NEXT: vpalignr {{.*#+}} xmm1 = xmm1[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2]
783
+ ; CHECK-NEXT: vpalignr {{.*#+}} xmm0 = xmm2[3,4,5,6,7,8,9,10,11,12,13,14,15],xmm0[0,1,2]
784
+ ; CHECK-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0
787
785
; CHECK-NEXT: ret{{[l|q]}}
788
786
%lo = shufflevector <16 x i8 > %a1 , <16 x i8 > %a0 , <16 x i32 > <i32 3 , i32 4 , i32 5 , i32 6 , i32 7 , i32 8 , i32 9 , i32 10 , i32 11 , i32 12 , i32 13 , i32 14 , i32 15 , i32 16 , i32 17 , i32 18 >
789
787
%hi = shufflevector <16 x i8 > %a2 , <16 x i8 > %a0 , <16 x i32 > <i32 3 , i32 4 , i32 5 , i32 6 , i32 7 , i32 8 , i32 9 , i32 10 , i32 11 , i32 12 , i32 13 , i32 14 , i32 15 , i32 16 , i32 17 , i32 18 >
0 commit comments