1 // RUN
: llvm-mc
-triple x86_64-unknown-unknown
--show-encoding
%s | FileCheck
%s
3 // CHECK
: vaesdec
485498096, %xmm15
, %xmm15
4 // CHECK
: encoding
: [0xc4,0x62,0x01,0xde,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
5 vaesdec
485498096, %xmm15
, %xmm15
7 // CHECK
: vaesdec
485498096, %xmm6
, %xmm6
8 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xde,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
9 vaesdec
485498096, %xmm6
, %xmm6
11 // CHECK
: vaesdec
64(%rdx
,%rax
,4), %xmm15
, %xmm15
12 // CHECK
: encoding
: [0xc4,0x62,0x01,0xde,0x7c,0x82,0x40]
13 vaesdec
64(%rdx
,%rax
,4), %xmm15
, %xmm15
15 // CHECK
: vaesdec
-64(%rdx
,%rax
,4), %xmm15
, %xmm15
16 // CHECK
: encoding
: [0xc4,0x62,0x01,0xde,0x7c,0x82,0xc0]
17 vaesdec
-64(%rdx
,%rax
,4), %xmm15
, %xmm15
19 // CHECK
: vaesdec
64(%rdx
,%rax
,4), %xmm6
, %xmm6
20 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xde,0x74,0x82,0x40]
21 vaesdec
64(%rdx
,%rax
,4), %xmm6
, %xmm6
23 // CHECK
: vaesdec
-64(%rdx
,%rax
,4), %xmm6
, %xmm6
24 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xde,0x74,0x82,0xc0]
25 vaesdec
-64(%rdx
,%rax
,4), %xmm6
, %xmm6
27 // CHECK
: vaesdec
64(%rdx
,%rax
), %xmm15
, %xmm15
28 // CHECK
: encoding
: [0xc4,0x62,0x01,0xde,0x7c,0x02,0x40]
29 vaesdec
64(%rdx
,%rax
), %xmm15
, %xmm15
31 // CHECK
: vaesdec
64(%rdx
,%rax
), %xmm6
, %xmm6
32 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xde,0x74,0x02,0x40]
33 vaesdec
64(%rdx
,%rax
), %xmm6
, %xmm6
35 // CHECK
: vaesdec
64(%rdx
), %xmm15
, %xmm15
36 // CHECK
: encoding
: [0xc4,0x62,0x01,0xde,0x7a,0x40]
37 vaesdec
64(%rdx
), %xmm15
, %xmm15
39 // CHECK
: vaesdec
64(%rdx
), %xmm6
, %xmm6
40 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xde,0x72,0x40]
41 vaesdec
64(%rdx
), %xmm6
, %xmm6
43 // CHECK
: vaesdeclast
485498096, %xmm15
, %xmm15
44 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdf,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
45 vaesdeclast
485498096, %xmm15
, %xmm15
47 // CHECK
: vaesdeclast
485498096, %xmm6
, %xmm6
48 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdf,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
49 vaesdeclast
485498096, %xmm6
, %xmm6
51 // CHECK
: vaesdeclast
64(%rdx
,%rax
,4), %xmm15
, %xmm15
52 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdf,0x7c,0x82,0x40]
53 vaesdeclast
64(%rdx
,%rax
,4), %xmm15
, %xmm15
55 // CHECK
: vaesdeclast
-64(%rdx
,%rax
,4), %xmm15
, %xmm15
56 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdf,0x7c,0x82,0xc0]
57 vaesdeclast
-64(%rdx
,%rax
,4), %xmm15
, %xmm15
59 // CHECK
: vaesdeclast
64(%rdx
,%rax
,4), %xmm6
, %xmm6
60 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdf,0x74,0x82,0x40]
61 vaesdeclast
64(%rdx
,%rax
,4), %xmm6
, %xmm6
63 // CHECK
: vaesdeclast
-64(%rdx
,%rax
,4), %xmm6
, %xmm6
64 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdf,0x74,0x82,0xc0]
65 vaesdeclast
-64(%rdx
,%rax
,4), %xmm6
, %xmm6
67 // CHECK
: vaesdeclast
64(%rdx
,%rax
), %xmm15
, %xmm15
68 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdf,0x7c,0x02,0x40]
69 vaesdeclast
64(%rdx
,%rax
), %xmm15
, %xmm15
71 // CHECK
: vaesdeclast
64(%rdx
,%rax
), %xmm6
, %xmm6
72 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdf,0x74,0x02,0x40]
73 vaesdeclast
64(%rdx
,%rax
), %xmm6
, %xmm6
75 // CHECK
: vaesdeclast
64(%rdx
), %xmm15
, %xmm15
76 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdf,0x7a,0x40]
77 vaesdeclast
64(%rdx
), %xmm15
, %xmm15
79 // CHECK
: vaesdeclast
64(%rdx
), %xmm6
, %xmm6
80 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdf,0x72,0x40]
81 vaesdeclast
64(%rdx
), %xmm6
, %xmm6
83 // CHECK
: vaesdeclast
(%rdx
), %xmm15
, %xmm15
84 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdf,0x3a]
85 vaesdeclast
(%rdx
), %xmm15
, %xmm15
87 // CHECK
: vaesdeclast
(%rdx
), %xmm6
, %xmm6
88 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdf,0x32]
89 vaesdeclast
(%rdx
), %xmm6
, %xmm6
91 // CHECK
: vaesdeclast
%xmm15
, %xmm15
, %xmm15
92 // CHECK
: encoding
: [0xc4,0x42,0x01,0xdf,0xff]
93 vaesdeclast
%xmm15
, %xmm15
, %xmm15
95 // CHECK
: vaesdeclast
%xmm6
, %xmm6
, %xmm6
96 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdf,0xf6]
97 vaesdeclast
%xmm6
, %xmm6
, %xmm6
99 // CHECK
: vaesdec
(%rdx
), %xmm15
, %xmm15
100 // CHECK
: encoding
: [0xc4,0x62,0x01,0xde,0x3a]
101 vaesdec
(%rdx
), %xmm15
, %xmm15
103 // CHECK
: vaesdec
(%rdx
), %xmm6
, %xmm6
104 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xde,0x32]
105 vaesdec
(%rdx
), %xmm6
, %xmm6
107 // CHECK
: vaesdec
%xmm15
, %xmm15
, %xmm15
108 // CHECK
: encoding
: [0xc4,0x42,0x01,0xde,0xff]
109 vaesdec
%xmm15
, %xmm15
, %xmm15
111 // CHECK
: vaesdec
%xmm6
, %xmm6
, %xmm6
112 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xde,0xf6]
113 vaesdec
%xmm6
, %xmm6
, %xmm6
115 // CHECK
: vaesenc
485498096, %xmm15
, %xmm15
116 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdc,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
117 vaesenc
485498096, %xmm15
, %xmm15
119 // CHECK
: vaesenc
485498096, %xmm6
, %xmm6
120 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdc,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
121 vaesenc
485498096, %xmm6
, %xmm6
123 // CHECK
: vaesenc
64(%rdx
,%rax
,4), %xmm15
, %xmm15
124 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdc,0x7c,0x82,0x40]
125 vaesenc
64(%rdx
,%rax
,4), %xmm15
, %xmm15
127 // CHECK
: vaesenc
-64(%rdx
,%rax
,4), %xmm15
, %xmm15
128 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdc,0x7c,0x82,0xc0]
129 vaesenc
-64(%rdx
,%rax
,4), %xmm15
, %xmm15
131 // CHECK
: vaesenc
64(%rdx
,%rax
,4), %xmm6
, %xmm6
132 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdc,0x74,0x82,0x40]
133 vaesenc
64(%rdx
,%rax
,4), %xmm6
, %xmm6
135 // CHECK
: vaesenc
-64(%rdx
,%rax
,4), %xmm6
, %xmm6
136 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdc,0x74,0x82,0xc0]
137 vaesenc
-64(%rdx
,%rax
,4), %xmm6
, %xmm6
139 // CHECK
: vaesenc
64(%rdx
,%rax
), %xmm15
, %xmm15
140 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdc,0x7c,0x02,0x40]
141 vaesenc
64(%rdx
,%rax
), %xmm15
, %xmm15
143 // CHECK
: vaesenc
64(%rdx
,%rax
), %xmm6
, %xmm6
144 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdc,0x74,0x02,0x40]
145 vaesenc
64(%rdx
,%rax
), %xmm6
, %xmm6
147 // CHECK
: vaesenc
64(%rdx
), %xmm15
, %xmm15
148 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdc,0x7a,0x40]
149 vaesenc
64(%rdx
), %xmm15
, %xmm15
151 // CHECK
: vaesenc
64(%rdx
), %xmm6
, %xmm6
152 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdc,0x72,0x40]
153 vaesenc
64(%rdx
), %xmm6
, %xmm6
155 // CHECK
: vaesenclast
485498096, %xmm15
, %xmm15
156 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdd,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
157 vaesenclast
485498096, %xmm15
, %xmm15
159 // CHECK
: vaesenclast
485498096, %xmm6
, %xmm6
160 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdd,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
161 vaesenclast
485498096, %xmm6
, %xmm6
163 // CHECK
: vaesenclast
64(%rdx
,%rax
,4), %xmm15
, %xmm15
164 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdd,0x7c,0x82,0x40]
165 vaesenclast
64(%rdx
,%rax
,4), %xmm15
, %xmm15
167 // CHECK
: vaesenclast
-64(%rdx
,%rax
,4), %xmm15
, %xmm15
168 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdd,0x7c,0x82,0xc0]
169 vaesenclast
-64(%rdx
,%rax
,4), %xmm15
, %xmm15
171 // CHECK
: vaesenclast
64(%rdx
,%rax
,4), %xmm6
, %xmm6
172 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdd,0x74,0x82,0x40]
173 vaesenclast
64(%rdx
,%rax
,4), %xmm6
, %xmm6
175 // CHECK
: vaesenclast
-64(%rdx
,%rax
,4), %xmm6
, %xmm6
176 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdd,0x74,0x82,0xc0]
177 vaesenclast
-64(%rdx
,%rax
,4), %xmm6
, %xmm6
179 // CHECK
: vaesenclast
64(%rdx
,%rax
), %xmm15
, %xmm15
180 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdd,0x7c,0x02,0x40]
181 vaesenclast
64(%rdx
,%rax
), %xmm15
, %xmm15
183 // CHECK
: vaesenclast
64(%rdx
,%rax
), %xmm6
, %xmm6
184 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdd,0x74,0x02,0x40]
185 vaesenclast
64(%rdx
,%rax
), %xmm6
, %xmm6
187 // CHECK
: vaesenclast
64(%rdx
), %xmm15
, %xmm15
188 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdd,0x7a,0x40]
189 vaesenclast
64(%rdx
), %xmm15
, %xmm15
191 // CHECK
: vaesenclast
64(%rdx
), %xmm6
, %xmm6
192 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdd,0x72,0x40]
193 vaesenclast
64(%rdx
), %xmm6
, %xmm6
195 // CHECK
: vaesenclast
(%rdx
), %xmm15
, %xmm15
196 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdd,0x3a]
197 vaesenclast
(%rdx
), %xmm15
, %xmm15
199 // CHECK
: vaesenclast
(%rdx
), %xmm6
, %xmm6
200 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdd,0x32]
201 vaesenclast
(%rdx
), %xmm6
, %xmm6
203 // CHECK
: vaesenclast
%xmm15
, %xmm15
, %xmm15
204 // CHECK
: encoding
: [0xc4,0x42,0x01,0xdd,0xff]
205 vaesenclast
%xmm15
, %xmm15
, %xmm15
207 // CHECK
: vaesenclast
%xmm6
, %xmm6
, %xmm6
208 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdd,0xf6]
209 vaesenclast
%xmm6
, %xmm6
, %xmm6
211 // CHECK
: vaesenc
(%rdx
), %xmm15
, %xmm15
212 // CHECK
: encoding
: [0xc4,0x62,0x01,0xdc,0x3a]
213 vaesenc
(%rdx
), %xmm15
, %xmm15
215 // CHECK
: vaesenc
(%rdx
), %xmm6
, %xmm6
216 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdc,0x32]
217 vaesenc
(%rdx
), %xmm6
, %xmm6
219 // CHECK
: vaesenc
%xmm15
, %xmm15
, %xmm15
220 // CHECK
: encoding
: [0xc4,0x42,0x01,0xdc,0xff]
221 vaesenc
%xmm15
, %xmm15
, %xmm15
223 // CHECK
: vaesenc
%xmm6
, %xmm6
, %xmm6
224 // CHECK
: encoding
: [0xc4,0xe2,0x49,0xdc,0xf6]
225 vaesenc
%xmm6
, %xmm6
, %xmm6
227 // CHECK
: vaesimc
485498096, %xmm15
228 // CHECK
: encoding
: [0xc4,0x62,0x79,0xdb,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
229 vaesimc
485498096, %xmm15
231 // CHECK
: vaesimc
485498096, %xmm6
232 // CHECK
: encoding
: [0xc4,0xe2,0x79,0xdb,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
233 vaesimc
485498096, %xmm6
235 // CHECK
: vaesimc
64(%rdx
,%rax
,4), %xmm15
236 // CHECK
: encoding
: [0xc4,0x62,0x79,0xdb,0x7c,0x82,0x40]
237 vaesimc
64(%rdx
,%rax
,4), %xmm15
239 // CHECK
: vaesimc
-64(%rdx
,%rax
,4), %xmm15
240 // CHECK
: encoding
: [0xc4,0x62,0x79,0xdb,0x7c,0x82,0xc0]
241 vaesimc
-64(%rdx
,%rax
,4), %xmm15
243 // CHECK
: vaesimc
64(%rdx
,%rax
,4), %xmm6
244 // CHECK
: encoding
: [0xc4,0xe2,0x79,0xdb,0x74,0x82,0x40]
245 vaesimc
64(%rdx
,%rax
,4), %xmm6
247 // CHECK
: vaesimc
-64(%rdx
,%rax
,4), %xmm6
248 // CHECK
: encoding
: [0xc4,0xe2,0x79,0xdb,0x74,0x82,0xc0]
249 vaesimc
-64(%rdx
,%rax
,4), %xmm6
251 // CHECK
: vaesimc
64(%rdx
,%rax
), %xmm15
252 // CHECK
: encoding
: [0xc4,0x62,0x79,0xdb,0x7c,0x02,0x40]
253 vaesimc
64(%rdx
,%rax
), %xmm15
255 // CHECK
: vaesimc
64(%rdx
,%rax
), %xmm6
256 // CHECK
: encoding
: [0xc4,0xe2,0x79,0xdb,0x74,0x02,0x40]
257 vaesimc
64(%rdx
,%rax
), %xmm6
259 // CHECK
: vaesimc
64(%rdx
), %xmm15
260 // CHECK
: encoding
: [0xc4,0x62,0x79,0xdb,0x7a,0x40]
261 vaesimc
64(%rdx
), %xmm15
263 // CHECK
: vaesimc
64(%rdx
), %xmm6
264 // CHECK
: encoding
: [0xc4,0xe2,0x79,0xdb,0x72,0x40]
265 vaesimc
64(%rdx
), %xmm6
267 // CHECK
: vaesimc
(%rdx
), %xmm15
268 // CHECK
: encoding
: [0xc4,0x62,0x79,0xdb,0x3a]
269 vaesimc
(%rdx
), %xmm15
271 // CHECK
: vaesimc
(%rdx
), %xmm6
272 // CHECK
: encoding
: [0xc4,0xe2,0x79,0xdb,0x32]
273 vaesimc
(%rdx
), %xmm6
275 // CHECK
: vaesimc
%xmm15
, %xmm15
276 // CHECK
: encoding
: [0xc4,0x42,0x79,0xdb,0xff]
277 vaesimc
%xmm15
, %xmm15
279 // CHECK
: vaesimc
%xmm6
, %xmm6
280 // CHECK
: encoding
: [0xc4,0xe2,0x79,0xdb,0xf6]
283 // CHECK
: vaeskeygenassist $
0, 485498096, %xmm15
284 // CHECK
: encoding
: [0xc4,0x63,0x79,0xdf,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
285 vaeskeygenassist $
0, 485498096, %xmm15
287 // CHECK
: vaeskeygenassist $
0, 485498096, %xmm6
288 // CHECK
: encoding
: [0xc4,0xe3,0x79,0xdf,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
289 vaeskeygenassist $
0, 485498096, %xmm6
291 // CHECK
: vaeskeygenassist $
0, 64(%rdx
,%rax
,4), %xmm15
292 // CHECK
: encoding
: [0xc4,0x63,0x79,0xdf,0x7c,0x82,0x40,0x00]
293 vaeskeygenassist $
0, 64(%rdx
,%rax
,4), %xmm15
295 // CHECK
: vaeskeygenassist $
0, -64(%rdx
,%rax
,4), %xmm15
296 // CHECK
: encoding
: [0xc4,0x63,0x79,0xdf,0x7c,0x82,0xc0,0x00]
297 vaeskeygenassist $
0, -64(%rdx
,%rax
,4), %xmm15
299 // CHECK
: vaeskeygenassist $
0, 64(%rdx
,%rax
,4), %xmm6
300 // CHECK
: encoding
: [0xc4,0xe3,0x79,0xdf,0x74,0x82,0x40,0x00]
301 vaeskeygenassist $
0, 64(%rdx
,%rax
,4), %xmm6
303 // CHECK
: vaeskeygenassist $
0, -64(%rdx
,%rax
,4), %xmm6
304 // CHECK
: encoding
: [0xc4,0xe3,0x79,0xdf,0x74,0x82,0xc0,0x00]
305 vaeskeygenassist $
0, -64(%rdx
,%rax
,4), %xmm6
307 // CHECK
: vaeskeygenassist $
0, 64(%rdx
,%rax
), %xmm15
308 // CHECK
: encoding
: [0xc4,0x63,0x79,0xdf,0x7c,0x02,0x40,0x00]
309 vaeskeygenassist $
0, 64(%rdx
,%rax
), %xmm15
311 // CHECK
: vaeskeygenassist $
0, 64(%rdx
,%rax
), %xmm6
312 // CHECK
: encoding
: [0xc4,0xe3,0x79,0xdf,0x74,0x02,0x40,0x00]
313 vaeskeygenassist $
0, 64(%rdx
,%rax
), %xmm6
315 // CHECK
: vaeskeygenassist $
0, 64(%rdx
), %xmm15
316 // CHECK
: encoding
: [0xc4,0x63,0x79,0xdf,0x7a,0x40,0x00]
317 vaeskeygenassist $
0, 64(%rdx
), %xmm15
319 // CHECK
: vaeskeygenassist $
0, 64(%rdx
), %xmm6
320 // CHECK
: encoding
: [0xc4,0xe3,0x79,0xdf,0x72,0x40,0x00]
321 vaeskeygenassist $
0, 64(%rdx
), %xmm6
323 // CHECK
: vaeskeygenassist $
0, (%rdx
), %xmm15
324 // CHECK
: encoding
: [0xc4,0x63,0x79,0xdf,0x3a,0x00]
325 vaeskeygenassist $
0, (%rdx
), %xmm15
327 // CHECK
: vaeskeygenassist $
0, (%rdx
), %xmm6
328 // CHECK
: encoding
: [0xc4,0xe3,0x79,0xdf,0x32,0x00]
329 vaeskeygenassist $
0, (%rdx
), %xmm6
331 // CHECK
: vaeskeygenassist $
0, %xmm15
, %xmm15
332 // CHECK
: encoding
: [0xc4,0x43,0x79,0xdf,0xff,0x00]
333 vaeskeygenassist $
0, %xmm15
, %xmm15
335 // CHECK
: vaeskeygenassist $
0, %xmm6
, %xmm6
336 // CHECK
: encoding
: [0xc4,0xe3,0x79,0xdf,0xf6,0x00]
337 vaeskeygenassist $
0, %xmm6
, %xmm6