@@ -27,7 +27,7 @@ define i32 @mul_4xi8_zc(<4 x i8> %a, i32 %c) {
27
27
; AVXVNNI-LABEL: mul_4xi8_zc:
28
28
; AVXVNNI: # %bb.0: # %entry
29
29
; AVXVNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
30
- ; AVXVNNI-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1 ],xmm1[2,3,4,5,6,7 ]
30
+ ; AVXVNNI-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1, 2,3]
31
31
; AVXVNNI-NEXT: {vex} vpdpbusd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm1
32
32
; AVXVNNI-NEXT: vmovd %xmm1, %eax
33
33
; AVXVNNI-NEXT: addl %edi, %eax
@@ -36,7 +36,7 @@ define i32 @mul_4xi8_zc(<4 x i8> %a, i32 %c) {
36
36
; AVX512VNNI-LABEL: mul_4xi8_zc:
37
37
; AVX512VNNI: # %bb.0: # %entry
38
38
; AVX512VNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
39
- ; AVX512VNNI-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1 ],xmm1[2,3,4,5,6,7 ]
39
+ ; AVX512VNNI-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1, 2,3]
40
40
; AVX512VNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
41
41
; AVX512VNNI-NEXT: vpdpbusd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %zmm0, %zmm1
42
42
; AVX512VNNI-NEXT: vmovd %xmm1, %eax
@@ -47,7 +47,7 @@ define i32 @mul_4xi8_zc(<4 x i8> %a, i32 %c) {
47
47
; AVX512VLVNNI-LABEL: mul_4xi8_zc:
48
48
; AVX512VLVNNI: # %bb.0: # %entry
49
49
; AVX512VLVNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
50
- ; AVX512VLVNNI-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1 ],xmm1[2,3,4,5,6,7 ]
50
+ ; AVX512VLVNNI-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1, 2,3]
51
51
; AVX512VLVNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
52
52
; AVX512VLVNNI-NEXT: vpdpbusd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm1
53
53
; AVX512VLVNNI-NEXT: vmovd %xmm1, %eax
@@ -67,7 +67,7 @@ define i32 @mul_4xi4_cz(<4 x i4> %a, i32 %c) {
67
67
; AVXVNNI-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
68
68
; AVXVNNI-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
69
69
; AVXVNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
70
- ; AVXVNNI-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1 ],xmm1[2,3,4,5,6,7 ]
70
+ ; AVXVNNI-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1, 2,3]
71
71
; AVXVNNI-NEXT: {vex} vpdpbusd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm1
72
72
; AVXVNNI-NEXT: vmovd %xmm1, %eax
73
73
; AVXVNNI-NEXT: addl %edi, %eax
@@ -78,7 +78,7 @@ define i32 @mul_4xi4_cz(<4 x i4> %a, i32 %c) {
78
78
; AVX512VNNI-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,4,8,12,u,u,u,u,u,u,u,u,u,u,u,u]
79
79
; AVX512VNNI-NEXT: vpand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
80
80
; AVX512VNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
81
- ; AVX512VNNI-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1 ],xmm1[2,3,4,5,6,7 ]
81
+ ; AVX512VNNI-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1, 2,3]
82
82
; AVX512VNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
83
83
; AVX512VNNI-NEXT: vpdpbusd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %zmm0, %zmm1
84
84
; AVX512VNNI-NEXT: vmovd %xmm1, %eax
@@ -107,7 +107,7 @@ define i32 @mul_4xi8_cs(<4 x i8> %a, i32 %c) {
107
107
; AVXVNNI-LABEL: mul_4xi8_cs:
108
108
; AVXVNNI: # %bb.0: # %entry
109
109
; AVXVNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
110
- ; AVXVNNI-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1 ],xmm1[2,3,4,5,6,7 ]
110
+ ; AVXVNNI-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1, 2,3]
111
111
; AVXVNNI-NEXT: vmovd {{.*#+}} xmm2 = [16,1,2,255,0,0,0,0,0,0,0,0,0,0,0,0]
112
112
; AVXVNNI-NEXT: {vex} vpdpbusd %xmm0, %xmm2, %xmm1
113
113
; AVXVNNI-NEXT: vmovd %xmm1, %eax
@@ -117,7 +117,7 @@ define i32 @mul_4xi8_cs(<4 x i8> %a, i32 %c) {
117
117
; AVX512VNNI-LABEL: mul_4xi8_cs:
118
118
; AVX512VNNI: # %bb.0: # %entry
119
119
; AVX512VNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
120
- ; AVX512VNNI-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1 ],xmm1[2,3,4,5,6,7 ]
120
+ ; AVX512VNNI-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1, 2,3]
121
121
; AVX512VNNI-NEXT: vmovd {{.*#+}} xmm1 = [16,1,2,255,0,0,0,0,0,0,0,0,0,0,0,0]
122
122
; AVX512VNNI-NEXT: vpxor %xmm2, %xmm2, %xmm2
123
123
; AVX512VNNI-NEXT: vpdpbusd %zmm0, %zmm1, %zmm2
@@ -129,7 +129,7 @@ define i32 @mul_4xi8_cs(<4 x i8> %a, i32 %c) {
129
129
; AVX512VLVNNI-LABEL: mul_4xi8_cs:
130
130
; AVX512VLVNNI: # %bb.0: # %entry
131
131
; AVX512VLVNNI-NEXT: vpxor %xmm1, %xmm1, %xmm1
132
- ; AVX512VLVNNI-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1 ],xmm1[2,3,4,5,6,7 ]
132
+ ; AVX512VLVNNI-NEXT: vpblendd {{.*#+}} xmm0 = xmm0[0],xmm1[1, 2,3]
133
133
; AVX512VLVNNI-NEXT: vmovd {{.*#+}} xmm1 = [16,1,2,255,0,0,0,0,0,0,0,0,0,0,0,0]
134
134
; AVX512VLVNNI-NEXT: vpxor %xmm2, %xmm2, %xmm2
135
135
; AVX512VLVNNI-NEXT: vpdpbusd %xmm0, %xmm1, %xmm2
0 commit comments