1 //RUN
: llvm-mc
-triple x86_64-unknown-unknown
--show-encoding
< %s | FileCheck
%s
3 // CHECK
: vaesenc
%xmm3
, %xmm2
, %xmm21
4 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdc,0xeb]
5 vaesenc
%xmm3
, %xmm2
, %xmm21
7 // CHECK
: vaesenclast
%xmm3
, %xmm2
, %xmm21
8 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdd,0xeb]
9 vaesenclast
%xmm3
, %xmm2
, %xmm21
11 // CHECK
: vaesdec
%xmm3
, %xmm2
, %xmm21
12 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xde,0xeb]
13 vaesdec
%xmm3
, %xmm2
, %xmm21
15 // CHECK
: vaesdeclast
%xmm3
, %xmm2
, %xmm21
16 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdf,0xeb]
17 vaesdeclast
%xmm3
, %xmm2
, %xmm21
19 // CHECK
: vaesenc
(%rcx
), %xmm2
, %xmm21
20 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdc,0x29]
21 vaesenc
(%rcx
), %xmm2
, %xmm21
23 // CHECK
: vaesenc
-64(%rsp
), %xmm2
, %xmm21
24 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdc,0x6c,0x24,0xfc]
25 vaesenc
-64(%rsp
), %xmm2
, %xmm21
27 // CHECK
: vaesenc
64(%rsp
), %xmm2
, %xmm21
28 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdc,0x6c,0x24,0x04]
29 vaesenc
64(%rsp
), %xmm2
, %xmm21
31 // CHECK
: vaesenc
268435456(%rcx
,%r14,8), %xmm2
, %xmm21
32 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xdc,0xac,0xf1,0x00,0x00,0x00,0x10]
33 vaesenc
268435456(%rcx
,%r14,8), %xmm2
, %xmm21
35 // CHECK
: vaesenc
-536870912(%rcx
,%r14,8), %xmm2
, %xmm21
36 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xdc,0xac,0xf1,0x00,0x00,0x00,0xe0]
37 vaesenc
-536870912(%rcx
,%r14,8), %xmm2
, %xmm21
39 // CHECK
: vaesenc
-536870910(%rcx
,%r14,8), %xmm2
, %xmm21
40 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xdc,0xac,0xf1,0x02,0x00,0x00,0xe0]
41 vaesenc
-536870910(%rcx
,%r14,8), %xmm2
, %xmm21
43 // CHECK
: vaesenclast
(%rcx
), %xmm2
, %xmm21
44 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdd,0x29]
45 vaesenclast
(%rcx
), %xmm2
, %xmm21
47 // CHECK
: vaesenclast
-64(%rsp
), %xmm2
, %xmm21
48 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdd,0x6c,0x24,0xfc]
49 vaesenclast
-64(%rsp
), %xmm2
, %xmm21
51 // CHECK
: vaesenclast
64(%rsp
), %xmm2
, %xmm21
52 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdd,0x6c,0x24,0x04]
53 vaesenclast
64(%rsp
), %xmm2
, %xmm21
55 // CHECK
: vaesenclast
268435456(%rcx
,%r14,8), %xmm2
, %xmm21
56 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xdd,0xac,0xf1,0x00,0x00,0x00,0x10]
57 vaesenclast
268435456(%rcx
,%r14,8), %xmm2
, %xmm21
59 // CHECK
: vaesenclast
-536870912(%rcx
,%r14,8), %xmm2
, %xmm21
60 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xdd,0xac,0xf1,0x00,0x00,0x00,0xe0]
61 vaesenclast
-536870912(%rcx
,%r14,8), %xmm2
, %xmm21
63 // CHECK
: vaesenclast
-536870910(%rcx
,%r14,8), %xmm2
, %xmm21
64 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xdd,0xac,0xf1,0x02,0x00,0x00,0xe0]
65 vaesenclast
-536870910(%rcx
,%r14,8), %xmm2
, %xmm21
67 // CHECK
: vaesdec
(%rcx
), %xmm2
, %xmm21
68 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xde,0x29]
69 vaesdec
(%rcx
), %xmm2
, %xmm21
71 // CHECK
: vaesdec
-64(%rsp
), %xmm2
, %xmm21
72 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xde,0x6c,0x24,0xfc]
73 vaesdec
-64(%rsp
), %xmm2
, %xmm21
75 // CHECK
: vaesdec
64(%rsp
), %xmm2
, %xmm21
76 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xde,0x6c,0x24,0x04]
77 vaesdec
64(%rsp
), %xmm2
, %xmm21
79 // CHECK
: vaesdec
268435456(%rcx
,%r14,8), %xmm2
, %xmm21
80 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xde,0xac,0xf1,0x00,0x00,0x00,0x10]
81 vaesdec
268435456(%rcx
,%r14,8), %xmm2
, %xmm21
83 // CHECK
: vaesdec
-536870912(%rcx
,%r14,8), %xmm2
, %xmm21
84 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xde,0xac,0xf1,0x00,0x00,0x00,0xe0]
85 vaesdec
-536870912(%rcx
,%r14,8), %xmm2
, %xmm21
87 // CHECK
: vaesdec
-536870910(%rcx
,%r14,8), %xmm2
, %xmm21
88 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xde,0xac,0xf1,0x02,0x00,0x00,0xe0]
89 vaesdec
-536870910(%rcx
,%r14,8), %xmm2
, %xmm21
91 // CHECK
: vaesdeclast
(%rcx
), %xmm2
, %xmm21
92 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdf,0x29]
93 vaesdeclast
(%rcx
), %xmm2
, %xmm21
95 // CHECK
: vaesdeclast
-64(%rsp
), %xmm2
, %xmm21
96 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdf,0x6c,0x24,0xfc]
97 vaesdeclast
-64(%rsp
), %xmm2
, %xmm21
99 // CHECK
: vaesdeclast
64(%rsp
), %xmm2
, %xmm21
100 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x08,0xdf,0x6c,0x24,0x04]
101 vaesdeclast
64(%rsp
), %xmm2
, %xmm21
103 // CHECK
: vaesdeclast
268435456(%rcx
,%r14,8), %xmm2
, %xmm21
104 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xdf,0xac,0xf1,0x00,0x00,0x00,0x10]
105 vaesdeclast
268435456(%rcx
,%r14,8), %xmm2
, %xmm21
107 // CHECK
: vaesdeclast
-536870912(%rcx
,%r14,8), %xmm2
, %xmm21
108 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xdf,0xac,0xf1,0x00,0x00,0x00,0xe0]
109 vaesdeclast
-536870912(%rcx
,%r14,8), %xmm2
, %xmm21
111 // CHECK
: vaesdeclast
-536870910(%rcx
,%r14,8), %xmm2
, %xmm21
112 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x08,0xdf,0xac,0xf1,0x02,0x00,0x00,0xe0]
113 vaesdeclast
-536870910(%rcx
,%r14,8), %xmm2
, %xmm21
115 // CHECK
: vaesenc
%ymm3
, %ymm2
, %ymm21
116 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdc,0xeb]
117 vaesenc
%ymm3
, %ymm2
, %ymm21
119 // CHECK
: vaesenclast
%ymm3
, %ymm2
, %ymm21
120 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdd,0xeb]
121 vaesenclast
%ymm3
, %ymm2
, %ymm21
123 // CHECK
: vaesdec
%ymm3
, %ymm2
, %ymm21
124 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xde,0xeb]
125 vaesdec
%ymm3
, %ymm2
, %ymm21
127 // CHECK
: vaesdeclast
%ymm3
, %ymm2
, %ymm21
128 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdf,0xeb]
129 vaesdeclast
%ymm3
, %ymm2
, %ymm21
131 // CHECK
: vaesenc
(%rcx
), %ymm2
, %ymm21
132 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdc,0x29]
133 vaesenc
(%rcx
), %ymm2
, %ymm21
135 // CHECK
: vaesenc
-128(%rsp
), %ymm2
, %ymm21
136 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdc,0x6c,0x24,0xfc]
137 vaesenc
-128(%rsp
), %ymm2
, %ymm21
139 // CHECK
: vaesenc
128(%rsp
), %ymm2
, %ymm21
140 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdc,0x6c,0x24,0x04]
141 vaesenc
128(%rsp
), %ymm2
, %ymm21
143 // CHECK
: vaesenc
268435456(%rcx
,%r14,8), %ymm2
, %ymm21
144 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xdc,0xac,0xf1,0x00,0x00,0x00,0x10]
145 vaesenc
268435456(%rcx
,%r14,8), %ymm2
, %ymm21
147 // CHECK
: vaesenc
-536870912(%rcx
,%r14,8), %ymm2
, %ymm21
148 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xdc,0xac,0xf1,0x00,0x00,0x00,0xe0]
149 vaesenc
-536870912(%rcx
,%r14,8), %ymm2
, %ymm21
151 // CHECK
: vaesenc
-536870910(%rcx
,%r14,8), %ymm2
, %ymm21
152 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xdc,0xac,0xf1,0x02,0x00,0x00,0xe0]
153 vaesenc
-536870910(%rcx
,%r14,8), %ymm2
, %ymm21
155 // CHECK
: vaesenclast
(%rcx
), %ymm2
, %ymm21
156 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdd,0x29]
157 vaesenclast
(%rcx
), %ymm2
, %ymm21
159 // CHECK
: vaesenclast
-128(%rsp
), %ymm2
, %ymm21
160 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdd,0x6c,0x24,0xfc]
161 vaesenclast
-128(%rsp
), %ymm2
, %ymm21
163 // CHECK
: vaesenclast
128(%rsp
), %ymm2
, %ymm21
164 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdd,0x6c,0x24,0x04]
165 vaesenclast
128(%rsp
), %ymm2
, %ymm21
167 // CHECK
: vaesenclast
268435456(%rcx
,%r14,8), %ymm2
, %ymm21
168 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xdd,0xac,0xf1,0x00,0x00,0x00,0x10]
169 vaesenclast
268435456(%rcx
,%r14,8), %ymm2
, %ymm21
171 // CHECK
: vaesenclast
-536870912(%rcx
,%r14,8), %ymm2
, %ymm21
172 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xdd,0xac,0xf1,0x00,0x00,0x00,0xe0]
173 vaesenclast
-536870912(%rcx
,%r14,8), %ymm2
, %ymm21
175 // CHECK
: vaesenclast
-536870910(%rcx
,%r14,8), %ymm2
, %ymm21
176 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xdd,0xac,0xf1,0x02,0x00,0x00,0xe0]
177 vaesenclast
-536870910(%rcx
,%r14,8), %ymm2
, %ymm21
179 // CHECK
: vaesdec
(%rcx
), %ymm2
, %ymm21
180 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xde,0x29]
181 vaesdec
(%rcx
), %ymm2
, %ymm21
183 // CHECK
: vaesdec
-128(%rsp
), %ymm2
, %ymm21
184 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xde,0x6c,0x24,0xfc]
185 vaesdec
-128(%rsp
), %ymm2
, %ymm21
187 // CHECK
: vaesdec
128(%rsp
), %ymm2
, %ymm21
188 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xde,0x6c,0x24,0x04]
189 vaesdec
128(%rsp
), %ymm2
, %ymm21
191 // CHECK
: vaesdec
268435456(%rcx
,%r14,8), %ymm2
, %ymm21
192 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xde,0xac,0xf1,0x00,0x00,0x00,0x10]
193 vaesdec
268435456(%rcx
,%r14,8), %ymm2
, %ymm21
195 // CHECK
: vaesdec
-536870912(%rcx
,%r14,8), %ymm2
, %ymm21
196 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xde,0xac,0xf1,0x00,0x00,0x00,0xe0]
197 vaesdec
-536870912(%rcx
,%r14,8), %ymm2
, %ymm21
199 // CHECK
: vaesdec
-536870910(%rcx
,%r14,8), %ymm2
, %ymm21
200 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xde,0xac,0xf1,0x02,0x00,0x00,0xe0]
201 vaesdec
-536870910(%rcx
,%r14,8), %ymm2
, %ymm21
203 // CHECK
: vaesdeclast
(%rcx
), %ymm2
, %ymm21
204 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdf,0x29]
205 vaesdeclast
(%rcx
), %ymm2
, %ymm21
207 // CHECK
: vaesdeclast
-128(%rsp
), %ymm2
, %ymm21
208 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdf,0x6c,0x24,0xfc]
209 vaesdeclast
-128(%rsp
), %ymm2
, %ymm21
211 // CHECK
: vaesdeclast
128(%rsp
), %ymm2
, %ymm21
212 // CHECK
: encoding
: [0x62,0xe2,0x6d,0x28,0xdf,0x6c,0x24,0x04]
213 vaesdeclast
128(%rsp
), %ymm2
, %ymm21
215 // CHECK
: vaesdeclast
268435456(%rcx
,%r14,8), %ymm2
, %ymm21
216 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xdf,0xac,0xf1,0x00,0x00,0x00,0x10]
217 vaesdeclast
268435456(%rcx
,%r14,8), %ymm2
, %ymm21
219 // CHECK
: vaesdeclast
-536870912(%rcx
,%r14,8), %ymm2
, %ymm21
220 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xdf,0xac,0xf1,0x00,0x00,0x00,0xe0]
221 vaesdeclast
-536870912(%rcx
,%r14,8), %ymm2
, %ymm21
223 // CHECK
: vaesdeclast
-536870910(%rcx
,%r14,8), %ymm2
, %ymm21
224 // CHECK
: encoding
: [0x62,0xa2,0x6d,0x28,0xdf,0xac,0xf1,0x02,0x00,0x00,0xe0]
225 vaesdeclast
-536870910(%rcx
,%r14,8), %ymm2
, %ymm21