xref: /llvm-project/llvm/test/MC/X86/KEYLOCKER/x86-64-keylocker-att.s (revision 413577a8790407d75ba834fa5668c2632fe1851e)
1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
2
3// CHECK:      aesdec128kl 268435456(%rbp,%r14,8), %xmm6
4// CHECK: encoding: [0xf3,0x42,0x0f,0x38,0xdd,0xb4,0xf5,0x00,0x00,0x00,0x10]
5               aesdec128kl 268435456(%rbp,%r14,8), %xmm6
6
7// CHECK:      aesdec128kl 291(%r8,%rax,4), %xmm6
8// CHECK: encoding: [0xf3,0x41,0x0f,0x38,0xdd,0xb4,0x80,0x23,0x01,0x00,0x00]
9               aesdec128kl 291(%r8,%rax,4), %xmm6
10
11// CHECK:      aesdec128kl (%rip), %xmm6
12// CHECK: encoding: [0xf3,0x0f,0x38,0xdd,0x35,0x00,0x00,0x00,0x00]
13               aesdec128kl (%rip), %xmm6
14
15// CHECK:      aesdec128kl -1536(,%rbp,2), %xmm6
16// CHECK: encoding: [0xf3,0x0f,0x38,0xdd,0x34,0x6d,0x00,0xfa,0xff,0xff]
17               aesdec128kl -1536(,%rbp,2), %xmm6
18
19// CHECK:      aesdec128kl 6096(%rcx), %xmm6
20// CHECK: encoding: [0xf3,0x0f,0x38,0xdd,0xb1,0xd0,0x17,0x00,0x00]
21               aesdec128kl 6096(%rcx), %xmm6
22
23// CHECK:      aesdec128kl -6144(%rdx), %xmm6
24// CHECK: encoding: [0xf3,0x0f,0x38,0xdd,0xb2,0x00,0xe8,0xff,0xff]
25               aesdec128kl -6144(%rdx), %xmm6
26
27// CHECK:      aesdec256kl  268435456(%rbp,%r14,8), %xmm6
28// CHECK: encoding: [0xf3,0x42,0x0f,0x38,0xdf,0xb4,0xf5,0x00,0x00,0x00,0x10]
29               aesdec256kl  268435456(%rbp,%r14,8), %xmm6
30
31// CHECK:      aesdec256kl  291(%r8,%rax,4), %xmm6
32// CHECK: encoding: [0xf3,0x41,0x0f,0x38,0xdf,0xb4,0x80,0x23,0x01,0x00,0x00]
33               aesdec256kl  291(%r8,%rax,4), %xmm6
34
35// CHECK:      aesdec256kl  (%rip), %xmm6
36// CHECK: encoding: [0xf3,0x0f,0x38,0xdf,0x35,0x00,0x00,0x00,0x00]
37               aesdec256kl  (%rip), %xmm6
38
39// CHECK:      aesdec256kl  -2048(,%rbp,2), %xmm6
40// CHECK: encoding: [0xf3,0x0f,0x38,0xdf,0x34,0x6d,0x00,0xf8,0xff,0xff]
41               aesdec256kl  -2048(,%rbp,2), %xmm6
42
43// CHECK:      aesdec256kl  8128(%rcx), %xmm6
44// CHECK: encoding: [0xf3,0x0f,0x38,0xdf,0xb1,0xc0,0x1f,0x00,0x00]
45               aesdec256kl  8128(%rcx), %xmm6
46
47// CHECK:      aesdec256kl  -8192(%rdx), %xmm6
48// CHECK: encoding: [0xf3,0x0f,0x38,0xdf,0xb2,0x00,0xe0,0xff,0xff]
49               aesdec256kl  -8192(%rdx), %xmm6
50
51// CHECK:      aesenc128kl 268435456(%rbp,%r14,8), %xmm6
52// CHECK: encoding: [0xf3,0x42,0x0f,0x38,0xdc,0xb4,0xf5,0x00,0x00,0x00,0x10]
53               aesenc128kl 268435456(%rbp,%r14,8), %xmm6
54
55// CHECK:      aesenc128kl 291(%r8,%rax,4), %xmm6
56// CHECK: encoding: [0xf3,0x41,0x0f,0x38,0xdc,0xb4,0x80,0x23,0x01,0x00,0x00]
57               aesenc128kl 291(%r8,%rax,4), %xmm6
58
59// CHECK:      aesenc128kl (%rip), %xmm6
60// CHECK: encoding: [0xf3,0x0f,0x38,0xdc,0x35,0x00,0x00,0x00,0x00]
61               aesenc128kl (%rip), %xmm6
62
63// CHECK:      aesenc128kl -1536(,%rbp,2), %xmm6
64// CHECK: encoding: [0xf3,0x0f,0x38,0xdc,0x34,0x6d,0x00,0xfa,0xff,0xff]
65               aesenc128kl -1536(,%rbp,2), %xmm6
66
67// CHECK:      aesenc128kl 6096(%rcx), %xmm6
68// CHECK: encoding: [0xf3,0x0f,0x38,0xdc,0xb1,0xd0,0x17,0x00,0x00]
69               aesenc128kl 6096(%rcx), %xmm6
70
71// CHECK:      aesenc128kl -6144(%rdx), %xmm6
72// CHECK: encoding: [0xf3,0x0f,0x38,0xdc,0xb2,0x00,0xe8,0xff,0xff]
73               aesenc128kl -6144(%rdx), %xmm6
74
75// CHECK:      aesenc256kl  268435456(%rbp,%r14,8), %xmm6
76// CHECK: encoding: [0xf3,0x42,0x0f,0x38,0xde,0xb4,0xf5,0x00,0x00,0x00,0x10]
77               aesenc256kl  268435456(%rbp,%r14,8), %xmm6
78
79// CHECK:      aesenc256kl  291(%r8,%rax,4), %xmm6
80// CHECK: encoding: [0xf3,0x41,0x0f,0x38,0xde,0xb4,0x80,0x23,0x01,0x00,0x00]
81               aesenc256kl  291(%r8,%rax,4), %xmm6
82
83// CHECK:      aesenc256kl  (%rip), %xmm6
84// CHECK: encoding: [0xf3,0x0f,0x38,0xde,0x35,0x00,0x00,0x00,0x00]
85               aesenc256kl  (%rip), %xmm6
86
87// CHECK:      aesenc256kl  -2048(,%rbp,2), %xmm6
88// CHECK: encoding: [0xf3,0x0f,0x38,0xde,0x34,0x6d,0x00,0xf8,0xff,0xff]
89               aesenc256kl  -2048(,%rbp,2), %xmm6
90
91// CHECK:      aesenc256kl  8128(%rcx), %xmm6
92// CHECK: encoding: [0xf3,0x0f,0x38,0xde,0xb1,0xc0,0x1f,0x00,0x00]
93               aesenc256kl  8128(%rcx), %xmm6
94
95// CHECK:      aesenc256kl  -8192(%rdx), %xmm6
96// CHECK: encoding: [0xf3,0x0f,0x38,0xde,0xb2,0x00,0xe0,0xff,0xff]
97               aesenc256kl  -8192(%rdx), %xmm6
98
99// CHECK:      encodekey128 %ecx, %ecx
100// CHECK: encoding: [0xf3,0x0f,0x38,0xfa,0xc9]
101               encodekey128 %ecx, %ecx
102
103// CHECK:      encodekey256 %ecx, %ecx
104// CHECK: encoding: [0xf3,0x0f,0x38,0xfb,0xc9]
105               encodekey256 %ecx, %ecx
106
107// CHECK:      loadiwkey %xmm7, %xmm6
108// CHECK: encoding: [0xf3,0x0f,0x38,0xdc,0xf7]
109               loadiwkey %xmm7, %xmm6
110
111// CHECK:      aesdecwide128kl 268435456(%rbp,%r14,8)
112// CHECK: encoding: [0xf3,0x42,0x0f,0x38,0xd8,0x8c,0xf5,0x00,0x00,0x00,0x10]
113               aesdecwide128kl 268435456(%rbp,%r14,8)
114
115// CHECK:      aesdecwide128kl 291(%r8,%rax,4)
116// CHECK: encoding: [0xf3,0x41,0x0f,0x38,0xd8,0x8c,0x80,0x23,0x01,0x00,0x00]
117               aesdecwide128kl 291(%r8,%rax,4)
118
119// CHECK:      aesdecwide128kl (%rip)
120// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x0d,0x00,0x00,0x00,0x00]
121               aesdecwide128kl (%rip)
122
123// CHECK:      aesdecwide128kl -1536(,%rbp,2)
124// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x0c,0x6d,0x00,0xfa,0xff,0xff]
125               aesdecwide128kl -1536(,%rbp,2)
126
127// CHECK:      aesdecwide128kl 6096(%rcx)
128// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x89,0xd0,0x17,0x00,0x00]
129               aesdecwide128kl 6096(%rcx)
130
131// CHECK:      aesdecwide128kl -6144(%rdx)
132// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x8a,0x00,0xe8,0xff,0xff]
133               aesdecwide128kl -6144(%rdx)
134
135// CHECK:      aesdecwide256kl  268435456(%rbp,%r14,8)
136// CHECK: encoding: [0xf3,0x42,0x0f,0x38,0xd8,0x9c,0xf5,0x00,0x00,0x00,0x10]
137               aesdecwide256kl  268435456(%rbp,%r14,8)
138
139// CHECK:      aesdecwide256kl  291(%r8,%rax,4)
140// CHECK: encoding: [0xf3,0x41,0x0f,0x38,0xd8,0x9c,0x80,0x23,0x01,0x00,0x00]
141               aesdecwide256kl  291(%r8,%rax,4)
142
143// CHECK:      aesdecwide256kl  (%rip)
144// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x1d,0x00,0x00,0x00,0x00]
145               aesdecwide256kl  (%rip)
146
147// CHECK:      aesdecwide256kl  -2048(,%rbp,2)
148// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x1c,0x6d,0x00,0xf8,0xff,0xff]
149               aesdecwide256kl  -2048(,%rbp,2)
150
151// CHECK:      aesdecwide256kl  8128(%rcx)
152// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x99,0xc0,0x1f,0x00,0x00]
153               aesdecwide256kl  8128(%rcx)
154
155// CHECK:      aesdecwide256kl  -8192(%rdx)
156// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x9a,0x00,0xe0,0xff,0xff]
157               aesdecwide256kl  -8192(%rdx)
158
159// CHECK:      aesencwide128kl 268435456(%rbp,%r14,8)
160// CHECK: encoding: [0xf3,0x42,0x0f,0x38,0xd8,0x84,0xf5,0x00,0x00,0x00,0x10]
161               aesencwide128kl 268435456(%rbp,%r14,8)
162
163// CHECK:      aesencwide128kl 291(%r8,%rax,4)
164// CHECK: encoding: [0xf3,0x41,0x0f,0x38,0xd8,0x84,0x80,0x23,0x01,0x00,0x00]
165               aesencwide128kl 291(%r8,%rax,4)
166
167// CHECK:      aesencwide128kl (%rip)
168// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x05,0x00,0x00,0x00,0x00]
169               aesencwide128kl (%rip)
170
171// CHECK:      aesencwide128kl -1536(,%rbp,2)
172// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x04,0x6d,0x00,0xfa,0xff,0xff]
173               aesencwide128kl -1536(,%rbp,2)
174
175// CHECK:      aesencwide128kl 6096(%rcx)
176// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x81,0xd0,0x17,0x00,0x00]
177               aesencwide128kl 6096(%rcx)
178
179// CHECK:      aesencwide128kl -6144(%rdx)
180// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x82,0x00,0xe8,0xff,0xff]
181               aesencwide128kl -6144(%rdx)
182
183// CHECK:      aesencwide256kl  268435456(%rbp,%r14,8)
184// CHECK: encoding: [0xf3,0x42,0x0f,0x38,0xd8,0x94,0xf5,0x00,0x00,0x00,0x10]
185               aesencwide256kl  268435456(%rbp,%r14,8)
186
187// CHECK:      aesencwide256kl  291(%r8,%rax,4)
188// CHECK: encoding: [0xf3,0x41,0x0f,0x38,0xd8,0x94,0x80,0x23,0x01,0x00,0x00]
189               aesencwide256kl  291(%r8,%rax,4)
190
191// CHECK:      aesencwide256kl  (%rip)
192// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x15,0x00,0x00,0x00,0x00]
193               aesencwide256kl  (%rip)
194
195// CHECK:      aesencwide256kl  -2048(,%rbp,2)
196// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x14,0x6d,0x00,0xf8,0xff,0xff]
197               aesencwide256kl  -2048(,%rbp,2)
198
199// CHECK:      aesencwide256kl  8128(%rcx)
200// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x91,0xc0,0x1f,0x00,0x00]
201               aesencwide256kl  8128(%rcx)
202
203// CHECK:      aesencwide256kl  -8192(%rdx)
204// CHECK: encoding: [0xf3,0x0f,0x38,0xd8,0x92,0x00,0xe0,0xff,0xff]
205               aesencwide256kl  -8192(%rdx)
206