@@ -5059,18 +5059,39 @@ define void @shuffle_v32i8_store_00_08_16_24_01_09_17_25_02_10_18_26_03_11_19_27
50595059; AVX1-NEXT: vzeroupper
50605060; AVX1-NEXT: retq
50615061;
5062- ; AVX2OR512VL-LABEL: shuffle_v32i8_store_00_08_16_24_01_09_17_25_02_10_18_26_03_11_19_27_04_12_20_28_05_13_21_29_06_14_22_30_07_15_23_31:
5063- ; AVX2OR512VL: # %bb.0:
5064- ; AVX2OR512VL-NEXT: vextracti128 $1, %ymm0, %xmm1
5065- ; AVX2OR512VL-NEXT: vmovdqa {{.*#+}} xmm2 = [0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15]
5066- ; AVX2OR512VL-NEXT: vpshufb %xmm2, %xmm0, %xmm0
5067- ; AVX2OR512VL-NEXT: vpshufb %xmm2, %xmm1, %xmm1
5068- ; AVX2OR512VL-NEXT: vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
5069- ; AVX2OR512VL-NEXT: vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
5070- ; AVX2OR512VL-NEXT: vmovdqa %xmm0, 16(%rdi)
5071- ; AVX2OR512VL-NEXT: vmovdqa %xmm2, (%rdi)
5072- ; AVX2OR512VL-NEXT: vzeroupper
5073- ; AVX2OR512VL-NEXT: retq
5062+ ; AVX2-LABEL: shuffle_v32i8_store_00_08_16_24_01_09_17_25_02_10_18_26_03_11_19_27_04_12_20_28_05_13_21_29_06_14_22_30_07_15_23_31:
5063+ ; AVX2: # %bb.0:
5064+ ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm1
5065+ ; AVX2-NEXT: vmovdqa {{.*#+}} xmm2 = [0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15]
5066+ ; AVX2-NEXT: vpshufb %xmm2, %xmm0, %xmm0
5067+ ; AVX2-NEXT: vpshufb %xmm2, %xmm1, %xmm1
5068+ ; AVX2-NEXT: vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
5069+ ; AVX2-NEXT: vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
5070+ ; AVX2-NEXT: vmovdqa %xmm0, 16(%rdi)
5071+ ; AVX2-NEXT: vmovdqa %xmm2, (%rdi)
5072+ ; AVX2-NEXT: vzeroupper
5073+ ; AVX2-NEXT: retq
5074+ ;
5075+ ; AVX512VLBW-LABEL: shuffle_v32i8_store_00_08_16_24_01_09_17_25_02_10_18_26_03_11_19_27_04_12_20_28_05_13_21_29_06_14_22_30_07_15_23_31:
5076+ ; AVX512VLBW: # %bb.0:
5077+ ; AVX512VLBW-NEXT: vextracti128 $1, %ymm0, %xmm1
5078+ ; AVX512VLBW-NEXT: vmovdqa {{.*#+}} xmm2 = [0,8,1,9,2,10,3,11,4,12,5,13,6,14,7,15]
5079+ ; AVX512VLBW-NEXT: vpshufb %xmm2, %xmm0, %xmm0
5080+ ; AVX512VLBW-NEXT: vpshufb %xmm2, %xmm1, %xmm1
5081+ ; AVX512VLBW-NEXT: vpunpcklwd {{.*#+}} xmm2 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
5082+ ; AVX512VLBW-NEXT: vpunpckhwd {{.*#+}} xmm0 = xmm0[4],xmm1[4],xmm0[5],xmm1[5],xmm0[6],xmm1[6],xmm0[7],xmm1[7]
5083+ ; AVX512VLBW-NEXT: vmovdqa %xmm0, 16(%rdi)
5084+ ; AVX512VLBW-NEXT: vmovdqa %xmm2, (%rdi)
5085+ ; AVX512VLBW-NEXT: vzeroupper
5086+ ; AVX512VLBW-NEXT: retq
5087+ ;
5088+ ; AVX512VLVBMI-LABEL: shuffle_v32i8_store_00_08_16_24_01_09_17_25_02_10_18_26_03_11_19_27_04_12_20_28_05_13_21_29_06_14_22_30_07_15_23_31:
5089+ ; AVX512VLVBMI: # %bb.0:
5090+ ; AVX512VLVBMI-NEXT: vmovdqa {{.*#+}} ymm1 = [0,8,16,24,1,9,17,25,2,10,18,26,3,11,19,27,4,12,20,28,5,13,21,29,6,14,22,30,7,15,23,31]
5091+ ; AVX512VLVBMI-NEXT: vpermb %ymm0, %ymm1, %ymm0
5092+ ; AVX512VLVBMI-NEXT: vmovdqa %ymm0, (%rdi)
5093+ ; AVX512VLVBMI-NEXT: vzeroupper
5094+ ; AVX512VLVBMI-NEXT: retq
50745095;
50755096; XOPAVX1-LABEL: shuffle_v32i8_store_00_08_16_24_01_09_17_25_02_10_18_26_03_11_19_27_04_12_20_28_05_13_21_29_06_14_22_30_07_15_23_31:
50765097; XOPAVX1: # %bb.0:
0 commit comments