@@ -265,9 +265,8 @@ define <4 x i64> @ext_i4_4i64(i4 %a0) {
265
265
; AVX1-NEXT: vmovd %edi, %xmm0
266
266
; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
267
267
; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
268
- ; AVX1-NEXT: vmovaps {{.*#+}} ymm1 = [1,2,4,8]
269
- ; AVX1-NEXT: vandps %ymm1, %ymm0, %ymm0
270
- ; AVX1-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm1
268
+ ; AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
269
+ ; AVX1-NEXT: vpcmpeqq {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm1
271
270
; AVX1-NEXT: vpsrlq $63, %xmm1, %xmm1
272
271
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
273
272
; AVX1-NEXT: vpcmpeqq {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
@@ -325,9 +324,8 @@ define <8 x i32> @ext_i8_8i32(i8 %a0) {
325
324
; AVX1-NEXT: vmovd %edi, %xmm0
326
325
; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
327
326
; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
328
- ; AVX1-NEXT: vmovaps {{.*#+}} ymm1 = [1,2,4,8,16,32,64,128]
329
- ; AVX1-NEXT: vandps %ymm1, %ymm0, %ymm0
330
- ; AVX1-NEXT: vpcmpeqd %xmm1, %xmm0, %xmm1
327
+ ; AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
328
+ ; AVX1-NEXT: vpcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm1
331
329
; AVX1-NEXT: vpsrld $31, %xmm1, %xmm1
332
330
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
333
331
; AVX1-NEXT: vpcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
@@ -387,9 +385,8 @@ define <16 x i16> @ext_i16_16i16(i16 %a0) {
387
385
; AVX1-NEXT: vpshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7]
388
386
; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
389
387
; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
390
- ; AVX1-NEXT: vmovaps {{.*#+}} ymm1 = [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768]
391
- ; AVX1-NEXT: vandps %ymm1, %ymm0, %ymm0
392
- ; AVX1-NEXT: vpcmpeqw %xmm1, %xmm0, %xmm1
388
+ ; AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
389
+ ; AVX1-NEXT: vpcmpeqw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm1
393
390
; AVX1-NEXT: vpsrlw $15, %xmm1, %xmm1
394
391
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
395
392
; AVX1-NEXT: vpcmpeqw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
@@ -547,17 +544,15 @@ define <8 x i64> @ext_i8_8i64(i8 %a0) {
547
544
; AVX1-NEXT: vmovd %edi, %xmm0
548
545
; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
549
546
; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm1
550
- ; AVX1-NEXT: vmovaps {{.*#+}} ymm0 = [1,2,4,8]
551
- ; AVX1-NEXT: vandps %ymm0, %ymm1, %ymm2
552
- ; AVX1-NEXT: vpcmpeqq %xmm0, %xmm2, %xmm0
553
- ; AVX1-NEXT: vpsrlq $63, %xmm0, %xmm0
554
- ; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm2
555
- ; AVX1-NEXT: vpcmpeqq {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm2, %xmm2
547
+ ; AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm1, %ymm0
548
+ ; AVX1-NEXT: vpcmpeqq {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm2
556
549
; AVX1-NEXT: vpsrlq $63, %xmm2, %xmm2
557
- ; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
558
- ; AVX1-NEXT: vmovaps {{.*#+}} ymm2 = [16,32,64,128]
559
- ; AVX1-NEXT: vandps %ymm2, %ymm1, %ymm1
560
- ; AVX1-NEXT: vpcmpeqq %xmm2, %xmm1, %xmm2
550
+ ; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
551
+ ; AVX1-NEXT: vpcmpeqq {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
552
+ ; AVX1-NEXT: vpsrlq $63, %xmm0, %xmm0
553
+ ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm2, %ymm0
554
+ ; AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm1, %ymm1
555
+ ; AVX1-NEXT: vpcmpeqq {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm2
561
556
; AVX1-NEXT: vpsrlq $63, %xmm2, %xmm2
562
557
; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm1
563
558
; AVX1-NEXT: vpcmpeqq {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm1
@@ -628,17 +623,15 @@ define <16 x i32> @ext_i16_16i32(i16 %a0) {
628
623
; AVX1-NEXT: vmovd %edi, %xmm0
629
624
; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,0,0]
630
625
; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm1
631
- ; AVX1-NEXT: vmovaps {{.*#+}} ymm0 = [1,2,4,8,16,32,64,128]
632
- ; AVX1-NEXT: vandps %ymm0, %ymm1, %ymm2
633
- ; AVX1-NEXT: vpcmpeqd %xmm0, %xmm2, %xmm0
634
- ; AVX1-NEXT: vpsrld $31, %xmm0, %xmm0
635
- ; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm2
636
- ; AVX1-NEXT: vpcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm2, %xmm2
626
+ ; AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm1, %ymm0
627
+ ; AVX1-NEXT: vpcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm2
637
628
; AVX1-NEXT: vpsrld $31, %xmm2, %xmm2
638
- ; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
639
- ; AVX1-NEXT: vmovaps {{.*#+}} ymm2 = [256,512,1024,2048,4096,8192,16384,32768]
640
- ; AVX1-NEXT: vandps %ymm2, %ymm1, %ymm1
641
- ; AVX1-NEXT: vpcmpeqd %xmm2, %xmm1, %xmm2
629
+ ; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
630
+ ; AVX1-NEXT: vpcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
631
+ ; AVX1-NEXT: vpsrld $31, %xmm0, %xmm0
632
+ ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm2, %ymm0
633
+ ; AVX1-NEXT: vandps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm1, %ymm1
634
+ ; AVX1-NEXT: vpcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm2
642
635
; AVX1-NEXT: vpsrld $31, %xmm2, %xmm2
643
636
; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm1
644
637
; AVX1-NEXT: vpcmpeqd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm1, %xmm1
@@ -712,21 +705,22 @@ define <32 x i16> @ext_i32_32i16(i32 %a0) {
712
705
; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm0, %ymm0
713
706
; AVX1-NEXT: vmovaps {{.*#+}} ymm2 = [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768]
714
707
; AVX1-NEXT: vandps %ymm2, %ymm0, %ymm0
715
- ; AVX1-NEXT: vpcmpeqw %xmm2, %xmm0, %xmm3
716
- ; AVX1-NEXT: vpsrlw $15, %xmm3, %xmm3
708
+ ; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [1,2,4,8,16,32,64,128]
709
+ ; AVX1-NEXT: vpcmpeqw %xmm3, %xmm0, %xmm4
710
+ ; AVX1-NEXT: vpsrlw $15, %xmm4, %xmm4
717
711
; AVX1-NEXT: vextractf128 $1, %ymm0, %xmm0
718
- ; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [256,512,1024,2048,4096,8192,16384,32768]
719
- ; AVX1-NEXT: vpcmpeqw %xmm4 , %xmm0, %xmm0
712
+ ; AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [256,512,1024,2048,4096,8192,16384,32768]
713
+ ; AVX1-NEXT: vpcmpeqw %xmm5 , %xmm0, %xmm0
720
714
; AVX1-NEXT: vpsrlw $15, %xmm0, %xmm0
721
- ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm3 , %ymm0
715
+ ; AVX1-NEXT: vinsertf128 $1, %xmm0, %ymm4 , %ymm0
722
716
; AVX1-NEXT: vpshuflw {{.*#+}} xmm1 = xmm1[1,1,1,1,4,5,6,7]
723
717
; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,0,0,0]
724
718
; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm1, %ymm1
725
719
; AVX1-NEXT: vandps %ymm2, %ymm1, %ymm1
726
- ; AVX1-NEXT: vpcmpeqw %xmm2 , %xmm1, %xmm2
720
+ ; AVX1-NEXT: vpcmpeqw %xmm3 , %xmm1, %xmm2
727
721
; AVX1-NEXT: vpsrlw $15, %xmm2, %xmm2
728
722
; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm1
729
- ; AVX1-NEXT: vpcmpeqw %xmm4 , %xmm1, %xmm1
723
+ ; AVX1-NEXT: vpcmpeqw %xmm5 , %xmm1, %xmm1
730
724
; AVX1-NEXT: vpsrlw $15, %xmm1, %xmm1
731
725
; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm2, %ymm1
732
726
; AVX1-NEXT: retq
0 commit comments