xref: /llvm-project/llvm/test/MC/X86/avx_vnni_int8-32-intel.s (revision 23f02693ec58efef6951fcaa689d26b440a25968)
1// RUN: llvm-mc -triple i686-unknown-unknown -mattr=+avxvnniint8 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
2
3// CHECK: vpdpbssd ymm2, ymm3, ymm4
4// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0xd4]
5     vpdpbssd ymm2, ymm3, ymm4
6
7// CHECK: vpdpbssd xmm2, xmm3, xmm4
8// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0xd4]
9     vpdpbssd xmm2, xmm3, xmm4
10
11// CHECK: vpdpbssd ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
12// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
13     vpdpbssd ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
14
15// CHECK: vpdpbssd ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
16// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
17     vpdpbssd ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
18
19// CHECK: vpdpbssd ymm2, ymm3, ymmword ptr [eax]
20// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x10]
21     vpdpbssd ymm2, ymm3, ymmword ptr [eax]
22
23// CHECK: vpdpbssd ymm2, ymm3, ymmword ptr [2*ebp - 1024]
24// CHECK: encoding: [0xc4,0xe2,0x67,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff]
25     vpdpbssd ymm2, ymm3, ymmword ptr [2*ebp - 1024]
26
27// CHECK: vpdpbssd xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
28// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
29     vpdpbssd xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
30
31// CHECK: vpdpbssd xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
32// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
33     vpdpbssd xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
34
35// CHECK: vpdpbssd xmm2, xmm3, xmmword ptr [eax]
36// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x10]
37     vpdpbssd xmm2, xmm3, xmmword ptr [eax]
38
39// CHECK: vpdpbssd xmm2, xmm3, xmmword ptr [2*ebp - 512]
40// CHECK: encoding: [0xc4,0xe2,0x63,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff]
41     vpdpbssd xmm2, xmm3, xmmword ptr [2*ebp - 512]
42
43// CHECK: vpdpbssds ymm2, ymm3, ymm4
44// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0xd4]
45     vpdpbssds ymm2, ymm3, ymm4
46
47// CHECK: vpdpbssds xmm2, xmm3, xmm4
48// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0xd4]
49     vpdpbssds xmm2, xmm3, xmm4
50
51// CHECK: vpdpbssds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
52// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
53     vpdpbssds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
54
55// CHECK: vpdpbssds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
56// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
57     vpdpbssds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
58
59// CHECK: vpdpbssds ymm2, ymm3, ymmword ptr [eax]
60// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x10]
61     vpdpbssds ymm2, ymm3, ymmword ptr [eax]
62
63// CHECK: vpdpbssds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
64// CHECK: encoding: [0xc4,0xe2,0x67,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff]
65     vpdpbssds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
66
67// CHECK: vpdpbssds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
68// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
69     vpdpbssds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
70
71// CHECK: vpdpbssds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
72// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
73     vpdpbssds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
74
75// CHECK: vpdpbssds xmm2, xmm3, xmmword ptr [eax]
76// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x10]
77     vpdpbssds xmm2, xmm3, xmmword ptr [eax]
78
79// CHECK: vpdpbssds xmm2, xmm3, xmmword ptr [2*ebp - 512]
80// CHECK: encoding: [0xc4,0xe2,0x63,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff]
81     vpdpbssds xmm2, xmm3, xmmword ptr [2*ebp - 512]
82
83// CHECK: vpdpbsud ymm2, ymm3, ymm4
84// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0xd4]
85     vpdpbsud ymm2, ymm3, ymm4
86
87// CHECK: vpdpbsud xmm2, xmm3, xmm4
88// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0xd4]
89     vpdpbsud xmm2, xmm3, xmm4
90
91// CHECK: vpdpbsud ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
92// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
93     vpdpbsud ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
94
95// CHECK: vpdpbsud ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
96// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
97     vpdpbsud ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
98
99// CHECK: vpdpbsud ymm2, ymm3, ymmword ptr [eax]
100// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x10]
101     vpdpbsud ymm2, ymm3, ymmword ptr [eax]
102
103// CHECK: vpdpbsud ymm2, ymm3, ymmword ptr [2*ebp - 1024]
104// CHECK: encoding: [0xc4,0xe2,0x66,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff]
105     vpdpbsud ymm2, ymm3, ymmword ptr [2*ebp - 1024]
106
107// CHECK: vpdpbsud xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
108// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
109     vpdpbsud xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
110
111// CHECK: vpdpbsud xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
112// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
113     vpdpbsud xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
114
115// CHECK: vpdpbsud xmm2, xmm3, xmmword ptr [eax]
116// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x10]
117     vpdpbsud xmm2, xmm3, xmmword ptr [eax]
118
119// CHECK: vpdpbsud xmm2, xmm3, xmmword ptr [2*ebp - 512]
120// CHECK: encoding: [0xc4,0xe2,0x62,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff]
121     vpdpbsud xmm2, xmm3, xmmword ptr [2*ebp - 512]
122
123// CHECK: vpdpbsuds ymm2, ymm3, ymm4
124// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0xd4]
125     vpdpbsuds ymm2, ymm3, ymm4
126
127// CHECK: vpdpbsuds xmm2, xmm3, xmm4
128// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0xd4]
129     vpdpbsuds xmm2, xmm3, xmm4
130
131// CHECK: vpdpbsuds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
132// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
133     vpdpbsuds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
134
135// CHECK: vpdpbsuds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
136// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
137     vpdpbsuds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
138
139// CHECK: vpdpbsuds ymm2, ymm3, ymmword ptr [eax]
140// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x10]
141     vpdpbsuds ymm2, ymm3, ymmword ptr [eax]
142
143// CHECK: vpdpbsuds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
144// CHECK: encoding: [0xc4,0xe2,0x66,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff]
145     vpdpbsuds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
146
147// CHECK: vpdpbsuds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
148// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
149     vpdpbsuds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
150
151// CHECK: vpdpbsuds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
152// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
153     vpdpbsuds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
154
155// CHECK: vpdpbsuds xmm2, xmm3, xmmword ptr [eax]
156// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x10]
157     vpdpbsuds xmm2, xmm3, xmmword ptr [eax]
158
159// CHECK: vpdpbsuds xmm2, xmm3, xmmword ptr [2*ebp - 512]
160// CHECK: encoding: [0xc4,0xe2,0x62,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff]
161     vpdpbsuds xmm2, xmm3, xmmword ptr [2*ebp - 512]
162
163// CHECK: vpdpbuud ymm2, ymm3, ymm4
164// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0xd4]
165     vpdpbuud ymm2, ymm3, ymm4
166
167// CHECK: vpdpbuud xmm2, xmm3, xmm4
168// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0xd4]
169     vpdpbuud xmm2, xmm3, xmm4
170
171// CHECK: vpdpbuud ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
172// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
173     vpdpbuud ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
174
175// CHECK: vpdpbuud ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
176// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
177     vpdpbuud ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
178
179// CHECK: vpdpbuud ymm2, ymm3, ymmword ptr [eax]
180// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x10]
181     vpdpbuud ymm2, ymm3, ymmword ptr [eax]
182
183// CHECK: vpdpbuud ymm2, ymm3, ymmword ptr [2*ebp - 1024]
184// CHECK: encoding: [0xc4,0xe2,0x64,0x50,0x14,0x6d,0x00,0xfc,0xff,0xff]
185     vpdpbuud ymm2, ymm3, ymmword ptr [2*ebp - 1024]
186
187// CHECK: vpdpbuud xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
188// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x94,0xf4,0x00,0x00,0x00,0x10]
189     vpdpbuud xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
190
191// CHECK: vpdpbuud xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
192// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x94,0x87,0x23,0x01,0x00,0x00]
193     vpdpbuud xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
194
195// CHECK: vpdpbuud xmm2, xmm3, xmmword ptr [eax]
196// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x10]
197     vpdpbuud xmm2, xmm3, xmmword ptr [eax]
198
199// CHECK: vpdpbuud xmm2, xmm3, xmmword ptr [2*ebp - 512]
200// CHECK: encoding: [0xc4,0xe2,0x60,0x50,0x14,0x6d,0x00,0xfe,0xff,0xff]
201     vpdpbuud xmm2, xmm3, xmmword ptr [2*ebp - 512]
202
203// CHECK: vpdpbuuds ymm2, ymm3, ymm4
204// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0xd4]
205     vpdpbuuds ymm2, ymm3, ymm4
206
207// CHECK: vpdpbuuds xmm2, xmm3, xmm4
208// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0xd4]
209     vpdpbuuds xmm2, xmm3, xmm4
210
211// CHECK: vpdpbuuds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
212// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
213     vpdpbuuds ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
214
215// CHECK: vpdpbuuds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
216// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
217     vpdpbuuds ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
218
219// CHECK: vpdpbuuds ymm2, ymm3, ymmword ptr [eax]
220// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x10]
221     vpdpbuuds ymm2, ymm3, ymmword ptr [eax]
222
223// CHECK: vpdpbuuds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
224// CHECK: encoding: [0xc4,0xe2,0x64,0x51,0x14,0x6d,0x00,0xfc,0xff,0xff]
225     vpdpbuuds ymm2, ymm3, ymmword ptr [2*ebp - 1024]
226
227// CHECK: vpdpbuuds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
228// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x94,0xf4,0x00,0x00,0x00,0x10]
229     vpdpbuuds xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
230
231// CHECK: vpdpbuuds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
232// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x94,0x87,0x23,0x01,0x00,0x00]
233     vpdpbuuds xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
234
235// CHECK: vpdpbuuds xmm2, xmm3, xmmword ptr [eax]
236// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x10]
237     vpdpbuuds xmm2, xmm3, xmmword ptr [eax]
238
239// CHECK: vpdpbuuds xmm2, xmm3, xmmword ptr [2*ebp - 512]
240// CHECK: encoding: [0xc4,0xe2,0x60,0x51,0x14,0x6d,0x00,0xfe,0xff,0xff]
241     vpdpbuuds xmm2, xmm3, xmmword ptr [2*ebp - 512]
242
243