1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
2
3// CHECK: clts
4// CHECK: encoding: [0x0f,0x06]
5clts
6
7// CHECK: larl 485498096, %r13d
8// CHECK: encoding: [0x44,0x0f,0x02,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
9larl 485498096, %r13d
10
11// CHECK: larl 64(%rdx), %r13d
12// CHECK: encoding: [0x44,0x0f,0x02,0x6a,0x40]
13larl 64(%rdx), %r13d
14
15// CHECK: larl 64(%rdx,%rax,4), %r13d
16// CHECK: encoding: [0x44,0x0f,0x02,0x6c,0x82,0x40]
17larl 64(%rdx,%rax,4), %r13d
18
19// CHECK: larl -64(%rdx,%rax,4), %r13d
20// CHECK: encoding: [0x44,0x0f,0x02,0x6c,0x82,0xc0]
21larl -64(%rdx,%rax,4), %r13d
22
23// CHECK: larl 64(%rdx,%rax), %r13d
24// CHECK: encoding: [0x44,0x0f,0x02,0x6c,0x02,0x40]
25larl 64(%rdx,%rax), %r13d
26
27// CHECK: larl %r13w, %r13d
28// CHECK: encoding: [0x45,0x0f,0x02,0xed]
29larl %r13d, %r13d
30
31// CHECK: larl (%rdx), %r13d
32// CHECK: encoding: [0x44,0x0f,0x02,0x2a]
33larl (%rdx), %r13d
34
35// CHECK: larq %ax, %rax
36// CHECK: encoding: [0x48,0x0f,0x02,0xc0]
37lar %ax, %rax
38
39// CHECK: larq %ax, %rax
40// CHECK: encoding: [0x48,0x0f,0x02,0xc0]
41lar %rax, %rax
42
43// CHECK: lgdtq 485498096
44// CHECK: encoding: [0x0f,0x01,0x14,0x25,0xf0,0x1c,0xf0,0x1c]
45lgdtq 485498096
46
47// CHECK: lgdtq 64(%rdx)
48// CHECK: encoding: [0x0f,0x01,0x52,0x40]
49lgdtq 64(%rdx)
50
51// CHECK: lgdtq 64(%rdx,%rax,4)
52// CHECK: encoding: [0x0f,0x01,0x54,0x82,0x40]
53lgdtq 64(%rdx,%rax,4)
54
55// CHECK: lgdtq -64(%rdx,%rax,4)
56// CHECK: encoding: [0x0f,0x01,0x54,0x82,0xc0]
57lgdtq -64(%rdx,%rax,4)
58
59// CHECK: lgdtq 64(%rdx,%rax)
60// CHECK: encoding: [0x0f,0x01,0x54,0x02,0x40]
61lgdtq 64(%rdx,%rax)
62
63// CHECK: lgdtq (%rdx)
64// CHECK: encoding: [0x0f,0x01,0x12]
65lgdtq (%rdx)
66
67// CHECK: lidtq 485498096
68// CHECK: encoding: [0x0f,0x01,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
69lidtq 485498096
70
71// CHECK: lidtq 64(%rdx)
72// CHECK: encoding: [0x0f,0x01,0x5a,0x40]
73lidtq 64(%rdx)
74
75// CHECK: lidtq 64(%rdx,%rax,4)
76// CHECK: encoding: [0x0f,0x01,0x5c,0x82,0x40]
77lidtq 64(%rdx,%rax,4)
78
79// CHECK: lidtq -64(%rdx,%rax,4)
80// CHECK: encoding: [0x0f,0x01,0x5c,0x82,0xc0]
81lidtq -64(%rdx,%rax,4)
82
83// CHECK: lidtq 64(%rdx,%rax)
84// CHECK: encoding: [0x0f,0x01,0x5c,0x02,0x40]
85lidtq 64(%rdx,%rax)
86
87// CHECK: lidtq (%rdx)
88// CHECK: encoding: [0x0f,0x01,0x1a]
89lidtq (%rdx)
90
91// CHECK: lldtw 485498096
92// CHECK: encoding: [0x0f,0x00,0x14,0x25,0xf0,0x1c,0xf0,0x1c]
93lldtw 485498096
94
95// CHECK: lldtw 64(%rdx)
96// CHECK: encoding: [0x0f,0x00,0x52,0x40]
97lldtw 64(%rdx)
98
99// CHECK: lldtw 64(%rdx,%rax,4)
100// CHECK: encoding: [0x0f,0x00,0x54,0x82,0x40]
101lldtw 64(%rdx,%rax,4)
102
103// CHECK: lldtw -64(%rdx,%rax,4)
104// CHECK: encoding: [0x0f,0x00,0x54,0x82,0xc0]
105lldtw -64(%rdx,%rax,4)
106
107// CHECK: lldtw 64(%rdx,%rax)
108// CHECK: encoding: [0x0f,0x00,0x54,0x02,0x40]
109lldtw 64(%rdx,%rax)
110
111// CHECK: lldtw %r11w
112// CHECK: encoding: [0x41,0x0f,0x00,0xd3]
113lldtw %r11w
114
115// CHECK: lldtw (%rdx)
116// CHECK: encoding: [0x0f,0x00,0x12]
117lldtw (%rdx)
118
119// CHECK: lmsww 485498096
120// CHECK: encoding: [0x0f,0x01,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
121lmsww 485498096
122
123// CHECK: lmsww 64(%rdx)
124// CHECK: encoding: [0x0f,0x01,0x72,0x40]
125lmsww 64(%rdx)
126
127// CHECK: lmsww 64(%rdx,%rax,4)
128// CHECK: encoding: [0x0f,0x01,0x74,0x82,0x40]
129lmsww 64(%rdx,%rax,4)
130
131// CHECK: lmsww -64(%rdx,%rax,4)
132// CHECK: encoding: [0x0f,0x01,0x74,0x82,0xc0]
133lmsww -64(%rdx,%rax,4)
134
135// CHECK: lmsww 64(%rdx,%rax)
136// CHECK: encoding: [0x0f,0x01,0x74,0x02,0x40]
137lmsww 64(%rdx,%rax)
138
139// CHECK: lmsww %r11w
140// CHECK: encoding: [0x41,0x0f,0x01,0xf3]
141lmsww %r11w
142
143// CHECK: lmsww (%rdx)
144// CHECK: encoding: [0x0f,0x01,0x32]
145lmsww (%rdx)
146
147// CHECK: lsll 485498096, %r13d
148// CHECK: encoding: [0x44,0x0f,0x03,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
149lsll 485498096, %r13d
150
151// CHECK: lsll 64(%rdx), %r13d
152// CHECK: encoding: [0x44,0x0f,0x03,0x6a,0x40]
153lsll 64(%rdx), %r13d
154
155// CHECK: lsll 64(%rdx,%rax,4), %r13d
156// CHECK: encoding: [0x44,0x0f,0x03,0x6c,0x82,0x40]
157lsll 64(%rdx,%rax,4), %r13d
158
159// CHECK: lsll -64(%rdx,%rax,4), %r13d
160// CHECK: encoding: [0x44,0x0f,0x03,0x6c,0x82,0xc0]
161lsll -64(%rdx,%rax,4), %r13d
162
163// CHECK: lsll 64(%rdx,%rax), %r13d
164// CHECK: encoding: [0x44,0x0f,0x03,0x6c,0x02,0x40]
165lsll 64(%rdx,%rax), %r13d
166
167// CHECK: lsll %r13w, %r13d
168// CHECK: encoding: [0x45,0x0f,0x03,0xed]
169lsll %r13d, %r13d
170
171// CHECK: lsll (%rdx), %r13d
172// CHECK: encoding: [0x44,0x0f,0x03,0x2a]
173lsll (%rdx), %r13d
174
175// CHECK: lslq %ax, %rax
176// CHECK: encoding: [0x48,0x0f,0x03,0xc0]
177lsl %ax, %rax
178
179// CHECK: lslq %ax, %rax
180// CHECK: encoding: [0x48,0x0f,0x03,0xc0]
181lsl %rax, %rax
182
183// CHECK: ltrw 485498096
184// CHECK: encoding: [0x0f,0x00,0x1c,0x25,0xf0,0x1c,0xf0,0x1c]
185ltrw 485498096
186
187// CHECK: ltrw 64(%rdx)
188// CHECK: encoding: [0x0f,0x00,0x5a,0x40]
189ltrw 64(%rdx)
190
191// CHECK: ltrw 64(%rdx,%rax,4)
192// CHECK: encoding: [0x0f,0x00,0x5c,0x82,0x40]
193ltrw 64(%rdx,%rax,4)
194
195// CHECK: ltrw -64(%rdx,%rax,4)
196// CHECK: encoding: [0x0f,0x00,0x5c,0x82,0xc0]
197ltrw -64(%rdx,%rax,4)
198
199// CHECK: ltrw 64(%rdx,%rax)
200// CHECK: encoding: [0x0f,0x00,0x5c,0x02,0x40]
201ltrw 64(%rdx,%rax)
202
203// CHECK: ltrw %r11w
204// CHECK: encoding: [0x41,0x0f,0x00,0xdb]
205ltrw %r11w
206
207// CHECK: ltrw (%rdx)
208// CHECK: encoding: [0x0f,0x00,0x1a]
209ltrw (%rdx)
210
211// CHECK: sgdtq 485498096
212// CHECK: encoding: [0x0f,0x01,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
213sgdtq 485498096
214
215// CHECK: sgdtq 64(%rdx)
216// CHECK: encoding: [0x0f,0x01,0x42,0x40]
217sgdtq 64(%rdx)
218
219// CHECK: sgdtq 64(%rdx,%rax,4)
220// CHECK: encoding: [0x0f,0x01,0x44,0x82,0x40]
221sgdtq 64(%rdx,%rax,4)
222
223// CHECK: sgdtq -64(%rdx,%rax,4)
224// CHECK: encoding: [0x0f,0x01,0x44,0x82,0xc0]
225sgdtq -64(%rdx,%rax,4)
226
227// CHECK: sgdtq 64(%rdx,%rax)
228// CHECK: encoding: [0x0f,0x01,0x44,0x02,0x40]
229sgdtq 64(%rdx,%rax)
230
231// CHECK: sgdtq (%rdx)
232// CHECK: encoding: [0x0f,0x01,0x02]
233sgdtq (%rdx)
234
235// CHECK: sidtq 485498096
236// CHECK: encoding: [0x0f,0x01,0x0c,0x25,0xf0,0x1c,0xf0,0x1c]
237sidtq 485498096
238
239// CHECK: sidtq 64(%rdx)
240// CHECK: encoding: [0x0f,0x01,0x4a,0x40]
241sidtq 64(%rdx)
242
243// CHECK: sidtq 64(%rdx,%rax,4)
244// CHECK: encoding: [0x0f,0x01,0x4c,0x82,0x40]
245sidtq 64(%rdx,%rax,4)
246
247// CHECK: sidtq -64(%rdx,%rax,4)
248// CHECK: encoding: [0x0f,0x01,0x4c,0x82,0xc0]
249sidtq -64(%rdx,%rax,4)
250
251// CHECK: sidtq 64(%rdx,%rax)
252// CHECK: encoding: [0x0f,0x01,0x4c,0x02,0x40]
253sidtq 64(%rdx,%rax)
254
255// CHECK: sidtq (%rdx)
256// CHECK: encoding: [0x0f,0x01,0x0a]
257sidtq (%rdx)
258
259// CHECK: sldtw %r13w
260// CHECK: encoding: [0x66,0x41,0x0f,0x00,0xc5]
261sldtw %r13w
262
263// CHECK: sldtl %r13d
264// CHECK: encoding: [0x41,0x0f,0x00,0xc5]
265sldtl %r13d
266
267// CHECK: sldtq %r13
268// CHECK: encoding: [0x49,0x0f,0x00,0xc5]
269sldtq %r13
270
271// CHECK: sldtw 485498096
272// CHECK: encoding: [0x0f,0x00,0x04,0x25,0xf0,0x1c,0xf0,0x1c]
273sldtw 485498096
274
275// CHECK: sldtw 64(%rdx)
276// CHECK: encoding: [0x0f,0x00,0x42,0x40]
277sldtw 64(%rdx)
278
279// CHECK: sldtw 64(%rdx,%rax,4)
280// CHECK: encoding: [0x0f,0x00,0x44,0x82,0x40]
281sldtw 64(%rdx,%rax,4)
282
283// CHECK: sldtw -64(%rdx,%rax,4)
284// CHECK: encoding: [0x0f,0x00,0x44,0x82,0xc0]
285sldtw -64(%rdx,%rax,4)
286
287// CHECK: sldtw 64(%rdx,%rax)
288// CHECK: encoding: [0x0f,0x00,0x44,0x02,0x40]
289sldtw 64(%rdx,%rax)
290
291// CHECK: sldtw (%rdx)
292// CHECK: encoding: [0x0f,0x00,0x02]
293sldtw (%rdx)
294
295// CHECK: smswl %r13d
296// CHECK: encoding: [0x41,0x0f,0x01,0xe5]
297smswl %r13d
298
299// CHECK: smsww 485498096
300// CHECK: encoding: [0x0f,0x01,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
301smsww 485498096
302
303// CHECK: smsww 64(%rdx)
304// CHECK: encoding: [0x0f,0x01,0x62,0x40]
305smsww 64(%rdx)
306
307// CHECK: smsww 64(%rdx,%rax,4)
308// CHECK: encoding: [0x0f,0x01,0x64,0x82,0x40]
309smsww 64(%rdx,%rax,4)
310
311// CHECK: smsww -64(%rdx,%rax,4)
312// CHECK: encoding: [0x0f,0x01,0x64,0x82,0xc0]
313smsww -64(%rdx,%rax,4)
314
315// CHECK: smsww 64(%rdx,%rax)
316// CHECK: encoding: [0x0f,0x01,0x64,0x02,0x40]
317smsww 64(%rdx,%rax)
318
319// CHECK: smsww (%rdx)
320// CHECK: encoding: [0x0f,0x01,0x22]
321smsww (%rdx)
322
323// CHECK: strl %r13d
324// CHECK: encoding: [0x41,0x0f,0x00,0xcd]
325strl %r13d
326
327// CHECK: strw 485498096
328// CHECK: encoding: [0x0f,0x00,0x0c,0x25,0xf0,0x1c,0xf0,0x1c]
329strw 485498096
330
331// CHECK: strw 64(%rdx)
332// CHECK: encoding: [0x0f,0x00,0x4a,0x40]
333strw 64(%rdx)
334
335// CHECK: strw 64(%rdx,%rax,4)
336// CHECK: encoding: [0x0f,0x00,0x4c,0x82,0x40]
337strw 64(%rdx,%rax,4)
338
339// CHECK: strw -64(%rdx,%rax,4)
340// CHECK: encoding: [0x0f,0x00,0x4c,0x82,0xc0]
341strw -64(%rdx,%rax,4)
342
343// CHECK: strw 64(%rdx,%rax)
344// CHECK: encoding: [0x0f,0x00,0x4c,0x02,0x40]
345strw 64(%rdx,%rax)
346
347// CHECK: strw (%rdx)
348// CHECK: encoding: [0x0f,0x00,0x0a]
349strw (%rdx)
350
351// CHECK: verr 485498096
352// CHECK: encoding: [0x0f,0x00,0x24,0x25,0xf0,0x1c,0xf0,0x1c]
353verr 485498096
354
355// CHECK: verr 64(%rdx)
356// CHECK: encoding: [0x0f,0x00,0x62,0x40]
357verr 64(%rdx)
358
359// CHECK: verr 64(%rdx,%rax,4)
360// CHECK: encoding: [0x0f,0x00,0x64,0x82,0x40]
361verr 64(%rdx,%rax,4)
362
363// CHECK: verr -64(%rdx,%rax,4)
364// CHECK: encoding: [0x0f,0x00,0x64,0x82,0xc0]
365verr -64(%rdx,%rax,4)
366
367// CHECK: verr 64(%rdx,%rax)
368// CHECK: encoding: [0x0f,0x00,0x64,0x02,0x40]
369verr 64(%rdx,%rax)
370
371// CHECK: verr %r11w
372// CHECK: encoding: [0x41,0x0f,0x00,0xe3]
373verr %r11w
374
375// CHECK: verr (%rdx)
376// CHECK: encoding: [0x0f,0x00,0x22]
377verr (%rdx)
378
379// CHECK: verw 485498096
380// CHECK: encoding: [0x0f,0x00,0x2c,0x25,0xf0,0x1c,0xf0,0x1c]
381verw 485498096
382
383// CHECK: verw 64(%rdx)
384// CHECK: encoding: [0x0f,0x00,0x6a,0x40]
385verw 64(%rdx)
386
387// CHECK: verw 64(%rdx,%rax,4)
388// CHECK: encoding: [0x0f,0x00,0x6c,0x82,0x40]
389verw 64(%rdx,%rax,4)
390
391// CHECK: verw -64(%rdx,%rax,4)
392// CHECK: encoding: [0x0f,0x00,0x6c,0x82,0xc0]
393verw -64(%rdx,%rax,4)
394
395// CHECK: verw 64(%rdx,%rax)
396// CHECK: encoding: [0x0f,0x00,0x6c,0x02,0x40]
397verw 64(%rdx,%rax)
398
399// CHECK: verw %r11w
400// CHECK: encoding: [0x41,0x0f,0x00,0xeb]
401verw %r11w
402
403// CHECK: verw (%rdx)
404// CHECK: encoding: [0x0f,0x00,0x2a]
405verw (%rdx)
406
407