@@ -50,7 +50,7 @@ define <16 x i8> @mul_v16i8c(<16 x i8> %i) nounwind {
50
50
; AVX512F: # %bb.0: # %entry
51
51
; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm0
52
52
; AVX512F-NEXT: vpmullw {{.*}}(%rip), %ymm0, %ymm0
53
- ; AVX512F-NEXT: vpmovsxwd %ymm0, % zmm0
53
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero,ymm0[8],zero,ymm0[9],zero,ymm0[10],zero,ymm0[11],zero,ymm0[12],zero,ymm0[13],zero,ymm0[14],zero,ymm0[15],zero
54
54
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
55
55
; AVX512F-NEXT: vzeroupper
56
56
; AVX512F-NEXT: retq
@@ -186,7 +186,7 @@ define <16 x i8> @mul_v16i8(<16 x i8> %i, <16 x i8> %j) nounwind {
186
186
; AVX512F-NEXT: vpmovsxbw %xmm1, %ymm1
187
187
; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm0
188
188
; AVX512F-NEXT: vpmullw %ymm1, %ymm0, %ymm0
189
- ; AVX512F-NEXT: vpmovsxwd %ymm0, % zmm0
189
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero,ymm0[8],zero,ymm0[9],zero,ymm0[10],zero,ymm0[11],zero,ymm0[12],zero,ymm0[13],zero,ymm0[14],zero,ymm0[15],zero
190
190
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
191
191
; AVX512F-NEXT: vzeroupper
192
192
; AVX512F-NEXT: retq
@@ -443,12 +443,12 @@ define <32 x i8> @mul_v32i8c(<32 x i8> %i) nounwind {
443
443
; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm1
444
444
; AVX512F-NEXT: vmovdqa {{.*#+}} ymm2 = [117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117]
445
445
; AVX512F-NEXT: vpmullw %ymm2, %ymm1, %ymm1
446
- ; AVX512F-NEXT: vpmovsxwd %ymm1, % zmm1
446
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm1 = ymm1[0],zero,ymm1[1],zero,ymm1[2],zero,ymm1[3],zero,ymm1[4],zero,ymm1[5],zero,ymm1[6],zero,ymm1[7],zero,ymm1[8],zero,ymm1[9],zero,ymm1[10],zero,ymm1[11],zero,ymm1[12],zero,ymm1[13],zero,ymm1[14],zero,ymm1[15],zero
447
447
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
448
448
; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm0
449
449
; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm0
450
450
; AVX512F-NEXT: vpmullw %ymm2, %ymm0, %ymm0
451
- ; AVX512F-NEXT: vpmovsxwd %ymm0, % zmm0
451
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero,ymm0[8],zero,ymm0[9],zero,ymm0[10],zero,ymm0[11],zero,ymm0[12],zero,ymm0[13],zero,ymm0[14],zero,ymm0[15],zero
452
452
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
453
453
; AVX512F-NEXT: vinserti128 $1, %xmm0, %ymm1, %ymm0
454
454
; AVX512F-NEXT: retq
@@ -628,14 +628,14 @@ define <32 x i8> @mul_v32i8(<32 x i8> %i, <32 x i8> %j) nounwind {
628
628
; AVX512F-NEXT: vpmovsxbw %xmm1, %ymm2
629
629
; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm3
630
630
; AVX512F-NEXT: vpmullw %ymm2, %ymm3, %ymm2
631
- ; AVX512F-NEXT: vpmovsxwd %ymm2, % zmm2
631
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero,ymm2[8],zero,ymm2[9],zero,ymm2[10],zero,ymm2[11],zero,ymm2[12],zero,ymm2[13],zero,ymm2[14],zero,ymm2[15],zero
632
632
; AVX512F-NEXT: vpmovdb %zmm2, %xmm2
633
633
; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm1
634
634
; AVX512F-NEXT: vpmovsxbw %xmm1, %ymm1
635
635
; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm0
636
636
; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm0
637
637
; AVX512F-NEXT: vpmullw %ymm1, %ymm0, %ymm0
638
- ; AVX512F-NEXT: vpmovsxwd %ymm0, % zmm0
638
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero,ymm0[8],zero,ymm0[9],zero,ymm0[10],zero,ymm0[11],zero,ymm0[12],zero,ymm0[13],zero,ymm0[14],zero,ymm0[15],zero
639
639
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
640
640
; AVX512F-NEXT: vinserti128 $1, %xmm0, %ymm2, %ymm0
641
641
; AVX512F-NEXT: retq
@@ -859,22 +859,22 @@ define <64 x i8> @mul_v64i8c(<64 x i8> %i) nounwind {
859
859
; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm2
860
860
; AVX512F-NEXT: vmovdqa {{.*#+}} ymm3 = [117,117,117,117,117,117,117,117,117,117,117,117,117,117,117,117]
861
861
; AVX512F-NEXT: vpmullw %ymm3, %ymm2, %ymm2
862
- ; AVX512F-NEXT: vpmovsxwd %ymm2, % zmm2
862
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero,ymm2[8],zero,ymm2[9],zero,ymm2[10],zero,ymm2[11],zero,ymm2[12],zero,ymm2[13],zero,ymm2[14],zero,ymm2[15],zero
863
863
; AVX512F-NEXT: vpmovdb %zmm2, %xmm2
864
864
; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm0
865
865
; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm0
866
866
; AVX512F-NEXT: vpmullw %ymm3, %ymm0, %ymm0
867
- ; AVX512F-NEXT: vpmovsxwd %ymm0, % zmm0
867
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero,ymm0[8],zero,ymm0[9],zero,ymm0[10],zero,ymm0[11],zero,ymm0[12],zero,ymm0[13],zero,ymm0[14],zero,ymm0[15],zero
868
868
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
869
869
; AVX512F-NEXT: vinserti128 $1, %xmm0, %ymm2, %ymm0
870
870
; AVX512F-NEXT: vpmovsxbw %xmm1, %ymm2
871
871
; AVX512F-NEXT: vpmullw %ymm3, %ymm2, %ymm2
872
- ; AVX512F-NEXT: vpmovsxwd %ymm2, % zmm2
872
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero,ymm2[8],zero,ymm2[9],zero,ymm2[10],zero,ymm2[11],zero,ymm2[12],zero,ymm2[13],zero,ymm2[14],zero,ymm2[15],zero
873
873
; AVX512F-NEXT: vpmovdb %zmm2, %xmm2
874
874
; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm1
875
875
; AVX512F-NEXT: vpmovsxbw %xmm1, %ymm1
876
876
; AVX512F-NEXT: vpmullw %ymm3, %ymm1, %ymm1
877
- ; AVX512F-NEXT: vpmovsxwd %ymm1, % zmm1
877
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm1 = ymm1[0],zero,ymm1[1],zero,ymm1[2],zero,ymm1[3],zero,ymm1[4],zero,ymm1[5],zero,ymm1[6],zero,ymm1[7],zero,ymm1[8],zero,ymm1[9],zero,ymm1[10],zero,ymm1[11],zero,ymm1[12],zero,ymm1[13],zero,ymm1[14],zero,ymm1[15],zero
878
878
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
879
879
; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm2, %ymm1
880
880
; AVX512F-NEXT: retq
@@ -1035,27 +1035,27 @@ define <64 x i8> @mul_v64i8(<64 x i8> %i, <64 x i8> %j) nounwind {
1035
1035
; AVX512F-NEXT: vpmovsxbw %xmm2, %ymm4
1036
1036
; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm5
1037
1037
; AVX512F-NEXT: vpmullw %ymm4, %ymm5, %ymm4
1038
- ; AVX512F-NEXT: vpmovsxwd %ymm4, % zmm4
1038
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm4 = ymm4[0],zero,ymm4[1],zero,ymm4[2],zero,ymm4[3],zero,ymm4[4],zero,ymm4[5],zero,ymm4[6],zero,ymm4[7],zero,ymm4[8],zero,ymm4[9],zero,ymm4[10],zero,ymm4[11],zero,ymm4[12],zero,ymm4[13],zero,ymm4[14],zero,ymm4[15],zero
1039
1039
; AVX512F-NEXT: vpmovdb %zmm4, %xmm4
1040
1040
; AVX512F-NEXT: vextracti128 $1, %ymm2, %xmm2
1041
1041
; AVX512F-NEXT: vpmovsxbw %xmm2, %ymm2
1042
1042
; AVX512F-NEXT: vextracti128 $1, %ymm0, %xmm0
1043
1043
; AVX512F-NEXT: vpmovsxbw %xmm0, %ymm0
1044
1044
; AVX512F-NEXT: vpmullw %ymm2, %ymm0, %ymm0
1045
- ; AVX512F-NEXT: vpmovsxwd %ymm0, % zmm0
1045
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm0 = ymm0[0],zero,ymm0[1],zero,ymm0[2],zero,ymm0[3],zero,ymm0[4],zero,ymm0[5],zero,ymm0[6],zero,ymm0[7],zero,ymm0[8],zero,ymm0[9],zero,ymm0[10],zero,ymm0[11],zero,ymm0[12],zero,ymm0[13],zero,ymm0[14],zero,ymm0[15],zero
1046
1046
; AVX512F-NEXT: vpmovdb %zmm0, %xmm0
1047
1047
; AVX512F-NEXT: vinserti128 $1, %xmm0, %ymm4, %ymm0
1048
1048
; AVX512F-NEXT: vpmovsxbw %xmm3, %ymm2
1049
1049
; AVX512F-NEXT: vpmovsxbw %xmm1, %ymm4
1050
1050
; AVX512F-NEXT: vpmullw %ymm2, %ymm4, %ymm2
1051
- ; AVX512F-NEXT: vpmovsxwd %ymm2, % zmm2
1051
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm2 = ymm2[0],zero,ymm2[1],zero,ymm2[2],zero,ymm2[3],zero,ymm2[4],zero,ymm2[5],zero,ymm2[6],zero,ymm2[7],zero,ymm2[8],zero,ymm2[9],zero,ymm2[10],zero,ymm2[11],zero,ymm2[12],zero,ymm2[13],zero,ymm2[14],zero,ymm2[15],zero
1052
1052
; AVX512F-NEXT: vpmovdb %zmm2, %xmm2
1053
1053
; AVX512F-NEXT: vextracti128 $1, %ymm3, %xmm3
1054
1054
; AVX512F-NEXT: vpmovsxbw %xmm3, %ymm3
1055
1055
; AVX512F-NEXT: vextracti128 $1, %ymm1, %xmm1
1056
1056
; AVX512F-NEXT: vpmovsxbw %xmm1, %ymm1
1057
1057
; AVX512F-NEXT: vpmullw %ymm3, %ymm1, %ymm1
1058
- ; AVX512F-NEXT: vpmovsxwd %ymm1, % zmm1
1058
+ ; AVX512F-NEXT: vpmovzxwd {{.*#+}} zmm1 = ymm1[0],zero,ymm1[1],zero,ymm1[2],zero,ymm1[3],zero,ymm1[4],zero,ymm1[5],zero,ymm1[6],zero,ymm1[7],zero,ymm1[8],zero,ymm1[9],zero,ymm1[10],zero,ymm1[11],zero,ymm1[12],zero,ymm1[13],zero,ymm1[14],zero,ymm1[15],zero
1059
1059
; AVX512F-NEXT: vpmovdb %zmm1, %xmm1
1060
1060
; AVX512F-NEXT: vinserti128 $1, %xmm1, %ymm2, %ymm1
1061
1061
; AVX512F-NEXT: retq
0 commit comments