@@ -206,16 +206,15 @@ define <32 x i8> @test_div7_32i8(<32 x i8> %a) nounwind {
206
206
;
207
207
; AVX2NOBW-LABEL: test_div7_32i8:
208
208
; AVX2NOBW: # %bb.0:
209
- ; AVX2NOBW-NEXT: vextracti128 $1, %ymm0, %xmm1
210
- ; AVX2NOBW-NEXT: vpmovzxbw {{.*#+}} ymm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[4],zero,xmm1[5],zero,xmm1[6],zero,xmm1[7],zero,xmm1[8],zero,xmm1[9],zero,xmm1[10],zero,xmm1[11],zero,xmm1[12],zero,xmm1[13],zero,xmm1[14],zero,xmm1[15],zero
211
- ; AVX2NOBW-NEXT: vmovdqa {{.*#+}} ymm2 = [37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37]
212
- ; AVX2NOBW-NEXT: vpmullw %ymm2, %ymm1, %ymm1
213
- ; AVX2NOBW-NEXT: vpsrlw $8, %ymm1, %ymm1
214
- ; AVX2NOBW-NEXT: vpmovzxbw {{.*#+}} ymm3 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
215
- ; AVX2NOBW-NEXT: vpmullw %ymm2, %ymm3, %ymm2
209
+ ; AVX2NOBW-NEXT: vpxor %xmm1, %xmm1, %xmm1
210
+ ; AVX2NOBW-NEXT: vpunpckhbw {{.*#+}} ymm2 = ymm0[8],ymm1[8],ymm0[9],ymm1[9],ymm0[10],ymm1[10],ymm0[11],ymm1[11],ymm0[12],ymm1[12],ymm0[13],ymm1[13],ymm0[14],ymm1[14],ymm0[15],ymm1[15],ymm0[24],ymm1[24],ymm0[25],ymm1[25],ymm0[26],ymm1[26],ymm0[27],ymm1[27],ymm0[28],ymm1[28],ymm0[29],ymm1[29],ymm0[30],ymm1[30],ymm0[31],ymm1[31]
211
+ ; AVX2NOBW-NEXT: vmovdqa {{.*#+}} ymm3 = [37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0]
212
+ ; AVX2NOBW-NEXT: vpmullw %ymm3, %ymm2, %ymm2
216
213
; AVX2NOBW-NEXT: vpsrlw $8, %ymm2, %ymm2
217
- ; AVX2NOBW-NEXT: vpackuswb %ymm1, %ymm2, %ymm1
218
- ; AVX2NOBW-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,1,3]
214
+ ; AVX2NOBW-NEXT: vpunpcklbw {{.*#+}} ymm1 = ymm0[0],ymm1[0],ymm0[1],ymm1[1],ymm0[2],ymm1[2],ymm0[3],ymm1[3],ymm0[4],ymm1[4],ymm0[5],ymm1[5],ymm0[6],ymm1[6],ymm0[7],ymm1[7],ymm0[16],ymm1[16],ymm0[17],ymm1[17],ymm0[18],ymm1[18],ymm0[19],ymm1[19],ymm0[20],ymm1[20],ymm0[21],ymm1[21],ymm0[22],ymm1[22],ymm0[23],ymm1[23]
215
+ ; AVX2NOBW-NEXT: vpmullw %ymm3, %ymm1, %ymm1
216
+ ; AVX2NOBW-NEXT: vpsrlw $8, %ymm1, %ymm1
217
+ ; AVX2NOBW-NEXT: vpackuswb %ymm2, %ymm1, %ymm1
219
218
; AVX2NOBW-NEXT: vpsubb %ymm1, %ymm0, %ymm0
220
219
; AVX2NOBW-NEXT: vpsrlw $1, %ymm0, %ymm0
221
220
; AVX2NOBW-NEXT: vpand {{.*}}(%rip), %ymm0, %ymm0
@@ -502,16 +501,15 @@ define <32 x i8> @test_rem7_32i8(<32 x i8> %a) nounwind {
502
501
;
503
502
; AVX2NOBW-LABEL: test_rem7_32i8:
504
503
; AVX2NOBW: # %bb.0:
505
- ; AVX2NOBW-NEXT: vextracti128 $1, %ymm0, %xmm1
506
- ; AVX2NOBW-NEXT: vpmovzxbw {{.*#+}} ymm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[4],zero,xmm1[5],zero,xmm1[6],zero,xmm1[7],zero,xmm1[8],zero,xmm1[9],zero,xmm1[10],zero,xmm1[11],zero,xmm1[12],zero,xmm1[13],zero,xmm1[14],zero,xmm1[15],zero
507
- ; AVX2NOBW-NEXT: vmovdqa {{.*#+}} ymm2 = [37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37]
508
- ; AVX2NOBW-NEXT: vpmullw %ymm2, %ymm1, %ymm1
509
- ; AVX2NOBW-NEXT: vpsrlw $8, %ymm1, %ymm1
510
- ; AVX2NOBW-NEXT: vpmovzxbw {{.*#+}} ymm3 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
511
- ; AVX2NOBW-NEXT: vpmullw %ymm2, %ymm3, %ymm2
504
+ ; AVX2NOBW-NEXT: vpxor %xmm1, %xmm1, %xmm1
505
+ ; AVX2NOBW-NEXT: vpunpckhbw {{.*#+}} ymm2 = ymm0[8],ymm1[8],ymm0[9],ymm1[9],ymm0[10],ymm1[10],ymm0[11],ymm1[11],ymm0[12],ymm1[12],ymm0[13],ymm1[13],ymm0[14],ymm1[14],ymm0[15],ymm1[15],ymm0[24],ymm1[24],ymm0[25],ymm1[25],ymm0[26],ymm1[26],ymm0[27],ymm1[27],ymm0[28],ymm1[28],ymm0[29],ymm1[29],ymm0[30],ymm1[30],ymm0[31],ymm1[31]
506
+ ; AVX2NOBW-NEXT: vmovdqa {{.*#+}} ymm3 = [37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0,37,0]
507
+ ; AVX2NOBW-NEXT: vpmullw %ymm3, %ymm2, %ymm2
512
508
; AVX2NOBW-NEXT: vpsrlw $8, %ymm2, %ymm2
513
- ; AVX2NOBW-NEXT: vpackuswb %ymm1, %ymm2, %ymm1
514
- ; AVX2NOBW-NEXT: vpermq {{.*#+}} ymm1 = ymm1[0,2,1,3]
509
+ ; AVX2NOBW-NEXT: vpunpcklbw {{.*#+}} ymm1 = ymm0[0],ymm1[0],ymm0[1],ymm1[1],ymm0[2],ymm1[2],ymm0[3],ymm1[3],ymm0[4],ymm1[4],ymm0[5],ymm1[5],ymm0[6],ymm1[6],ymm0[7],ymm1[7],ymm0[16],ymm1[16],ymm0[17],ymm1[17],ymm0[18],ymm1[18],ymm0[19],ymm1[19],ymm0[20],ymm1[20],ymm0[21],ymm1[21],ymm0[22],ymm1[22],ymm0[23],ymm1[23]
510
+ ; AVX2NOBW-NEXT: vpmullw %ymm3, %ymm1, %ymm1
511
+ ; AVX2NOBW-NEXT: vpsrlw $8, %ymm1, %ymm1
512
+ ; AVX2NOBW-NEXT: vpackuswb %ymm2, %ymm1, %ymm1
515
513
; AVX2NOBW-NEXT: vpsubb %ymm1, %ymm0, %ymm2
516
514
; AVX2NOBW-NEXT: vpsrlw $1, %ymm2, %ymm2
517
515
; AVX2NOBW-NEXT: vpand {{.*}}(%rip), %ymm2, %ymm2
0 commit comments