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