[llvm-readobj] - Simplify stack-sizes.test test case.
[llvm-complete.git] / test / MC / X86 / x86-16.s
blobb849d0aacd2b59573e9cfdaf31b9777c4a50ecfd
1 // RUN: llvm-mc -triple i386-unknown-unknown-code16 --show-encoding %s | FileCheck %s
3 movl $0x12345678, %ebx
4 // CHECK: movl
5 // CHECK: encoding: [0x66,0xbb,0x78,0x56,0x34,0x12]
6 pause
7 // CHECK: pause
8 // CHECK: encoding: [0xf3,0x90]
9 sfence
10 // CHECK: sfence
11 // CHECK: encoding: [0x0f,0xae,0xf8]
12 lfence
13 // CHECK: lfence
14 // CHECK: encoding: [0x0f,0xae,0xe8]
15 mfence
16 stgi
17 // CHECK: stgi
18 // CHECK: encoding: [0x0f,0x01,0xdc]
19 clgi
20 // CHECK: clgi
21 // CHECK: encoding: [0x0f,0x01,0xdd]
23 rdtscp
24 // CHECK: rdtscp
25 // CHECK: encoding: [0x0f,0x01,0xf9]
28 // CHECK: movl %eax, 16(%ebp) # encoding: [0x67,0x66,0x89,0x45,0x10]
29 movl %eax, 16(%ebp)
30 // CHECK: movl %eax, -16(%ebp) # encoding: [0x67,0x66,0x89,0x45,0xf0]
31 movl %eax, -16(%ebp)
33 // CHECK: testb %bl, %cl # encoding: [0x84,0xd9]
34 testb %bl, %cl
36 // CHECK: cmpl %eax, %ebx # encoding: [0x66,0x39,0xc3]
37 cmpl %eax, %ebx
39 // CHECK: addw %ax, %ax # encoding: [0x01,0xc0]
40 addw %ax, %ax
42 // CHECK: shrl %eax # encoding: [0x66,0xd1,0xe8]
43 shrl $1, %eax
45 // CHECK: shll %eax # encoding: [0x66,0xd1,0xe0]
46 sall $1, %eax
47 // CHECK: shll %eax # encoding: [0x66,0xd1,0xe0]
48 sal $1, %eax
50 // moffset forms of moves
52 // CHECK: movb 0, %al # encoding: [0xa0,0x00,0x00]
53 movb 0, %al
55 // CHECK: movw 0, %ax # encoding: [0xa1,0x00,0x00]
56 movw 0, %ax
58 // CHECK: movl 0, %eax # encoding: [0x66,0xa1,0x00,0x00]
59 movl 0, %eax
61 into
62 // CHECK: into
63 // CHECK: encoding: [0xce]
64 int3
65 // CHECK: int3
66 // CHECK: encoding: [0xcc]
67 int $4
68 // CHECK: int $4
69 // CHECK: encoding: [0xcd,0x04]
70 int $255
71 // CHECK: int $255
72 // CHECK: encoding: [0xcd,0xff]
74 // CHECK: pushfw # encoding: [0x9c]
75 pushf
76 // CHECK: pushfl # encoding: [0x66,0x9c]
77 pushfl
78 // CHECK: popfw # encoding: [0x9d]
79 popf
80 // CHECK: popfl # encoding: [0x66,0x9d]
81 popfl
83 retl
84 // CHECK: ret
85 // CHECK: encoding: [0x66,0xc3]
87 // CHECK: cmoval %eax, %edx
88 // CHECK: encoding: [0x66,0x0f,0x47,0xd0]
89 cmoval %eax,%edx
91 // CHECK: cmovael %eax, %edx
92 // CHECK: encoding: [0x66,0x0f,0x43,0xd0]
93 cmovael %eax,%edx
95 // CHECK: cmovbel %eax, %edx
96 // CHECK: encoding: [0x66,0x0f,0x46,0xd0]
97 cmovbel %eax,%edx
99 // CHECK: cmovbl %eax, %edx
100 // CHECK: encoding: [0x66,0x0f,0x42,0xd0]
101 cmovbl %eax,%edx
103 // CHECK: cmovbw %bx, %bx
104 cmovnae %bx,%bx
107 // CHECK: cmovbel %eax, %edx
108 // CHECK: encoding: [0x66,0x0f,0x46,0xd0]
109 cmovbel %eax,%edx
111 // CHECK: cmovbl %eax, %edx
112 // CHECK: encoding: [0x66,0x0f,0x42,0xd0]
113 cmovcl %eax,%edx
115 // CHECK: cmovel %eax, %edx
116 // CHECK: encoding: [0x66,0x0f,0x44,0xd0]
117 cmovel %eax,%edx
119 // CHECK: cmovgl %eax, %edx
120 // CHECK: encoding: [0x66,0x0f,0x4f,0xd0]
121 cmovgl %eax,%edx
123 // CHECK: cmovgel %eax, %edx
124 // CHECK: encoding: [0x66,0x0f,0x4d,0xd0]
125 cmovgel %eax,%edx
127 // CHECK: cmovll %eax, %edx
128 // CHECK: encoding: [0x66,0x0f,0x4c,0xd0]
129 cmovll %eax,%edx
131 // CHECK: cmovlel %eax, %edx
132 // CHECK: encoding: [0x66,0x0f,0x4e,0xd0]
133 cmovlel %eax,%edx
135 // CHECK: cmovbel %eax, %edx
136 // CHECK: encoding: [0x66,0x0f,0x46,0xd0]
137 cmovnal %eax,%edx
139 // CHECK: cmovnel %eax, %edx
140 // CHECK: encoding: [0x66,0x0f,0x45,0xd0]
141 cmovnel %eax,%edx
143 // CHECK: cmovael %eax, %edx
144 // CHECK: encoding: [0x66,0x0f,0x43,0xd0]
145 cmovnbl %eax,%edx
147 // CHECK: cmoval %eax, %edx
148 // CHECK: encoding: [0x66,0x0f,0x47,0xd0]
149 cmovnbel %eax,%edx
151 // CHECK: cmovael %eax, %edx
152 // CHECK: encoding: [0x66,0x0f,0x43,0xd0]
153 cmovncl %eax,%edx
155 // CHECK: cmovnel %eax, %edx
156 // CHECK: encoding: [0x66,0x0f,0x45,0xd0]
157 cmovnel %eax,%edx
159 // CHECK: cmovlel %eax, %edx
160 // CHECK: encoding: [0x66,0x0f,0x4e,0xd0]
161 cmovngl %eax,%edx
163 // CHECK: cmovgel %eax, %edx
164 // CHECK: encoding: [0x66,0x0f,0x4d,0xd0]
165 cmovnl %eax,%edx
167 // CHECK: cmovnel %eax, %edx
168 // CHECK: encoding: [0x66,0x0f,0x45,0xd0]
169 cmovnel %eax,%edx
171 // CHECK: cmovlel %eax, %edx
172 // CHECK: encoding: [0x66,0x0f,0x4e,0xd0]
173 cmovngl %eax,%edx
175 // CHECK: cmovll %eax, %edx
176 // CHECK: encoding: [0x66,0x0f,0x4c,0xd0]
177 cmovngel %eax,%edx
179 // CHECK: cmovgel %eax, %edx
180 // CHECK: encoding: [0x66,0x0f,0x4d,0xd0]
181 cmovnll %eax,%edx
183 // CHECK: cmovgl %eax, %edx
184 // CHECK: encoding: [0x66,0x0f,0x4f,0xd0]
185 cmovnlel %eax,%edx
187 // CHECK: cmovnol %eax, %edx
188 // CHECK: encoding: [0x66,0x0f,0x41,0xd0]
189 cmovnol %eax,%edx
191 // CHECK: cmovnpl %eax, %edx
192 // CHECK: encoding: [0x66,0x0f,0x4b,0xd0]
193 cmovnpl %eax,%edx
195 // CHECK: cmovnsl %eax, %edx
196 // CHECK: encoding: [0x66,0x0f,0x49,0xd0]
197 cmovnsl %eax,%edx
199 // CHECK: cmovnel %eax, %edx
200 // CHECK: encoding: [0x66,0x0f,0x45,0xd0]
201 cmovnzl %eax,%edx
203 // CHECK: cmovol %eax, %edx
204 // CHECK: encoding: [0x66,0x0f,0x40,0xd0]
205 cmovol %eax,%edx
207 // CHECK: cmovpl %eax, %edx
208 // CHECK: encoding: [0x66,0x0f,0x4a,0xd0]
209 cmovpl %eax,%edx
211 // CHECK: cmovsl %eax, %edx
212 // CHECK: encoding: [0x66,0x0f,0x48,0xd0]
213 cmovsl %eax,%edx
215 // CHECK: cmovel %eax, %edx
216 // CHECK: encoding: [0x66,0x0f,0x44,0xd0]
217 cmovzl %eax,%edx
219 // CHECK: fmul %st(0)
220 // CHECK: encoding: [0xd8,0xc8]
221 fmul %st(0), %st
223 // CHECK: fadd %st(0)
224 // CHECK: encoding: [0xd8,0xc0]
225 fadd %st(0), %st
227 // CHECK: fsub %st(0)
228 // CHECK: encoding: [0xd8,0xe0]
229 fsub %st(0), %st
231 // CHECK: fsubr %st(0)
232 // CHECK: encoding: [0xd8,0xe8]
233 fsubr %st(0), %st
235 // CHECK: fdivr %st(0)
236 // CHECK: encoding: [0xd8,0xf8]
237 fdivr %st(0), %st
239 // CHECK: fdiv %st(0)
240 // CHECK: encoding: [0xd8,0xf0]
241 fdiv %st(0), %st
243 // CHECK: movl %cs, %eax
244 // CHECK: encoding: [0x66,0x8c,0xc8]
245 movl %cs, %eax
247 // CHECK: movw %cs, %ax
248 // CHECK: encoding: [0x8c,0xc8]
249 movw %cs, %ax
251 // CHECK: movw %cs, (%eax)
252 // CHECK: encoding: [0x67,0x8c,0x08]
253 mov %cs, (%eax)
255 // CHECK: movw %cs, (%eax)
256 // CHECK: encoding: [0x67,0x8c,0x08]
257 movw %cs, (%eax)
259 // CHECK: movw %ax, %cs
260 // CHECK: encoding: [0x8e,0xc8]
261 movl %eax, %cs
263 // CHECK: movw %ax, %cs
264 // CHECK: encoding: [0x8e,0xc8]
265 mov %eax, %cs
267 // CHECK: movw %ax, %cs
268 // CHECK: encoding: [0x8e,0xc8]
269 movw %ax, %cs
271 // CHECK: movw %ax, %cs
272 // CHECK: encoding: [0x8e,0xc8]
273 mov %ax, %cs
275 // CHECK: movw (%eax), %cs
276 // CHECK: encoding: [0x67,0x8e,0x08]
277 mov (%eax), %cs
279 // CHECK: movw (%eax), %cs
280 // CHECK: encoding: [0x67,0x8e,0x08]
281 movw (%eax), %cs
283 // CHECK: movl %cr0, %eax
284 // CHECK: encoding: [0x0f,0x20,0xc0]
285 movl %cr0,%eax
287 // CHECK: movl %cr1, %eax
288 // CHECK: encoding: [0x0f,0x20,0xc8]
289 movl %cr1,%eax
291 // CHECK: movl %cr2, %eax
292 // CHECK: encoding: [0x0f,0x20,0xd0]
293 movl %cr2,%eax
295 // CHECK: movl %cr3, %eax
296 // CHECK: encoding: [0x0f,0x20,0xd8]
297 movl %cr3,%eax
299 // CHECK: movl %cr4, %eax
300 // CHECK: encoding: [0x0f,0x20,0xe0]
301 movl %cr4,%eax
303 // CHECK: movl %dr0, %eax
304 // CHECK: encoding: [0x0f,0x21,0xc0]
305 movl %dr0,%eax
307 // CHECK: movl %dr1, %eax
308 // CHECK: encoding: [0x0f,0x21,0xc8]
309 movl %dr1,%eax
311 // CHECK: movl %dr1, %eax
312 // CHECK: encoding: [0x0f,0x21,0xc8]
313 movl %dr1,%eax
315 // CHECK: movl %dr2, %eax
316 // CHECK: encoding: [0x0f,0x21,0xd0]
317 movl %dr2,%eax
319 // CHECK: movl %dr3, %eax
320 // CHECK: encoding: [0x0f,0x21,0xd8]
321 movl %dr3,%eax
323 // CHECK: movl %dr4, %eax
324 // CHECK: encoding: [0x0f,0x21,0xe0]
325 movl %dr4,%eax
327 // CHECK: movl %dr5, %eax
328 // CHECK: encoding: [0x0f,0x21,0xe8]
329 movl %dr5,%eax
331 // CHECK: movl %dr6, %eax
332 // CHECK: encoding: [0x0f,0x21,0xf0]
333 movl %dr6,%eax
335 // CHECK: movl %dr7, %eax
336 // CHECK: encoding: [0x0f,0x21,0xf8]
337 movl %dr7,%eax
339 // CHECK: wait
340 // CHECK: encoding: [0x9b]
341 fwait
343 // CHECK: [0x66,0x65,0xa1,0x7c,0x00]
344 movl %gs:124, %eax
346 // CHECK: pusha
347 // CHECK: encoding: [0x60]
348 pusha
350 // CHECK: popa
351 // CHECK: encoding: [0x61]
352 popa
354 // CHECK: pushaw
355 // CHECK: encoding: [0x60]
356 pushaw
358 // CHECK: popaw
359 // CHECK: encoding: [0x61]
360 popaw
362 // CHECK: pushal
363 // CHECK: encoding: [0x66,0x60]
364 pushal
366 // CHECK: popal
367 // CHECK: encoding: [0x66,0x61]
368 popal
370 // CHECK: jmpw *8(%eax)
371 // CHECK: encoding: [0x67,0xff,0x60,0x08]
372 jmp *8(%eax)
374 // CHECK: jmpl *8(%eax)
375 // CHECK: encoding: [0x67,0x66,0xff,0x60,0x08]
376 jmpl *8(%eax)
378 // CHECK: lcalll $2, $4660
379 // CHECK: encoding: [0x66,0x9a,0x34,0x12,0x00,0x00,0x02,0x00]
380 lcalll $0x2, $0x1234
384 jcxz L1
385 // CHECK: jcxz L1
386 // CHECK: encoding: [0xe3,A]
387 jecxz L1
388 // CHECK: jecxz L1
389 // CHECK: encoding: [0x67,0xe3,A]
391 iret
392 // CHECK: iretw
393 // CHECK: encoding: [0xcf]
394 iretw
395 // CHECK: iretw
396 // CHECK: encoding: [0xcf]
397 iretl
398 // CHECK: iretl
399 // CHECK: encoding: [0x66,0xcf]
401 sysret
402 // CHECK: sysretl
403 // CHECK: encoding: [0x0f,0x07]
404 sysretl
405 // CHECK: sysretl
406 // CHECK: encoding: [0x0f,0x07]
408 testl %ecx, -24(%ebp)
409 // CHECK: testl %ecx, -24(%ebp)
410 testl -24(%ebp), %ecx
411 // CHECK: testl %ecx, -24(%ebp)
414 push %cs
415 // CHECK: pushw %cs
416 // CHECK: encoding: [0x0e]
417 push %ds
418 // CHECK: pushw %ds
419 // CHECK: encoding: [0x1e]
420 push %ss
421 // CHECK: pushw %ss
422 // CHECK: encoding: [0x16]
423 push %es
424 // CHECK: pushw %es
425 // CHECK: encoding: [0x06]
426 push %fs
427 // CHECK: pushw %fs
428 // CHECK: encoding: [0x0f,0xa0]
429 push %gs
430 // CHECK: pushw %gs
431 // CHECK: encoding: [0x0f,0xa8]
433 pushw %cs
434 // CHECK: pushw %cs
435 // CHECK: encoding: [0x0e]
436 pushw %ds
437 // CHECK: pushw %ds
438 // CHECK: encoding: [0x1e]
439 pushw %ss
440 // CHECK: pushw %ss
441 // CHECK: encoding: [0x16]
442 pushw %es
443 // CHECK: pushw %es
444 // CHECK: encoding: [0x06]
445 pushw %fs
446 // CHECK: pushw %fs
447 // CHECK: encoding: [0x0f,0xa0]
448 pushw %gs
449 // CHECK: pushw %gs
450 // CHECK: encoding: [0x0f,0xa8]
452 pushl %cs
453 // CHECK: pushl %cs
454 // CHECK: encoding: [0x66,0x0e]
455 pushl %ds
456 // CHECK: pushl %ds
457 // CHECK: encoding: [0x66,0x1e]
458 pushl %ss
459 // CHECK: pushl %ss
460 // CHECK: encoding: [0x66,0x16]
461 pushl %es
462 // CHECK: pushl %es
463 // CHECK: encoding: [0x66,0x06]
464 pushl %fs
465 // CHECK: pushl %fs
466 // CHECK: encoding: [0x66,0x0f,0xa0]
467 pushl %gs
468 // CHECK: pushl %gs
469 // CHECK: encoding: [0x66,0x0f,0xa8]
471 pop %ss
472 // CHECK: popw %ss
473 // CHECK: encoding: [0x17]
474 pop %ds
475 // CHECK: popw %ds
476 // CHECK: encoding: [0x1f]
477 pop %es
478 // CHECK: popw %es
479 // CHECK: encoding: [0x07]
481 popl %ss
482 // CHECK: popl %ss
483 // CHECK: encoding: [0x66,0x17]
484 popl %ds
485 // CHECK: popl %ds
486 // CHECK: encoding: [0x66,0x1f]
487 popl %es
488 // CHECK: popl %es
489 // CHECK: encoding: [0x66,0x07]
491 pushfd
492 // CHECK: pushfl
493 popfd
494 // CHECK: popfl
495 pushfl
496 // CHECK: pushfl
497 popfl
498 // CHECK: popfl
501 setc %bl
502 setnae %bl
503 setnb %bl
504 setnc %bl
505 setna %bl
506 setnbe %bl
507 setpe %bl
508 setpo %bl
509 setnge %bl
510 setnl %bl
511 setng %bl
512 setnle %bl
514 setneb %cl // CHECK: setne %cl
515 setcb %bl // CHECK: setb %bl
516 setnaeb %bl // CHECK: setb %bl
519 // CHECK: lcalll $31438, $31438
520 // CHECK: lcalll $31438, $31438
521 // CHECK: ljmpl $31438, $31438
522 // CHECK: ljmpl $31438, $31438
524 calll $0x7ace,$0x7ace
525 lcalll $0x7ace,$0x7ace
526 jmpl $0x7ace,$0x7ace
527 ljmpl $0x7ace,$0x7ace
529 // CHECK: lcallw $31438, $31438
530 // CHECK: lcallw $31438, $31438
531 // CHECK: ljmpw $31438, $31438
532 // CHECK: ljmpw $31438, $31438
534 callw $0x7ace,$0x7ace
535 lcallw $0x7ace,$0x7ace
536 jmpw $0x7ace,$0x7ace
537 ljmpw $0x7ace,$0x7ace
539 // CHECK: lcallw $31438, $31438
540 // CHECK: lcallw $31438, $31438
541 // CHECK: ljmpw $31438, $31438
542 // CHECK: ljmpw $31438, $31438
544 call $0x7ace,$0x7ace
545 lcall $0x7ace,$0x7ace
546 jmp $0x7ace,$0x7ace
547 ljmp $0x7ace,$0x7ace
549 // CHECK: calll a
550 calll a
552 // CHECK: incb %al # encoding: [0xfe,0xc0]
553 incb %al
555 // CHECK: incw %ax # encoding: [0x40]
556 incw %ax
558 // CHECK: incl %eax # encoding: [0x66,0x40]
559 incl %eax
561 // CHECK: decb %al # encoding: [0xfe,0xc8]
562 decb %al
564 // CHECK: decw %ax # encoding: [0x48]
565 decw %ax
567 // CHECK: decl %eax # encoding: [0x66,0x48]
568 decl %eax
570 // CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e]
571 pshufw $14, %mm4, %mm0
573 // CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a]
574 pshufw $90, %mm4, %mm0
576 // CHECK: aaa
577 // CHECK: encoding: [0x37]
580 // CHECK: aad $1
581 // CHECK: encoding: [0xd5,0x01]
582 aad $1
584 // CHECK: aad
585 // CHECK: encoding: [0xd5,0x0a]
586 aad $0xA
588 // CHECK: aad
589 // CHECK: encoding: [0xd5,0x0a]
592 // CHECK: aam $2
593 // CHECK: encoding: [0xd4,0x02]
594 aam $2
596 // CHECK: aam
597 // CHECK: encoding: [0xd4,0x0a]
598 aam $0xA
600 // CHECK: aam
601 // CHECK: encoding: [0xd4,0x0a]
604 // CHECK: aas
605 // CHECK: encoding: [0x3f]
608 // CHECK: daa
609 // CHECK: encoding: [0x27]
612 // CHECK: das
613 // CHECK: encoding: [0x2f]
616 // CHECK: retw $31438
617 // CHECK: encoding: [0xc2,0xce,0x7a]
618 retw $0x7ace
620 // CHECK: lretw $31438
621 // CHECK: encoding: [0xca,0xce,0x7a]
622 lretw $0x7ace
624 // CHECK: retw $31438
625 // CHECK: encoding: [0xc2,0xce,0x7a]
626 ret $0x7ace
628 // CHECK: lretw $31438
629 // CHECK: encoding: [0xca,0xce,0x7a]
630 lret $0x7ace
632 // CHECK: retl $31438
633 // CHECK: encoding: [0x66,0xc2,0xce,0x7a]
634 retl $0x7ace
636 // CHECK: lretl $31438
637 // CHECK: encoding: [0x66,0xca,0xce,0x7a]
638 lretl $0x7ace
640 // CHECK: bound %bx, 2(%eax)
641 // CHECK: encoding: [0x67,0x62,0x58,0x02]
642 bound %bx,2(%eax)
644 // CHECK: bound %ecx, 4(%ebx)
645 // CHECK: encoding: [0x67,0x66,0x62,0x4b,0x04]
646 bound %ecx,4(%ebx)
648 // CHECK: arpl %bx, %bx
649 // CHECK: encoding: [0x63,0xdb]
650 arpl %bx,%bx
652 // CHECK: arpl %bx, 6(%ecx)
653 // CHECK: encoding: [0x67,0x63,0x59,0x06]
654 arpl %bx,6(%ecx)
656 // CHECK: lgdtw 4(%eax)
657 // CHECK: encoding: [0x67,0x0f,0x01,0x50,0x04]
658 lgdtw 4(%eax)
660 // CHECK: lgdtw 4(%eax)
661 // CHECK: encoding: [0x67,0x0f,0x01,0x50,0x04]
662 lgdt 4(%eax)
664 // CHECK: lgdtl 4(%eax)
665 // CHECK: encoding: [0x67,0x66,0x0f,0x01,0x50,0x04]
666 lgdtl 4(%eax)
668 // CHECK: lidtw 4(%eax)
669 // CHECK: encoding: [0x67,0x0f,0x01,0x58,0x04]
670 lidtw 4(%eax)
672 // CHECK: lidtw 4(%eax)
673 // CHECK: encoding: [0x67,0x0f,0x01,0x58,0x04]
674 lidt 4(%eax)
676 // CHECK: lidtl 4(%eax)
677 // CHECK: encoding: [0x67,0x66,0x0f,0x01,0x58,0x04]
678 lidtl 4(%eax)
680 // CHECK: sgdtw 4(%eax)
681 // CHECK: encoding: [0x67,0x0f,0x01,0x40,0x04]
682 sgdtw 4(%eax)
684 // CHECK: sgdtw 4(%eax)
685 // CHECK: encoding: [0x67,0x0f,0x01,0x40,0x04]
686 sgdt 4(%eax)
688 // CHECK: sgdtl 4(%eax)
689 // CHECK: encoding: [0x67,0x66,0x0f,0x01,0x40,0x04]
690 sgdtl 4(%eax)
692 // CHECK: sidtw 4(%eax)
693 // CHECK: encoding: [0x67,0x0f,0x01,0x48,0x04]
694 sidtw 4(%eax)
696 // CHECK: sidtw 4(%eax)
697 // CHECK: encoding: [0x67,0x0f,0x01,0x48,0x04]
698 sidt 4(%eax)
700 // CHECK: sidtl 4(%eax)
701 // CHECK: encoding: [0x67,0x66,0x0f,0x01,0x48,0x04]
702 sidtl 4(%eax)
704 // CHECK: fcompi %st(2)
705 // CHECK: encoding: [0xdf,0xf2]
706 fcompi %st(2), %st
708 // CHECK: fcompi %st(2)
709 // CHECK: encoding: [0xdf,0xf2]
710 fcompi %st(2)
712 // CHECK: fcompi
713 // CHECK: encoding: [0xdf,0xf1]
714 fcompi
716 // CHECK: fucompi %st(2)
717 // CHECK: encoding: [0xdf,0xea]
718 fucompi %st(2),%st
720 // CHECK: fucompi %st(2)
721 // CHECK: encoding: [0xdf,0xea]
722 fucompi %st(2)
724 // CHECK: fucompi
725 // CHECK: encoding: [0xdf,0xe9]
726 fucompi
728 // CHECK: fldcw 32493
729 // CHECK: encoding: [0xd9,0x2e,0xed,0x7e]
730 fldcww 0x7eed
732 // CHECK: fldcw 32493
733 // CHECK: encoding: [0xd9,0x2e,0xed,0x7e]
734 fldcw 0x7eed
736 // CHECK: fnstcw 32493
737 // CHECK: encoding: [0xd9,0x3e,0xed,0x7e]
738 fnstcww 0x7eed
740 // CHECK: fnstcw 32493
741 // CHECK: encoding: [0xd9,0x3e,0xed,0x7e]
742 fnstcw 0x7eed
744 // CHECK: wait
745 // CHECK: encoding: [0x9b]
746 fstcww 0x7eed
748 // CHECK: wait
749 // CHECK: encoding: [0x9b]
750 fstcw 0x7eed
752 // CHECK: fnstsw 32493
753 // CHECK: encoding: [0xdd,0x3e,0xed,0x7e]
754 fnstsww 0x7eed
756 // CHECK: fnstsw 32493
757 // CHECK: encoding: [0xdd,0x3e,0xed,0x7e]
758 fnstsw 0x7eed
760 // CHECK: wait
761 // CHECK: encoding: [0x9b]
762 fstsww 0x7eed
764 // CHECK: wait
765 // CHECK: encoding: [0x9b]
766 fstsw 0x7eed
768 // CHECK: verr 32493
769 // CHECK: encoding: [0x0f,0x00,0x26,0xed,0x7e]
770 verrw 0x7eed
772 // CHECK: verr 32493
773 // CHECK: encoding: [0x0f,0x00,0x26,0xed,0x7e]
774 verr 0x7eed
776 // CHECK: wait
777 // CHECK: encoding: [0x9b]
778 fclex
780 // CHECK: fnclex
781 // CHECK: encoding: [0xdb,0xe2]
782 fnclex
784 // CHECK: ud2
785 // CHECK: encoding: [0x0f,0x0b]
788 // CHECK: ud2
789 // CHECK: encoding: [0x0f,0x0b]
790 ud2a
792 // CHECK: ud2b
793 // CHECK: encoding: [0x0f,0xb9]
794 ud2b
796 // CHECK: loope 0
797 // CHECK: encoding: [0xe1,A]
798 loopz 0
800 // CHECK: loopne 0
801 // CHECK: encoding: [0xe0,A]
802 loopnz 0
804 // CHECK: outsb (%si), %dx # encoding: [0x6e]
805 // CHECK: outsb
806 // CHECK: outsb
807 outsb
808 outsb %ds:(%si), %dx
809 outsb (%si), %dx
811 // CHECK: outsw (%si), %dx # encoding: [0x6f]
812 // CHECK: outsw
813 // CHECK: outsw
814 outsw
815 outsw %ds:(%si), %dx
816 outsw (%si), %dx
818 // CHECK: outsl (%si), %dx # encoding: [0x66,0x6f]
819 // CHECK: outsl
820 outsl
821 outsl %ds:(%si), %dx
822 outsl (%si), %dx
824 // CHECK: insb %dx, %es:(%di) # encoding: [0x6c]
825 // CHECK: insb
826 insb
827 insb %dx, %es:(%di)
829 // CHECK: insw %dx, %es:(%di) # encoding: [0x6d]
830 // CHECK: insw
831 insw
832 insw %dx, %es:(%di)
834 // CHECK: insl %dx, %es:(%di) # encoding: [0x66,0x6d]
835 // CHECK: insl
836 insl
837 insl %dx, %es:(%di)
839 // CHECK: movsb (%si), %es:(%di) # encoding: [0xa4]
840 // CHECK: movsb
841 // CHECK: movsb
842 movsb
843 movsb %ds:(%si), %es:(%di)
844 movsb (%si), %es:(%di)
846 // CHECK: movsw (%si), %es:(%di) # encoding: [0xa5]
847 // CHECK: movsw
848 // CHECK: movsw
849 movsw
850 movsw %ds:(%si), %es:(%di)
851 movsw (%si), %es:(%di)
853 // CHECK: movsl (%si), %es:(%di) # encoding: [0x66,0xa5]
854 // CHECK: movsl
855 // CHECK: movsl
856 movsl
857 movsl %ds:(%si), %es:(%di)
858 movsl (%si), %es:(%di)
860 // CHECK: lodsb (%si), %al # encoding: [0xac]
861 // CHECK: lodsb
862 // CHECK: lodsb
863 // CHECK: lodsb
864 // CHECK: lodsb
865 lodsb
866 lodsb %ds:(%si), %al
867 lodsb (%si), %al
868 lods %ds:(%si), %al
869 lods (%si), %al
871 // CHECK: lodsw (%si), %ax # encoding: [0xad]
872 // CHECK: lodsw
873 // CHECK: lodsw
874 // CHECK: lodsw
875 // CHECK: lodsw
876 lodsw
877 lodsw %ds:(%si), %ax
878 lodsw (%si), %ax
879 lods %ds:(%si), %ax
880 lods (%si), %ax
882 // CHECK: lodsl (%si), %eax # encoding: [0x66,0xad]
883 // CHECK: lodsl
884 // CHECK: lodsl
885 // CHECK: lodsl
886 // CHECK: lodsl
887 lodsl
888 lodsl %ds:(%si), %eax
889 lodsl (%si), %eax
890 lods %ds:(%si), %eax
891 lods (%si), %eax
893 // CHECK: stosb %al, %es:(%di) # encoding: [0xaa]
894 // CHECK: stosb
895 // CHECK: stosb
896 stosb
897 stosb %al, %es:(%di)
898 stos %al, %es:(%di)
900 // CHECK: stosw %ax, %es:(%di) # encoding: [0xab]
901 // CHECK: stosw
902 // CHECK: stosw
903 stosw
904 stosw %ax, %es:(%di)
905 stos %ax, %es:(%di)
907 // CHECK: stosl %eax, %es:(%di) # encoding: [0x66,0xab]
908 // CHECK: stosl
909 // CHECK: stosl
910 stosl
911 stosl %eax, %es:(%di)
912 stos %eax, %es:(%di)
914 // CHECK: strw
915 // CHECK: encoding: [0x0f,0x00,0xc8]
916 str %ax
918 // CHECK: strl
919 // CHECK: encoding: [0x66,0x0f,0x00,0xc8]
920 str %eax
923 // CHECK: fsubp %st, %st(1)
924 // CHECK: encoding: [0xde,0xe1]
925 fsubp %st,%st(1)
927 // CHECK: fsubp %st, %st(2)
928 // CHECK: encoding: [0xde,0xe2]
929 fsubp %st, %st(2)
931 // CHECK: xchgl %eax, %eax
932 // CHECK: encoding: [0x66,0x90]
933 xchgl %eax, %eax
935 // CHECK: xchgw %ax, %ax
936 // CHECK: encoding: [0x90]
937 xchgw %ax, %ax
939 // CHECK: xchgl %ecx, %eax
940 // CHECK: encoding: [0x66,0x91]
941 xchgl %ecx, %eax
943 // CHECK: xchgl %ecx, %eax
944 // CHECK: encoding: [0x66,0x91]
945 xchgl %eax, %ecx
947 // CHECK: retw
948 // CHECK: encoding: [0xc3]
949 retw
951 // CHECK: retl
952 // CHECK: encoding: [0x66,0xc3]
953 retl
955 // CHECK: lretw
956 // CHECK: encoding: [0xcb]
957 lretw
959 // CHECK: lretl
960 // CHECK: encoding: [0x66,0xcb]
961 lretl
963 // CHECK: data32
964 // CHECK: encoding: [0x66]
965 data32
967 // CHECK: data32
968 // CHECK: encoding: [0x66]
969 // CHECK: lgdtw 4(%eax)
970 // CHECK: encoding: [0x67,0x0f,0x01,0x50,0x04]
971 data32 lgdt 4(%eax)
973 // CHECK: wbnoinvd
974 // CHECK: encoding: [0xf3,0x0f,0x09]
975 wbnoinvd
977 // CHECK: umonitor %ax
978 // CHECK: encoding: [0xf3,0x0f,0xae,0xf0]
979 umonitor %ax
981 // CHECK: umonitor %eax
982 // CHECK: encoding: [0x67,0xf3,0x0f,0xae,0xf0]
983 umonitor %eax
985 // CHECK: movdir64b (%esi), %eax
986 // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xf8,0x06]
987 movdir64b (%esi), %eax
989 // CHECK: movdir64b (%si), %ax
990 // CHECK: encoding: [0x66,0x0f,0x38,0xf8,0x04]
991 movdir64b (%si), %ax
993 // CHECK: enqcmd (%bx), %di
994 // CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x3f]
995 enqcmd (%bx), %di
997 // CHECK: enqcmd 8128(%si), %ax
998 // CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x84,0xc0,0x1f]
999 enqcmd 8128(%si), %ax
1001 // CHECK: enqcmd -8192(%di), %bx
1002 // CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x9d,0x00,0xe0]
1003 enqcmd -8192(%di), %bx
1005 // CHECK: enqcmd 7408, %cx
1006 // CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x0e,0xf0,0x1c]
1007 enqcmd 7408, %cx
1009 // CHECK: enqcmds (%bx), %di
1010 // CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x3f]
1011 enqcmds (%bx), %di
1013 // CHECK: enqcmds 8128(%si), %ax
1014 // CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x84,0xc0,0x1f]
1015 enqcmds 8128(%si), %ax
1017 // CHECK: enqcmds -8192(%di), %bx
1018 // CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x9d,0x00,0xe0]
1019 enqcmds -8192(%di), %bx
1021 // CHECK: enqcmds 7408, %cx
1022 // CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x0e,0xf0,0x1c]
1023 enqcmds 7408, %cx
1025 // CHECK: enqcmd (%edi), %edi
1026 // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xf8,0x3f]
1027 enqcmd (%edi), %edi
1029 // CHECK: enqcmds (%edi), %edi
1030 // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xf8,0x3f]
1031 enqcmds (%edi), %edi