@@ -2747,24 +2747,19 @@ define void @avg_v16i16_const(<16 x i16>* %a) nounwind {
2747
2747
; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
2748
2748
; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm2 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
2749
2749
; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm3 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
2750
- ; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [5,6,7,8 ]
2750
+ ; AVX1-NEXT: vmovdqa {{.*#+}} xmm4 = [1,2,3,4 ]
2751
2751
; AVX1-NEXT: vpaddd %xmm4, %xmm3, %xmm3
2752
- ; AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [1,2,3,4 ]
2752
+ ; AVX1-NEXT: vmovdqa {{.*#+}} xmm5 = [5,6,7,8 ]
2753
2753
; AVX1-NEXT: vpaddd %xmm5, %xmm2, %xmm2
2754
2754
; AVX1-NEXT: vpaddd %xmm4, %xmm1, %xmm1
2755
2755
; AVX1-NEXT: vpaddd %xmm5, %xmm0, %xmm0
2756
2756
; AVX1-NEXT: vpsrld $1, %xmm0, %xmm0
2757
2757
; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
2758
- ; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
2759
- ; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
2760
- ; AVX1-NEXT: vpxor %xmm4, %xmm4, %xmm4
2761
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm3 = xmm3[0],xmm4[1],xmm3[2],xmm4[3],xmm3[4],xmm4[5],xmm3[6],xmm4[7]
2762
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm2[0],xmm4[1],xmm2[2],xmm4[3],xmm2[4],xmm4[5],xmm2[6],xmm4[7]
2763
- ; AVX1-NEXT: vpackusdw %xmm3, %xmm2, %xmm2
2764
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm1[0],xmm4[1],xmm1[2],xmm4[3],xmm1[4],xmm4[5],xmm1[6],xmm4[7]
2765
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm4[1],xmm0[2],xmm4[3],xmm0[4],xmm4[5],xmm0[6],xmm4[7]
2766
- ; AVX1-NEXT: vpackusdw %xmm1, %xmm0, %xmm0
2767
- ; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
2758
+ ; AVX1-NEXT: vpackusdw %xmm0, %xmm1, %xmm0
2759
+ ; AVX1-NEXT: vpsrld $1, %xmm2, %xmm1
2760
+ ; AVX1-NEXT: vpsrld $1, %xmm3, %xmm2
2761
+ ; AVX1-NEXT: vpackusdw %xmm1, %xmm2, %xmm1
2762
+ ; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
2768
2763
; AVX1-NEXT: vmovups %ymm0, (%rax)
2769
2764
; AVX1-NEXT: vzeroupper
2770
2765
; AVX1-NEXT: retq
@@ -2867,41 +2862,32 @@ define void @avg_v32i16_const(<32 x i16>* %a) nounwind {
2867
2862
; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm5 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
2868
2863
; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm6 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
2869
2864
; AVX1-NEXT: vpmovzxwd {{.*#+}} xmm7 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
2870
- ; AVX1-NEXT: vmovdqa {{.*#+}} xmm0 = [5,6,7,8 ]
2865
+ ; AVX1-NEXT: vmovdqa {{.*#+}} xmm0 = [1,2,3,4 ]
2871
2866
; AVX1-NEXT: vpaddd %xmm0, %xmm7, %xmm9
2872
- ; AVX1-NEXT: vmovdqa {{.*#+}} xmm7 = [1,2,3,4 ]
2867
+ ; AVX1-NEXT: vmovdqa {{.*#+}} xmm7 = [5,6,7,8 ]
2873
2868
; AVX1-NEXT: vpaddd %xmm7, %xmm6, %xmm6
2874
2869
; AVX1-NEXT: vpaddd %xmm0, %xmm5, %xmm5
2875
2870
; AVX1-NEXT: vpaddd %xmm7, %xmm4, %xmm4
2876
2871
; AVX1-NEXT: vpaddd %xmm0, %xmm3, %xmm3
2877
2872
; AVX1-NEXT: vpaddd %xmm7, %xmm2, %xmm2
2878
2873
; AVX1-NEXT: vpaddd %xmm0, %xmm1, %xmm0
2879
2874
; AVX1-NEXT: vpaddd %xmm7, %xmm8, %xmm1
2880
- ; AVX1-NEXT: vpsrld $1, %xmm1, %xmm8
2875
+ ; AVX1-NEXT: vpsrld $1, %xmm1, %xmm1
2881
2876
; AVX1-NEXT: vpsrld $1, %xmm0, %xmm0
2882
- ; AVX1-NEXT: vpsrld $1, %xmm2, %xmm2
2883
- ; AVX1-NEXT: vpsrld $1, %xmm3, %xmm3
2884
- ; AVX1-NEXT: vpsrld $1, %xmm4, %xmm4
2885
- ; AVX1-NEXT: vpsrld $1, %xmm5, %xmm5
2886
- ; AVX1-NEXT: vpsrld $1, %xmm6, %xmm6
2887
- ; AVX1-NEXT: vpsrld $1, %xmm9, %xmm7
2888
- ; AVX1-NEXT: vpxor %xmm1, %xmm1, %xmm1
2889
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm7 = xmm7[0],xmm1[1],xmm7[2],xmm1[3],xmm7[4],xmm1[5],xmm7[6],xmm1[7]
2890
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm6 = xmm6[0],xmm1[1],xmm6[2],xmm1[3],xmm6[4],xmm1[5],xmm6[6],xmm1[7]
2891
- ; AVX1-NEXT: vpackusdw %xmm7, %xmm6, %xmm6
2892
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm5 = xmm5[0],xmm1[1],xmm5[2],xmm1[3],xmm5[4],xmm1[5],xmm5[6],xmm1[7]
2893
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm4 = xmm4[0],xmm1[1],xmm4[2],xmm1[3],xmm4[4],xmm1[5],xmm4[6],xmm1[7]
2894
- ; AVX1-NEXT: vpackusdw %xmm5, %xmm4, %xmm4
2895
- ; AVX1-NEXT: vinsertf128 $1, %xmm6, %ymm4, %ymm4
2896
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm3 = xmm3[0],xmm1[1],xmm3[2],xmm1[3],xmm3[4],xmm1[5],xmm3[6],xmm1[7]
2897
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm2[0],xmm1[1],xmm2[2],xmm1[3],xmm2[4],xmm1[5],xmm2[6],xmm1[7]
2898
- ; AVX1-NEXT: vpackusdw %xmm3, %xmm2, %xmm2
2899
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]
2900
- ; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm8[0],xmm1[1],xmm8[2],xmm1[3],xmm8[4],xmm1[5],xmm8[6],xmm1[7]
2901
- ; AVX1-NEXT: vpackusdw %xmm0, %xmm1, %xmm0
2902
- ; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm0, %ymm0
2877
+ ; AVX1-NEXT: vpackusdw %xmm1, %xmm0, %xmm0
2878
+ ; AVX1-NEXT: vpsrld $1, %xmm2, %xmm1
2879
+ ; AVX1-NEXT: vpsrld $1, %xmm3, %xmm2
2880
+ ; AVX1-NEXT: vpackusdw %xmm1, %xmm2, %xmm1
2881
+ ; AVX1-NEXT: vpsrld $1, %xmm4, %xmm2
2882
+ ; AVX1-NEXT: vpsrld $1, %xmm5, %xmm3
2883
+ ; AVX1-NEXT: vpackusdw %xmm2, %xmm3, %xmm2
2884
+ ; AVX1-NEXT: vpsrld $1, %xmm6, %xmm3
2885
+ ; AVX1-NEXT: vpsrld $1, %xmm9, %xmm4
2886
+ ; AVX1-NEXT: vpackusdw %xmm3, %xmm4, %xmm3
2887
+ ; AVX1-NEXT: vinsertf128 $1, %xmm3, %ymm2, %ymm2
2888
+ ; AVX1-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0
2903
2889
; AVX1-NEXT: vmovups %ymm0, (%rax)
2904
- ; AVX1-NEXT: vmovups %ymm4 , (%rax)
2890
+ ; AVX1-NEXT: vmovups %ymm2 , (%rax)
2905
2891
; AVX1-NEXT: vzeroupper
2906
2892
; AVX1-NEXT: retq
2907
2893
;
0 commit comments