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