@@ -544,17 +544,15 @@ define <16 x i32> @splatvar_funnnel_v16i32(<16 x i32> %x, <16 x i32> %y, <16 x i
544
544
define <32 x i16 > @splatvar_funnnel_v32i16 (<32 x i16 > %x , <32 x i16 > %y , <32 x i16 > %amt ) nounwind {
545
545
; AVX512F-LABEL: splatvar_funnnel_v32i16:
546
546
; AVX512F: # %bb.0:
547
- ; AVX512F-NEXT: vmovdqa {{.*#+}} xmm3 = [15,15,15,15,15,15,15,15]
548
- ; AVX512F-NEXT: vpand %xmm3, %xmm2, %xmm2
549
- ; AVX512F-NEXT: vpmovzxwq {{.*#+}} xmm4 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero
550
- ; AVX512F-NEXT: vextracti64x4 $1, %zmm0, %ymm5
551
- ; AVX512F-NEXT: vpsllw %xmm4, %ymm5, %ymm5
547
+ ; AVX512F-NEXT: vextracti64x4 $1, %zmm0, %ymm3
548
+ ; AVX512F-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm2, %xmm4
549
+ ; AVX512F-NEXT: vpsllw %xmm4, %ymm3, %ymm3
552
550
; AVX512F-NEXT: vpsllw %xmm4, %ymm0, %ymm0
553
- ; AVX512F-NEXT: vinserti64x4 $1, %ymm5, %zmm0, %zmm0
554
- ; AVX512F-NEXT: vpandn %xmm3, %xmm2, %xmm2
555
- ; AVX512F-NEXT: vpmovzxwq {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero
551
+ ; AVX512F-NEXT: vinserti64x4 $1, %ymm3, %zmm0, %zmm0
556
552
; AVX512F-NEXT: vextracti64x4 $1, %zmm1, %ymm3
557
553
; AVX512F-NEXT: vpsrlw $1, %ymm3, %ymm3
554
+ ; AVX512F-NEXT: vpandn {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm2, %xmm2
555
+ ; AVX512F-NEXT: vpmovzxwq {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero
558
556
; AVX512F-NEXT: vpsrlw %xmm2, %ymm3, %ymm3
559
557
; AVX512F-NEXT: vpsrlw $1, %ymm1, %ymm1
560
558
; AVX512F-NEXT: vpsrlw %xmm2, %ymm1, %ymm1
@@ -564,17 +562,15 @@ define <32 x i16> @splatvar_funnnel_v32i16(<32 x i16> %x, <32 x i16> %y, <32 x i
564
562
;
565
563
; AVX512VL-LABEL: splatvar_funnnel_v32i16:
566
564
; AVX512VL: # %bb.0:
567
- ; AVX512VL-NEXT: vmovdqa {{.*#+}} xmm3 = [15,15,15,15,15,15,15,15]
568
- ; AVX512VL-NEXT: vpand %xmm3, %xmm2, %xmm2
569
- ; AVX512VL-NEXT: vpmovzxwq {{.*#+}} xmm4 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero
570
- ; AVX512VL-NEXT: vextracti64x4 $1, %zmm0, %ymm5
571
- ; AVX512VL-NEXT: vpsllw %xmm4, %ymm5, %ymm5
565
+ ; AVX512VL-NEXT: vextracti64x4 $1, %zmm0, %ymm3
566
+ ; AVX512VL-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm2, %xmm4
567
+ ; AVX512VL-NEXT: vpsllw %xmm4, %ymm3, %ymm3
572
568
; AVX512VL-NEXT: vpsllw %xmm4, %ymm0, %ymm0
573
- ; AVX512VL-NEXT: vinserti64x4 $1, %ymm5, %zmm0, %zmm0
574
- ; AVX512VL-NEXT: vpandn %xmm3, %xmm2, %xmm2
575
- ; AVX512VL-NEXT: vpmovzxwq {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero
569
+ ; AVX512VL-NEXT: vinserti64x4 $1, %ymm3, %zmm0, %zmm0
576
570
; AVX512VL-NEXT: vextracti64x4 $1, %zmm1, %ymm3
577
571
; AVX512VL-NEXT: vpsrlw $1, %ymm3, %ymm3
572
+ ; AVX512VL-NEXT: vpandn {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm2, %xmm2
573
+ ; AVX512VL-NEXT: vpmovzxwq {{.*#+}} xmm2 = xmm2[0],zero,zero,zero,xmm2[1],zero,zero,zero
578
574
; AVX512VL-NEXT: vpsrlw %xmm2, %ymm3, %ymm3
579
575
; AVX512VL-NEXT: vpsrlw $1, %ymm1, %ymm1
580
576
; AVX512VL-NEXT: vpsrlw %xmm2, %ymm1, %ymm1
0 commit comments