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