@@ -974,32 +974,11 @@ define <16 x i16> @zext_mulhuw_v16i16_positive_constant(<16 x i16> %a) {
974
974
; SSE-NEXT: pmulhw %xmm2, %xmm1
975
975
; SSE-NEXT: retq
976
976
;
977
- ; AVX2-LABEL: zext_mulhuw_v16i16_positive_constant:
978
- ; AVX2: # %bb.0:
979
- ; AVX2-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
980
- ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm1 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
981
- ; AVX2-NEXT: vextracti128 $1, %ymm0, %xmm0
982
- ; AVX2-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
983
- ; AVX2-NEXT: vpbroadcastd {{.*#+}} ymm2 = [1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0]
984
- ; AVX2-NEXT: vpmulhuw %ymm2, %ymm0, %ymm0
985
- ; AVX2-NEXT: vpmulhuw %ymm2, %ymm1, %ymm1
986
- ; AVX2-NEXT: vpackusdw %ymm0, %ymm1, %ymm0
987
- ; AVX2-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,1,3]
988
- ; AVX2-NEXT: retq
989
- ;
990
- ; AVX512F-LABEL: zext_mulhuw_v16i16_positive_constant:
991
- ; AVX512F: # %bb.0:
992
- ; AVX512F-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
993
- ; AVX512F-NEXT: vpmulhw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0 # [1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000]
994
- ; AVX512F-NEXT: retq
995
- ;
996
- ; AVX512BW-LABEL: zext_mulhuw_v16i16_positive_constant:
997
- ; AVX512BW: # %bb.0:
998
- ; AVX512BW-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
999
- ; AVX512BW-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
1000
- ; AVX512BW-NEXT: vpmulhuw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %zmm0, %zmm0 # [1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0,1000,0]
1001
- ; AVX512BW-NEXT: vpmovdw %zmm0, %ymm0
1002
- ; AVX512BW-NEXT: retq
977
+ ; AVX-LABEL: zext_mulhuw_v16i16_positive_constant:
978
+ ; AVX: # %bb.0:
979
+ ; AVX-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0
980
+ ; AVX-NEXT: vpmulhw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %ymm0, %ymm0 # [1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000,1000]
981
+ ; AVX-NEXT: retq
1003
982
%k = and <16 x i16 > %a , <i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 , i16 32767 >
1004
983
%x = zext nneg <16 x i16 > %k to <16 x i32 >
1005
984
%m = mul nuw nsw <16 x i32 > %x , <i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 , i32 1000 >
0 commit comments