@@ -808,7 +808,6 @@ define i32 @test_v2i32(<2 x i32> %a0) {
808
808
; AVX512DQ: # %bb.0:
809
809
; AVX512DQ-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
810
810
; AVX512DQ-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
811
- ; AVX512DQ-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero
812
811
; AVX512DQ-NEXT: vpmullq %zmm1, %zmm0, %zmm0
813
812
; AVX512DQ-NEXT: vmovd %xmm0, %eax
814
813
; AVX512DQ-NEXT: vzeroupper
@@ -817,7 +816,6 @@ define i32 @test_v2i32(<2 x i32> %a0) {
817
816
; AVX512DQVL-LABEL: test_v2i32:
818
817
; AVX512DQVL: # %bb.0:
819
818
; AVX512DQVL-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
820
- ; AVX512DQVL-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero
821
819
; AVX512DQVL-NEXT: vpmullq %xmm1, %xmm0, %xmm0
822
820
; AVX512DQVL-NEXT: vmovd %xmm0, %eax
823
821
; AVX512DQVL-NEXT: retq
@@ -1178,7 +1176,6 @@ define i16 @test_v2i16(<2 x i16> %a0) {
1178
1176
; AVX512DQ: # %bb.0:
1179
1177
; AVX512DQ-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1180
1178
; AVX512DQ-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
1181
- ; AVX512DQ-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero
1182
1179
; AVX512DQ-NEXT: vpmullq %zmm1, %zmm0, %zmm0
1183
1180
; AVX512DQ-NEXT: vmovd %xmm0, %eax
1184
1181
; AVX512DQ-NEXT: # kill: def $ax killed $ax killed $eax
@@ -1188,7 +1185,6 @@ define i16 @test_v2i16(<2 x i16> %a0) {
1188
1185
; AVX512DQVL-LABEL: test_v2i16:
1189
1186
; AVX512DQVL: # %bb.0:
1190
1187
; AVX512DQVL-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
1191
- ; AVX512DQVL-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero
1192
1188
; AVX512DQVL-NEXT: vpmullq %xmm1, %xmm0, %xmm0
1193
1189
; AVX512DQVL-NEXT: vmovd %xmm0, %eax
1194
1190
; AVX512DQVL-NEXT: # kill: def $ax killed $ax killed $eax
@@ -1210,7 +1206,7 @@ define i16 @test_v4i16(<4 x i16> %a0) {
1210
1206
; SSE2-NEXT: punpckldq {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
1211
1207
; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm0[1,1,2,3]
1212
1208
; SSE2-NEXT: pmuludq %xmm0, %xmm1
1213
- ; SSE2-NEXT: movd %xmm1, %eax
1209
+ ; SSE2-NEXT: pextrw $0, %xmm1, %eax
1214
1210
; SSE2-NEXT: # kill: def $ax killed $ax killed $eax
1215
1211
; SSE2-NEXT: retq
1216
1212
;
@@ -1658,7 +1654,6 @@ define i8 @test_v2i8(<2 x i8> %a0) {
1658
1654
; AVX512DQ: # %bb.0:
1659
1655
; AVX512DQ-NEXT: # kill: def $xmm0 killed $xmm0 def $zmm0
1660
1656
; AVX512DQ-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
1661
- ; AVX512DQ-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero
1662
1657
; AVX512DQ-NEXT: vpmullq %zmm1, %zmm0, %zmm0
1663
1658
; AVX512DQ-NEXT: vpextrb $0, %xmm0, %eax
1664
1659
; AVX512DQ-NEXT: # kill: def $al killed $al killed $eax
@@ -1668,7 +1663,6 @@ define i8 @test_v2i8(<2 x i8> %a0) {
1668
1663
; AVX512DQVL-LABEL: test_v2i8:
1669
1664
; AVX512DQVL: # %bb.0:
1670
1665
; AVX512DQVL-NEXT: vpshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
1671
- ; AVX512DQVL-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero
1672
1666
; AVX512DQVL-NEXT: vpmullq %xmm1, %xmm0, %xmm0
1673
1667
; AVX512DQVL-NEXT: vpextrb $0, %xmm0, %eax
1674
1668
; AVX512DQVL-NEXT: # kill: def $al killed $al killed $eax
@@ -1899,8 +1893,6 @@ define i8 @test_v16i8(<16 x i8> %a0) {
1899
1893
; AVX2-NEXT: vpmovzxbw {{.*#+}} 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,xmm0[8],zero,xmm0[9],zero,xmm0[10],zero,xmm0[11],zero,xmm0[12],zero,xmm0[13],zero,xmm0[14],zero,xmm0[15],zero
1900
1894
; AVX2-NEXT: vpmovzxbw {{.*#+}} ymm1 = xmm1[0],zero,xmm1[1],zero,xmm1[2],zero,xmm1[3],zero,xmm1[4],zero,xmm1[5],zero,xmm1[6],zero,xmm1[7],zero,xmm1[8],zero,xmm1[9],zero,xmm1[10],zero,xmm1[11],zero,xmm1[12],zero,xmm1[13],zero,xmm1[14],zero,xmm1[15],zero
1901
1895
; AVX2-NEXT: vpmullw %xmm1, %xmm0, %xmm0
1902
- ; AVX2-NEXT: vpand {{.*}}(%rip), %xmm0, %xmm0
1903
- ; AVX2-NEXT: vpackuswb %xmm0, %xmm0, %xmm0
1904
1896
; AVX2-NEXT: vpextrb $0, %xmm0, %eax
1905
1897
; AVX2-NEXT: # kill: def $al killed $al killed $eax
1906
1898
; AVX2-NEXT: vzeroupper
0 commit comments