de6b96389eadde284bd9e60fc04ff0212b57f7ef
[oota-llvm.git] / test / MC / X86 / x86-32.s
1 // RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
2
3         pause
4 // CHECK: pause
5 // CHECK: encoding: [0xf3,0x90]
6         sfence
7 // CHECK: sfence
8 // CHECK: encoding: [0x0f,0xae,0xf8]
9         lfence
10 // CHECK: lfence
11 // CHECK: encoding: [0x0f,0xae,0xe8]
12         mfence
13 // CHECK: mfence
14 // CHECK: encoding: [0x0f,0xae,0xf0]
15         monitor
16 // CHECK: monitor
17 // CHECK: encoding: [0x0f,0x01,0xc8]
18         monitor %eax, %ecx, %edx
19 // CHECK: monitor
20 // CHECK: encoding: [0x0f,0x01,0xc8]
21         mwait
22 // CHECK: mwait
23 // CHECK: encoding: [0x0f,0x01,0xc9]
24         mwait %eax, %ecx
25 // CHECK: mwait
26 // CHECK: encoding: [0x0f,0x01,0xc9]
27
28         vmcall
29 // CHECK: vmcall
30 // CHECK: encoding: [0x0f,0x01,0xc1]
31         vmlaunch
32 // CHECK: vmlaunch
33 // CHECK: encoding: [0x0f,0x01,0xc2]
34         vmresume
35 // CHECK: vmresume
36 // CHECK: encoding: [0x0f,0x01,0xc3]
37         vmxoff
38 // CHECK: vmxoff
39 // CHECK: encoding: [0x0f,0x01,0xc4]
40         swapgs
41 // CHECK: swapgs
42 // CHECK: encoding: [0x0f,0x01,0xf8]
43
44 rdtscp
45 // CHECK: rdtscp
46 // CHECK:  encoding: [0x0f,0x01,0xf9]
47
48
49 // CHECK: movl  %eax, 16(%ebp)          # encoding: [0x89,0x45,0x10]
50         movl    %eax, 16(%ebp)
51 // CHECK: movl  %eax, -16(%ebp)          # encoding: [0x89,0x45,0xf0]
52         movl    %eax, -16(%ebp)
53
54 // CHECK: testb %bl, %cl                # encoding: [0x84,0xcb]
55         testb %bl, %cl
56
57 // CHECK: cmpl  %eax, %ebx              # encoding: [0x39,0xc3]
58         cmpl %eax, %ebx
59
60 // CHECK: addw  %ax, %ax                # encoding: [0x66,0x01,0xc0]
61         addw %ax, %ax
62
63 // CHECK: shrl  %eax                    # encoding: [0xd1,0xe8]
64         shrl $1, %eax
65
66 // CHECK: shll  %eax                    # encoding: [0xd1,0xe0]
67         sall $1, %eax
68 // CHECK: shll  %eax                    # encoding: [0xd1,0xe0]
69         sal $1, %eax
70
71 // moffset forms of moves, rdar://7947184
72 movb    0, %al    // CHECK: movb 0, %al  # encoding: [0xa0,A,A,A,A]
73 movw    0, %ax    // CHECK: movw 0, %ax  # encoding: [0x66,0xa1,A,A,A,A]
74 movl    0, %eax   // CHECK: movl 0, %eax  # encoding: [0xa1,A,A,A,A]
75
76 // rdar://7973775
77 into
78 // CHECK: into
79 // CHECK:  encoding: [0xce]
80 int3
81 // CHECK: int3
82 // CHECK:  encoding: [0xcc]
83 int $4
84 // CHECK: int $4
85 // CHECK:  encoding: [0xcd,0x04]
86 int $255
87 // CHECK: int $255
88 // CHECK:  encoding: [0xcd,0xff]
89
90 // CHECK: pushfl        # encoding: [0x9c]
91         pushf
92 // CHECK: pushfl        # encoding: [0x9c]
93         pushfl
94 // CHECK: popfl         # encoding: [0x9d]
95         popf
96 // CHECK: popfl         # encoding: [0x9d]
97         popfl
98
99 // rdar://8014869
100 retl
101 // CHECK: ret
102 // CHECK:  encoding: [0xc3]
103
104 // rdar://7973854
105 // CHECK: cmoval        %eax, %edx
106 // CHECK:  encoding: [0x0f,0x47,0xd0]
107                 cmoval  %eax,%edx
108
109 // CHECK: cmovael       %eax, %edx
110 // CHECK:  encoding: [0x0f,0x43,0xd0]
111                 cmovael %eax,%edx
112
113 // CHECK: cmovbel       %eax, %edx
114 // CHECK:  encoding: [0x0f,0x46,0xd0]
115                 cmovbel %eax,%edx
116
117 // CHECK: cmovbl        %eax, %edx
118 // CHECK:  encoding: [0x0f,0x42,0xd0]
119                 cmovbl  %eax,%edx
120
121 // CHECK: cmovbw %bx, %bx
122 cmovnae %bx,%bx
123
124
125 // CHECK: cmovbel       %eax, %edx
126 // CHECK:  encoding: [0x0f,0x46,0xd0]
127                 cmovbel %eax,%edx
128
129 // CHECK: cmovbl        %eax, %edx
130 // CHECK:  encoding: [0x0f,0x42,0xd0]
131                 cmovcl  %eax,%edx
132
133 // CHECK: cmovel        %eax, %edx
134 // CHECK:  encoding: [0x0f,0x44,0xd0]
135                 cmovel  %eax,%edx
136
137 // CHECK: cmovgl        %eax, %edx
138 // CHECK:  encoding: [0x0f,0x4f,0xd0]
139                 cmovgl  %eax,%edx
140
141 // CHECK: cmovgel       %eax, %edx
142 // CHECK:  encoding: [0x0f,0x4d,0xd0]
143                 cmovgel %eax,%edx
144
145 // CHECK: cmovll        %eax, %edx
146 // CHECK:  encoding: [0x0f,0x4c,0xd0]
147                 cmovll  %eax,%edx
148
149 // CHECK: cmovlel       %eax, %edx
150 // CHECK:  encoding: [0x0f,0x4e,0xd0]
151                 cmovlel %eax,%edx
152
153 // CHECK: cmovbel       %eax, %edx
154 // CHECK:  encoding: [0x0f,0x46,0xd0]
155                 cmovnal %eax,%edx
156
157 // CHECK: cmovnel       %eax, %edx
158 // CHECK:  encoding: [0x0f,0x45,0xd0]
159                 cmovnel %eax,%edx
160
161 // CHECK: cmovael       %eax, %edx
162 // CHECK:  encoding: [0x0f,0x43,0xd0]
163                 cmovnbl %eax,%edx
164
165 // CHECK: cmoval        %eax, %edx
166 // CHECK:  encoding: [0x0f,0x47,0xd0]
167                 cmovnbel        %eax,%edx
168
169 // CHECK: cmovael       %eax, %edx
170 // CHECK:  encoding: [0x0f,0x43,0xd0]
171                 cmovncl %eax,%edx
172
173 // CHECK: cmovnel       %eax, %edx
174 // CHECK:  encoding: [0x0f,0x45,0xd0]
175                 cmovnel %eax,%edx
176
177 // CHECK: cmovlel       %eax, %edx
178 // CHECK:  encoding: [0x0f,0x4e,0xd0]
179                 cmovngl %eax,%edx
180
181 // CHECK: cmovgel       %eax, %edx
182 // CHECK:  encoding: [0x0f,0x4d,0xd0]
183                 cmovnl  %eax,%edx
184
185 // CHECK: cmovnel       %eax, %edx
186 // CHECK:  encoding: [0x0f,0x45,0xd0]
187                 cmovnel %eax,%edx
188
189 // CHECK: cmovlel       %eax, %edx
190 // CHECK:  encoding: [0x0f,0x4e,0xd0]
191                 cmovngl %eax,%edx
192
193 // CHECK: cmovll        %eax, %edx
194 // CHECK:  encoding: [0x0f,0x4c,0xd0]
195                 cmovngel        %eax,%edx
196
197 // CHECK: cmovgel       %eax, %edx
198 // CHECK:  encoding: [0x0f,0x4d,0xd0]
199                 cmovnll %eax,%edx
200
201 // CHECK: cmovgl        %eax, %edx
202 // CHECK:  encoding: [0x0f,0x4f,0xd0]
203                 cmovnlel        %eax,%edx
204
205 // CHECK: cmovnol       %eax, %edx
206 // CHECK:  encoding: [0x0f,0x41,0xd0]
207                 cmovnol %eax,%edx
208
209 // CHECK: cmovnpl       %eax, %edx
210 // CHECK:  encoding: [0x0f,0x4b,0xd0]
211                 cmovnpl %eax,%edx
212
213 // CHECK: cmovnsl       %eax, %edx
214 // CHECK:  encoding: [0x0f,0x49,0xd0]
215                 cmovnsl %eax,%edx
216
217 // CHECK: cmovnel       %eax, %edx
218 // CHECK:  encoding: [0x0f,0x45,0xd0]
219                 cmovnzl %eax,%edx
220
221 // CHECK: cmovol        %eax, %edx
222 // CHECK:  encoding: [0x0f,0x40,0xd0]
223                 cmovol  %eax,%edx
224
225 // CHECK: cmovpl        %eax, %edx
226 // CHECK:  encoding: [0x0f,0x4a,0xd0]
227                 cmovpl  %eax,%edx
228
229 // CHECK: cmovsl        %eax, %edx
230 // CHECK:  encoding: [0x0f,0x48,0xd0]
231                 cmovsl  %eax,%edx
232
233 // CHECK: cmovel        %eax, %edx
234 // CHECK:  encoding: [0x0f,0x44,0xd0]
235                 cmovzl  %eax,%edx
236
237 // CHECK: cmpps $0, %xmm0, %xmm1
238 // CHECK: encoding: [0x0f,0xc2,0xc8,0x00]
239         cmpps $0, %xmm0, %xmm1
240 // CHECK:       cmpps   $0, (%eax), %xmm1
241 // CHECK: encoding: [0x0f,0xc2,0x08,0x00]
242         cmpps $0, 0(%eax), %xmm1
243 // CHECK:       cmppd   $0, %xmm0, %xmm1
244 // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x00]
245         cmppd $0, %xmm0, %xmm1
246 // CHECK:       cmppd   $0, (%eax), %xmm1
247 // CHECK: encoding: [0x66,0x0f,0xc2,0x08,0x00]
248         cmppd $0, 0(%eax), %xmm1
249 // CHECK:       cmpss   $0, %xmm0, %xmm1
250 // CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x00]
251         cmpss $0, %xmm0, %xmm1
252 // CHECK:       cmpss   $0, (%eax), %xmm1
253 // CHECK: encoding: [0xf3,0x0f,0xc2,0x08,0x00]
254         cmpss $0, 0(%eax), %xmm1
255 // CHECK:       cmpsd   $0, %xmm0, %xmm1
256 // CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x00]
257         cmpsd $0, %xmm0, %xmm1
258 // CHECK:       cmpsd   $0, (%eax), %xmm1
259 // CHECK: encoding: [0xf2,0x0f,0xc2,0x08,0x00]
260         cmpsd $0, 0(%eax), %xmm1
261
262 // Check matching of instructions which embed the SSE comparison code.
263
264 // CHECK: cmpps $0, %xmm0, %xmm1
265 // CHECK: encoding: [0x0f,0xc2,0xc8,0x00]
266         cmpeqps %xmm0, %xmm1
267
268 // CHECK: cmppd $1, %xmm0, %xmm1
269 // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x01]
270         cmpltpd %xmm0, %xmm1
271
272 // CHECK: cmpss $2, %xmm0, %xmm1
273 // CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x02]
274         cmpless %xmm0, %xmm1
275
276 // CHECK: cmppd $3, %xmm0, %xmm1
277 // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x03]
278         cmpunordpd %xmm0, %xmm1
279
280 // CHECK: cmpps $4, %xmm0, %xmm1
281 // CHECK: encoding: [0x0f,0xc2,0xc8,0x04]
282         cmpneqps %xmm0, %xmm1
283
284 // CHECK: cmppd $5, %xmm0, %xmm1
285 // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x05]
286         cmpnltpd %xmm0, %xmm1
287
288 // CHECK: cmpss $6, %xmm0, %xmm1
289 // CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x06]
290         cmpnless %xmm0, %xmm1
291
292 // CHECK: cmpsd $7, %xmm0, %xmm1
293 // CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x07]
294         cmpordsd %xmm0, %xmm1
295
296 // rdar://7995856
297 // CHECK: fmul  %st(0)
298 // CHECK:  encoding: [0xd8,0xc8]
299         fmul %st(0), %st
300
301 // CHECK: fadd  %st(0)
302 // CHECK:  encoding: [0xd8,0xc0]
303         fadd %st(0), %st
304
305 // CHECK: fsub  %st(0)
306 // CHECK:  encoding: [0xd8,0xe0]
307         fsub %st(0), %st
308
309 // CHECK: fsubr %st(0)
310 // CHECK:  encoding: [0xd8,0xe8]
311         fsubr %st(0), %st
312
313 // CHECK: fdivr %st(0)
314 // CHECK:  encoding: [0xd8,0xf8]
315         fdivr %st(0), %st
316
317 // CHECK: fdiv  %st(0)
318 // CHECK:  encoding: [0xd8,0xf0]
319         fdiv %st(0), %st
320
321 // radr://8017519
322 // CHECK: movl  %cs, %eax
323 // CHECK:  encoding: [0x8c,0xc8]
324         movl %cs, %eax
325
326 // CHECK: movw  %cs, %ax
327 // CHECK:  encoding: [0x66,0x8c,0xc8]
328         movw %cs, %ax
329
330 // CHECK: movl  %cs, (%eax)
331 // CHECK:  encoding: [0x8c,0x08]
332         movl %cs, (%eax)
333
334 // CHECK: movw  %cs, (%eax)
335 // CHECK:  encoding: [0x66,0x8c,0x08]
336         movw %cs, (%eax)
337
338 // CHECK: movl  %eax, %cs
339 // CHECK:  encoding: [0x8e,0xc8]
340         movl %eax, %cs
341
342 // CHECK: movl  (%eax), %cs
343 // CHECK:  encoding: [0x8e,0x08]
344         movl (%eax), %cs
345
346 // CHECK: movw  (%eax), %cs
347 // CHECK:  encoding: [0x66,0x8e,0x08]
348         movw (%eax), %cs
349
350 // radr://8033374
351 // CHECK: movl  %cr0, %eax
352 // CHECK:  encoding: [0x0f,0x20,0xc0]
353         movl %cr0,%eax
354
355 // CHECK: movl  %cr1, %eax
356 // CHECK:  encoding: [0x0f,0x20,0xc8]
357         movl %cr1,%eax
358
359 // CHECK: movl  %cr2, %eax
360 // CHECK:  encoding: [0x0f,0x20,0xd0]
361         movl %cr2,%eax
362
363 // CHECK: movl  %cr3, %eax
364 // CHECK:  encoding: [0x0f,0x20,0xd8]
365         movl %cr3,%eax
366
367 // CHECK: movl  %cr4, %eax
368 // CHECK:  encoding: [0x0f,0x20,0xe0]
369         movl %cr4,%eax
370
371 // CHECK: movl  %dr0, %eax
372 // CHECK:  encoding: [0x0f,0x21,0xc0]
373         movl %dr0,%eax
374
375 // CHECK: movl  %dr1, %eax
376 // CHECK:  encoding: [0x0f,0x21,0xc8]
377         movl %dr1,%eax
378
379 // CHECK: movl  %dr1, %eax
380 // CHECK:  encoding: [0x0f,0x21,0xc8]
381         movl %dr1,%eax
382
383 // CHECK: movl  %dr2, %eax
384 // CHECK:  encoding: [0x0f,0x21,0xd0]
385         movl %dr2,%eax
386
387 // CHECK: movl  %dr3, %eax
388 // CHECK:  encoding: [0x0f,0x21,0xd8]
389         movl %dr3,%eax
390
391 // CHECK: movl  %dr4, %eax
392 // CHECK:  encoding: [0x0f,0x21,0xe0]
393         movl %dr4,%eax
394
395 // CHECK: movl  %dr5, %eax
396 // CHECK:  encoding: [0x0f,0x21,0xe8]
397         movl %dr5,%eax
398
399 // CHECK: movl  %dr6, %eax
400 // CHECK:  encoding: [0x0f,0x21,0xf0]
401         movl %dr6,%eax
402
403 // CHECK: movl  %dr7, %eax
404 // CHECK:  encoding: [0x0f,0x21,0xf8]
405         movl %dr7,%eax
406
407 // radr://8017522
408 // CHECK: wait
409 // CHECK:  encoding: [0x9b]
410         fwait
411
412 // rdar://7873482
413 // CHECK: [0x65,0x8b,0x05,0x7c,0x00,0x00,0x00]
414 // FIXME: This is a correct bug poor encoding: Use 65 a1 7c 00 00 00 
415         movl    %gs:124, %eax
416
417 // CHECK: pusha
418 // CHECK:  encoding: [0x60]
419                 pusha
420
421 // CHECK: popa
422 // CHECK:  encoding: [0x61]
423                 popa
424
425 // CHECK: pushal
426 // CHECK:  encoding: [0x60]
427                 pushal
428
429 // CHECK: popal
430 // CHECK:  encoding: [0x61]
431                 popal
432
433 // CHECK: jmpl *8(%eax)
434 // CHECK:   encoding: [0xff,0x60,0x08]
435         jmp     *8(%eax)
436
437 // PR7465
438 // CHECK: lcalll $2, $4660
439 // CHECK:   encoding: [0x9a,0x34,0x12,0x00,0x00,0x02,0x00]
440 lcalll $0x2, $0x1234
441
442
443 // rdar://8061602
444 L1:
445   jcxz L1
446 // CHECK: jcxz L1
447 // CHECK:   encoding: [0x67,0xe3,A]
448   jecxz L1
449 // CHECK: jecxz L1
450 // CHECK:   encoding: [0xe3,A]
451
452 // rdar://8403974
453 iret
454 // CHECK: iretl
455 // CHECK: encoding: [0xcf]
456 iretw
457 // CHECK: iretw
458 // CHECK: encoding: [0x66,0xcf]
459 iretl
460 // CHECK: iretl
461 // CHECK: encoding: [0xcf]
462
463 // rdar://8403907
464 sysret
465 // CHECK: sysretl
466 // CHECK: encoding: [0x0f,0x07]
467 sysretl
468 // CHECK: sysretl
469 // CHECK: encoding: [0x0f,0x07]
470
471 // rdar://8018260
472 testl   %ecx, -24(%ebp)
473 // CHECK: testl -24(%ebp), %ecx
474 testl   -24(%ebp), %ecx
475 // CHECK: testl -24(%ebp), %ecx
476
477
478 // rdar://8407242
479 push %cs
480 // CHECK: pushl %cs
481 // CHECK: encoding: [0x0e]
482 push %ds
483 // CHECK: pushl %ds
484 // CHECK: encoding: [0x1e]
485 push %ss
486 // CHECK: pushl %ss
487 // CHECK: encoding: [0x16]
488 push %es
489 // CHECK: pushl %es
490 // CHECK: encoding: [0x06]
491 push %fs
492 // CHECK: pushl %fs
493 // CHECK: encoding: [0x0f,0xa0]
494 push %gs
495 // CHECK: pushl %gs
496 // CHECK: encoding: [0x0f,0xa8]
497
498 pushw %cs
499 // CHECK: pushw %cs
500 // CHECK: encoding: [0x66,0x0e]
501 pushw %ds
502 // CHECK: pushw %ds
503 // CHECK: encoding: [0x66,0x1e]
504 pushw %ss
505 // CHECK: pushw %ss
506 // CHECK: encoding: [0x66,0x16]
507 pushw %es
508 // CHECK: pushw %es
509 // CHECK: encoding: [0x66,0x06]
510 pushw %fs
511 // CHECK: pushw %fs
512 // CHECK: encoding: [0x66,0x0f,0xa0]
513 pushw %gs
514 // CHECK: pushw %gs
515 // CHECK: encoding: [0x66,0x0f,0xa8]
516
517 pop %ss
518 // CHECK: popl  %ss
519 // CHECK: encoding: [0x17]
520 pop %ds
521 // CHECK: popl  %ds
522 // CHECK: encoding: [0x1f]
523 pop %es
524 // CHECK: popl  %es
525 // CHECK: encoding: [0x07]
526
527 // rdar://8408129
528 pushfd
529 // CHECK: pushfl
530 popfd
531 // CHECK: popfl
532 pushfl
533 // CHECK: pushfl
534 popfl
535 // CHECK: popfl
536
537
538 // rdar://8416805
539         setc    %bl
540         setnae  %bl
541         setnb   %bl
542         setnc   %bl
543         setna   %bl
544         setnbe  %bl
545         setpe   %bl
546         setpo   %bl
547         setnge  %bl
548         setnl   %bl
549         setng   %bl
550         setnle  %bl
551
552 // PR8686
553         setneb  %cl // CHECK: setne %cl
554         setcb   %bl // CHECK: setb %bl
555         setnaeb %bl // CHECK: setb %bl
556
557
558 // CHECK: lcalll        $31438, $31438
559 // CHECK: lcalll        $31438, $31438
560 // CHECK: ljmpl $31438, $31438
561 // CHECK: ljmpl $31438, $31438
562
563 calll   $0x7ace,$0x7ace
564 lcalll  $0x7ace,$0x7ace
565 jmpl    $0x7ace,$0x7ace
566 ljmpl   $0x7ace,$0x7ace
567
568 // CHECK: lcalll        $31438, $31438
569 // CHECK: lcalll        $31438, $31438
570 // CHECK: ljmpl $31438, $31438
571 // CHECK: ljmpl $31438, $31438
572
573 call    $0x7ace,$0x7ace
574 lcall   $0x7ace,$0x7ace
575 jmp     $0x7ace,$0x7ace
576 ljmp    $0x7ace,$0x7ace
577
578 // rdar://8456370
579 // CHECK: calll a
580  calll a
581
582 // CHECK:       incb    %al # encoding: [0xfe,0xc0]
583         incb %al
584
585 // CHECK:       incw    %ax # encoding: [0x66,0x40]
586         incw %ax
587
588 // CHECK:       incl    %eax # encoding: [0x40]
589         incl %eax
590
591 // CHECK:       decb    %al # encoding: [0xfe,0xc8]
592         decb %al
593
594 // CHECK:       decw    %ax # encoding: [0x66,0x48]
595         decw %ax
596
597 // CHECK:       decl    %eax # encoding: [0x48]
598         decl %eax
599
600 // CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e]
601 pshufw $14, %mm4, %mm0
602
603 // CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a]
604 // PR8288
605 pshufw $90, %mm4, %mm0
606
607 // rdar://8416805
608 // CHECK: aaa
609 // CHECK:  encoding: [0x37]
610                 aaa
611
612 // CHECK: aad   $1
613 // CHECK:  encoding: [0xd5,0x01]
614                 aad     $1
615
616 // CHECK: aad   $10
617 // CHECK:  encoding: [0xd5,0x0a]
618                 aad     $0xA
619
620 // CHECK: aad   $10
621 // CHECK:  encoding: [0xd5,0x0a]
622                 aad
623
624 // CHECK: aam   $2
625 // CHECK:  encoding: [0xd4,0x02]
626                 aam     $2
627
628 // CHECK: aam   $10
629 // CHECK:  encoding: [0xd4,0x0a]
630                 aam     $0xA
631
632 // CHECK: aam   $10
633 // CHECK:  encoding: [0xd4,0x0a]
634                 aam
635
636 // CHECK: aas
637 // CHECK:  encoding: [0x3f]
638                 aas
639
640 // CHECK: daa
641 // CHECK:  encoding: [0x27]
642                 daa
643
644 // CHECK: das
645 // CHECK:  encoding: [0x2f]
646                 das
647
648 // CHECK: retw  $31438
649 // CHECK:  encoding: [0x66,0xc2,0xce,0x7a]
650                 retw    $0x7ace
651
652 // CHECK: lretw $31438
653 // CHECK:  encoding: [0x66,0xca,0xce,0x7a]
654                 lretw   $0x7ace
655
656 // CHECK: bound 2(%eax), %bx
657 // CHECK:  encoding: [0x66,0x62,0x58,0x02]
658                 bound   2(%eax),%bx
659
660 // CHECK: bound 4(%ebx), %ecx
661 // CHECK:  encoding: [0x62,0x4b,0x04]
662                 bound   4(%ebx),%ecx
663
664 // CHECK: arpl  %bx, %bx
665 // CHECK:  encoding: [0x63,0xdb]
666                 arpl    %bx,%bx
667
668 // CHECK: arpl  %bx, 6(%ecx)
669 // CHECK:  encoding: [0x63,0x59,0x06]
670                 arpl    %bx,6(%ecx)
671
672 // CHECK: lgdtw 4(%eax)
673 // CHECK:  encoding: [0x66,0x0f,0x01,0x50,0x04]
674                 lgdtw   4(%eax)
675
676 // CHECK: lgdt  4(%eax)
677 // CHECK:  encoding: [0x0f,0x01,0x50,0x04]
678                 lgdt    4(%eax)
679
680 // CHECK: lgdt  4(%eax)
681 // CHECK:  encoding: [0x0f,0x01,0x50,0x04]
682                 lgdtl   4(%eax)
683
684 // CHECK: lidtw 4(%eax)
685 // CHECK:  encoding: [0x66,0x0f,0x01,0x58,0x04]
686                 lidtw   4(%eax)
687
688 // CHECK: lidt  4(%eax)
689 // CHECK:  encoding: [0x0f,0x01,0x58,0x04]
690                 lidt    4(%eax)
691
692 // CHECK: lidt  4(%eax)
693 // CHECK:  encoding: [0x0f,0x01,0x58,0x04]
694                 lidtl   4(%eax)
695
696 // CHECK: sgdtw 4(%eax)
697 // CHECK:  encoding: [0x66,0x0f,0x01,0x40,0x04]
698                 sgdtw   4(%eax)
699
700 // CHECK: sgdt  4(%eax)
701 // CHECK:  encoding: [0x0f,0x01,0x40,0x04]
702                 sgdt    4(%eax)
703
704 // CHECK: sgdt  4(%eax)
705 // CHECK:  encoding: [0x0f,0x01,0x40,0x04]
706                 sgdtl   4(%eax)
707
708 // CHECK: sidtw 4(%eax)
709 // CHECK:  encoding: [0x66,0x0f,0x01,0x48,0x04]
710                 sidtw   4(%eax)
711
712 // CHECK: sidt  4(%eax)
713 // CHECK:  encoding: [0x0f,0x01,0x48,0x04]
714                 sidt    4(%eax)
715
716 // CHECK: sidt  4(%eax)
717 // CHECK:  encoding: [0x0f,0x01,0x48,0x04]
718                 sidtl   4(%eax)
719
720 // CHECK: fcompi        %st(2)
721 // CHECK:  encoding: [0xdf,0xf2]
722                 fcompi  %st(2), %st
723
724 // CHECK: fcompi        %st(2)
725 // CHECK:  encoding: [0xdf,0xf2]
726                 fcompi  %st(2)
727
728 // CHECK: fcompi        %st(1)
729 // CHECK:  encoding: [0xdf,0xf1]
730                 fcompi
731
732 // CHECK: fucompi       %st(2)
733 // CHECK:  encoding: [0xdf,0xea]
734                 fucompi %st(2),%st
735
736 // CHECK: fucompi       %st(2)
737 // CHECK:  encoding: [0xdf,0xea]
738                 fucompi %st(2)
739
740 // CHECK: fucompi       %st(1)
741 // CHECK:  encoding: [0xdf,0xe9]
742                 fucompi
743
744 // CHECK: fldcw 32493
745 // CHECK:  encoding: [0xd9,0x2d,0xed,0x7e,0x00,0x00]
746                 fldcww  0x7eed
747
748 // CHECK: fldcw 32493
749 // CHECK:  encoding: [0xd9,0x2d,0xed,0x7e,0x00,0x00]
750                 fldcw   0x7eed
751
752 // CHECK: fnstcw        32493
753 // CHECK:  encoding: [0xd9,0x3d,0xed,0x7e,0x00,0x00]
754                 fnstcww 0x7eed
755
756 // CHECK: fnstcw        32493
757 // CHECK:  encoding: [0xd9,0x3d,0xed,0x7e,0x00,0x00]
758                 fnstcw  0x7eed
759
760 // CHECK: wait
761 // CHECK:  encoding: [0x9b]
762                 fstcww  0x7eed
763
764 // CHECK: wait
765 // CHECK:  encoding: [0x9b]
766                 fstcw   0x7eed
767
768 // CHECK: fnstsw        32493
769 // CHECK:  encoding: [0xdd,0x3d,0xed,0x7e,0x00,0x00]
770                 fnstsww 0x7eed
771
772 // CHECK: fnstsw        32493
773 // CHECK:  encoding: [0xdd,0x3d,0xed,0x7e,0x00,0x00]
774                 fnstsw  0x7eed
775
776 // CHECK: wait
777 // CHECK:  encoding: [0x9b]
778                 fstsww  0x7eed
779
780 // CHECK: wait
781 // CHECK:  encoding: [0x9b]
782                 fstsw   0x7eed
783
784 // CHECK: verr  32493
785 // CHECK:  encoding: [0x0f,0x00,0x25,0xed,0x7e,0x00,0x00]
786                 verrw   0x7eed
787
788 // CHECK: verr  32493
789 // CHECK:  encoding: [0x0f,0x00,0x25,0xed,0x7e,0x00,0x00]
790                 verr    0x7eed
791
792 // CHECK: wait
793 // CHECK:  encoding: [0x9b]
794                 fclex
795
796 // CHECK: fnclex
797 // CHECK:  encoding: [0xdb,0xe2]
798                 fnclex
799
800 // CHECK: ud2
801 // CHECK:  encoding: [0x0f,0x0b]
802                 ud2
803
804 // CHECK: ud2
805 // CHECK:  encoding: [0x0f,0x0b]
806                 ud2a
807
808 // CHECK: ud2b
809 // CHECK:  encoding: [0x0f,0xb9]
810                 ud2b