// RUN: llvm-mc -triple i386-unknown-unknown-code16 --show-encoding %s | FileCheck %s movl $0x12345678, %ebx // CHECK: movl // CHECK: encoding: [0x66,0xbb,0x78,0x56,0x34,0x12] pause // CHECK: pause // CHECK: encoding: [0xf3,0x90] sfence // CHECK: sfence // CHECK: encoding: [0x0f,0xae,0xf8] lfence // CHECK: lfence // CHECK: encoding: [0x0f,0xae,0xe8] mfence stgi // CHECK: stgi // CHECK: encoding: [0x0f,0x01,0xdc] clgi // CHECK: clgi // CHECK: encoding: [0x0f,0x01,0xdd] rdtscp // CHECK: rdtscp // CHECK: encoding: [0x0f,0x01,0xf9] // CHECK: movl %eax, 16(%ebp) # encoding: [0x67,0x66,0x89,0x45,0x10] movl %eax, 16(%ebp) // CHECK: movl %eax, -16(%ebp) # encoding: [0x67,0x66,0x89,0x45,0xf0] movl %eax, -16(%ebp) // CHECK: testb %bl, %cl # encoding: [0x84,0xd9] testb %bl, %cl // CHECK: cmpl %eax, %ebx # encoding: [0x66,0x39,0xc3] cmpl %eax, %ebx // CHECK: addw %ax, %ax # encoding: [0x01,0xc0] addw %ax, %ax // CHECK: shrl %eax # encoding: [0x66,0xd1,0xe8] shrl $1, %eax // CHECK: shll %eax # encoding: [0x66,0xd1,0xe0] sall $1, %eax // CHECK: shll %eax # encoding: [0x66,0xd1,0xe0] sal $1, %eax // moffset forms of moves // CHECK: movb 0, %al # encoding: [0xa0,0x00,0x00] movb 0, %al // CHECK: movw 0, %ax # encoding: [0xa1,0x00,0x00] movw 0, %ax // CHECK: movl 0, %eax # encoding: [0x66,0xa1,0x00,0x00] movl 0, %eax into // CHECK: into // CHECK: encoding: [0xce] int3 // CHECK: int3 // CHECK: encoding: [0xcc] int $4 // CHECK: int $4 // CHECK: encoding: [0xcd,0x04] int $255 // CHECK: int $255 // CHECK: encoding: [0xcd,0xff] // CHECK: pushfw # encoding: [0x9c] pushf // CHECK: pushfl # encoding: [0x66,0x9c] pushfl // CHECK: popfw # encoding: [0x9d] popf // CHECK: popfl # encoding: [0x66,0x9d] popfl retl // CHECK: ret // CHECK: encoding: [0x66,0xc3] // CHECK: cmoval %eax, %edx // CHECK: encoding: [0x66,0x0f,0x47,0xd0] cmoval %eax,%edx // CHECK: cmovael %eax, %edx // CHECK: encoding: [0x66,0x0f,0x43,0xd0] cmovael %eax,%edx // CHECK: cmovbel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x46,0xd0] cmovbel %eax,%edx // CHECK: cmovbl %eax, %edx // CHECK: encoding: [0x66,0x0f,0x42,0xd0] cmovbl %eax,%edx // CHECK: cmovbw %bx, %bx cmovnae %bx,%bx // CHECK: cmovbel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x46,0xd0] cmovbel %eax,%edx // CHECK: cmovbl %eax, %edx // CHECK: encoding: [0x66,0x0f,0x42,0xd0] cmovcl %eax,%edx // CHECK: cmovel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x44,0xd0] cmovel %eax,%edx // CHECK: cmovgl %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4f,0xd0] cmovgl %eax,%edx // CHECK: cmovgel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4d,0xd0] cmovgel %eax,%edx // CHECK: cmovll %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4c,0xd0] cmovll %eax,%edx // CHECK: cmovlel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4e,0xd0] cmovlel %eax,%edx // CHECK: cmovbel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x46,0xd0] cmovnal %eax,%edx // CHECK: cmovnel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x45,0xd0] cmovnel %eax,%edx // CHECK: cmovael %eax, %edx // CHECK: encoding: [0x66,0x0f,0x43,0xd0] cmovnbl %eax,%edx // CHECK: cmoval %eax, %edx // CHECK: encoding: [0x66,0x0f,0x47,0xd0] cmovnbel %eax,%edx // CHECK: cmovael %eax, %edx // CHECK: encoding: [0x66,0x0f,0x43,0xd0] cmovncl %eax,%edx // CHECK: cmovnel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x45,0xd0] cmovnel %eax,%edx // CHECK: cmovlel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4e,0xd0] cmovngl %eax,%edx // CHECK: cmovgel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4d,0xd0] cmovnl %eax,%edx // CHECK: cmovnel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x45,0xd0] cmovnel %eax,%edx // CHECK: cmovlel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4e,0xd0] cmovngl %eax,%edx // CHECK: cmovll %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4c,0xd0] cmovngel %eax,%edx // CHECK: cmovgel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4d,0xd0] cmovnll %eax,%edx // CHECK: cmovgl %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4f,0xd0] cmovnlel %eax,%edx // CHECK: cmovnol %eax, %edx // CHECK: encoding: [0x66,0x0f,0x41,0xd0] cmovnol %eax,%edx // CHECK: cmovnpl %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4b,0xd0] cmovnpl %eax,%edx // CHECK: cmovnsl %eax, %edx // CHECK: encoding: [0x66,0x0f,0x49,0xd0] cmovnsl %eax,%edx // CHECK: cmovnel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x45,0xd0] cmovnzl %eax,%edx // CHECK: cmovol %eax, %edx // CHECK: encoding: [0x66,0x0f,0x40,0xd0] cmovol %eax,%edx // CHECK: cmovpl %eax, %edx // CHECK: encoding: [0x66,0x0f,0x4a,0xd0] cmovpl %eax,%edx // CHECK: cmovsl %eax, %edx // CHECK: encoding: [0x66,0x0f,0x48,0xd0] cmovsl %eax,%edx // CHECK: cmovel %eax, %edx // CHECK: encoding: [0x66,0x0f,0x44,0xd0] cmovzl %eax,%edx // CHECK: fmul %st(0) // CHECK: encoding: [0xd8,0xc8] fmul %st(0), %st // CHECK: fadd %st(0) // CHECK: encoding: [0xd8,0xc0] fadd %st(0), %st // CHECK: fsub %st(0) // CHECK: encoding: [0xd8,0xe0] fsub %st(0), %st // CHECK: fsubr %st(0) // CHECK: encoding: [0xd8,0xe8] fsubr %st(0), %st // CHECK: fdivr %st(0) // CHECK: encoding: [0xd8,0xf8] fdivr %st(0), %st // CHECK: fdiv %st(0) // CHECK: encoding: [0xd8,0xf0] fdiv %st(0), %st // CHECK: movl %cs, %eax // CHECK: encoding: [0x66,0x8c,0xc8] movl %cs, %eax // CHECK: movw %cs, %ax // CHECK: encoding: [0x8c,0xc8] movw %cs, %ax // CHECK: movw %cs, (%eax) // CHECK: encoding: [0x67,0x8c,0x08] mov %cs, (%eax) // CHECK: movw %cs, (%eax) // CHECK: encoding: [0x67,0x8c,0x08] movw %cs, (%eax) // CHECK: movw %ax, %cs // CHECK: encoding: [0x8e,0xc8] movl %eax, %cs // CHECK: movw %ax, %cs // CHECK: encoding: [0x8e,0xc8] mov %eax, %cs // CHECK: movw %ax, %cs // CHECK: encoding: [0x8e,0xc8] movw %ax, %cs // CHECK: movw %ax, %cs // CHECK: encoding: [0x8e,0xc8] mov %ax, %cs // CHECK: movw (%eax), %cs // CHECK: encoding: [0x67,0x8e,0x08] mov (%eax), %cs // CHECK: movw (%eax), %cs // CHECK: encoding: [0x67,0x8e,0x08] movw (%eax), %cs // CHECK: movl %cr0, %eax // CHECK: encoding: [0x0f,0x20,0xc0] movl %cr0,%eax // CHECK: movl %cr1, %eax // CHECK: encoding: [0x0f,0x20,0xc8] movl %cr1,%eax // CHECK: movl %cr2, %eax // CHECK: encoding: [0x0f,0x20,0xd0] movl %cr2,%eax // CHECK: movl %cr3, %eax // CHECK: encoding: [0x0f,0x20,0xd8] movl %cr3,%eax // CHECK: movl %cr4, %eax // CHECK: encoding: [0x0f,0x20,0xe0] movl %cr4,%eax // CHECK: movl %dr0, %eax // CHECK: encoding: [0x0f,0x21,0xc0] movl %dr0,%eax // CHECK: movl %dr1, %eax // CHECK: encoding: [0x0f,0x21,0xc8] movl %dr1,%eax // CHECK: movl %dr1, %eax // CHECK: encoding: [0x0f,0x21,0xc8] movl %dr1,%eax // CHECK: movl %dr2, %eax // CHECK: encoding: [0x0f,0x21,0xd0] movl %dr2,%eax // CHECK: movl %dr3, %eax // CHECK: encoding: [0x0f,0x21,0xd8] movl %dr3,%eax // CHECK: movl %dr4, %eax // CHECK: encoding: [0x0f,0x21,0xe0] movl %dr4,%eax // CHECK: movl %dr5, %eax // CHECK: encoding: [0x0f,0x21,0xe8] movl %dr5,%eax // CHECK: movl %dr6, %eax // CHECK: encoding: [0x0f,0x21,0xf0] movl %dr6,%eax // CHECK: movl %dr7, %eax // CHECK: encoding: [0x0f,0x21,0xf8] movl %dr7,%eax // CHECK: wait // CHECK: encoding: [0x9b] fwait // CHECK: [0x66,0x65,0xa1,0x7c,0x00] movl %gs:124, %eax // CHECK: pusha // CHECK: encoding: [0x60] pusha // CHECK: popa // CHECK: encoding: [0x61] popa // CHECK: pushaw // CHECK: encoding: [0x60] pushaw // CHECK: popaw // CHECK: encoding: [0x61] popaw // CHECK: pushal // CHECK: encoding: [0x66,0x60] pushal // CHECK: popal // CHECK: encoding: [0x66,0x61] popal // CHECK: jmpw *8(%eax) // CHECK: encoding: [0x67,0xff,0x60,0x08] jmp *8(%eax) // CHECK: jmpl *8(%eax) // CHECK: encoding: [0x67,0x66,0xff,0x60,0x08] jmpl *8(%eax) // CHECK: lcalll $2, $4660 // CHECK: encoding: [0x66,0x9a,0x34,0x12,0x00,0x00,0x02,0x00] lcalll $0x2, $0x1234 L1: jcxz L1 // CHECK: jcxz L1 // CHECK: encoding: [0xe3,A] jecxz L1 // CHECK: jecxz L1 // CHECK: encoding: [0x67,0xe3,A] iret // CHECK: iretw // CHECK: encoding: [0xcf] iretw // CHECK: iretw // CHECK: encoding: [0xcf] iretl // CHECK: iretl // CHECK: encoding: [0x66,0xcf] sysret // CHECK: sysretl // CHECK: encoding: [0x0f,0x07] sysretl // CHECK: sysretl // CHECK: encoding: [0x0f,0x07] testl %ecx, -24(%ebp) // CHECK: testl %ecx, -24(%ebp) testl -24(%ebp), %ecx // CHECK: testl %ecx, -24(%ebp) push %cs // CHECK: pushw %cs // CHECK: encoding: [0x0e] push %ds // CHECK: pushw %ds // CHECK: encoding: [0x1e] push %ss // CHECK: pushw %ss // CHECK: encoding: [0x16] push %es // CHECK: pushw %es // CHECK: encoding: [0x06] push %fs // CHECK: pushw %fs // CHECK: encoding: [0x0f,0xa0] push %gs // CHECK: pushw %gs // CHECK: encoding: [0x0f,0xa8] pushw %cs // CHECK: pushw %cs // CHECK: encoding: [0x0e] pushw %ds // CHECK: pushw %ds // CHECK: encoding: [0x1e] pushw %ss // CHECK: pushw %ss // CHECK: encoding: [0x16] pushw %es // CHECK: pushw %es // CHECK: encoding: [0x06] pushw %fs // CHECK: pushw %fs // CHECK: encoding: [0x0f,0xa0] pushw %gs // CHECK: pushw %gs // CHECK: encoding: [0x0f,0xa8] pushl %cs // CHECK: pushl %cs // CHECK: encoding: [0x66,0x0e] pushl %ds // CHECK: pushl %ds // CHECK: encoding: [0x66,0x1e] pushl %ss // CHECK: pushl %ss // CHECK: encoding: [0x66,0x16] pushl %es // CHECK: pushl %es // CHECK: encoding: [0x66,0x06] pushl %fs // CHECK: pushl %fs // CHECK: encoding: [0x66,0x0f,0xa0] pushl %gs // CHECK: pushl %gs // CHECK: encoding: [0x66,0x0f,0xa8] pop %ss // CHECK: popw %ss // CHECK: encoding: [0x17] pop %ds // CHECK: popw %ds // CHECK: encoding: [0x1f] pop %es // CHECK: popw %es // CHECK: encoding: [0x07] popl %ss // CHECK: popl %ss // CHECK: encoding: [0x66,0x17] popl %ds // CHECK: popl %ds // CHECK: encoding: [0x66,0x1f] popl %es // CHECK: popl %es // CHECK: encoding: [0x66,0x07] pushfd // CHECK: pushfl popfd // CHECK: popfl pushfl // CHECK: pushfl popfl // CHECK: popfl setc %bl setnae %bl setnb %bl setnc %bl setna %bl setnbe %bl setpe %bl setpo %bl setnge %bl setnl %bl setng %bl setnle %bl setneb %cl // CHECK: setne %cl setcb %bl // CHECK: setb %bl setnaeb %bl // CHECK: setb %bl // CHECK: lcalll $31438, $31438 // CHECK: lcalll $31438, $31438 // CHECK: ljmpl $31438, $31438 // CHECK: ljmpl $31438, $31438 calll $0x7ace,$0x7ace lcalll $0x7ace,$0x7ace jmpl $0x7ace,$0x7ace ljmpl $0x7ace,$0x7ace // CHECK: lcallw $31438, $31438 // CHECK: lcallw $31438, $31438 // CHECK: ljmpw $31438, $31438 // CHECK: ljmpw $31438, $31438 callw $0x7ace,$0x7ace lcallw $0x7ace,$0x7ace jmpw $0x7ace,$0x7ace ljmpw $0x7ace,$0x7ace // CHECK: lcallw $31438, $31438 // CHECK: lcallw $31438, $31438 // CHECK: ljmpw $31438, $31438 // CHECK: ljmpw $31438, $31438 call $0x7ace,$0x7ace lcall $0x7ace,$0x7ace jmp $0x7ace,$0x7ace ljmp $0x7ace,$0x7ace // CHECK: calll a // CHECK: calll a // CHECK: calll a calll a data32 call a data32 callw a // CHECK: ljmpl $1, $2 // CHECK-NEXT: ljmpl $1, $2 data32 ljmp $1, $2 data32 ljmpw $1, $2 // CHECK: incb %al # encoding: [0xfe,0xc0] incb %al // CHECK: incw %ax # encoding: [0x40] incw %ax // CHECK: incl %eax # encoding: [0x66,0x40] incl %eax // CHECK: decb %al # encoding: [0xfe,0xc8] decb %al // CHECK: decw %ax # encoding: [0x48] decw %ax // CHECK: decl %eax # encoding: [0x66,0x48] decl %eax // CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e] pshufw $14, %mm4, %mm0 // CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a] pshufw $90, %mm4, %mm0 // CHECK: aaa // CHECK: encoding: [0x37] aaa // CHECK: aad $1 // CHECK: encoding: [0xd5,0x01] aad $1 // CHECK: aad // CHECK: encoding: [0xd5,0x0a] aad $0xA // CHECK: aad // CHECK: encoding: [0xd5,0x0a] aad // CHECK: aam $2 // CHECK: encoding: [0xd4,0x02] aam $2 // CHECK: aam // CHECK: encoding: [0xd4,0x0a] aam $0xA // CHECK: aam // CHECK: encoding: [0xd4,0x0a] aam // CHECK: aas // CHECK: encoding: [0x3f] aas // CHECK: daa // CHECK: encoding: [0x27] daa // CHECK: das // CHECK: encoding: [0x2f] das // CHECK: retw $31438 // CHECK: encoding: [0xc2,0xce,0x7a] retw $0x7ace // CHECK: lretw $31438 // CHECK: encoding: [0xca,0xce,0x7a] lretw $0x7ace // CHECK: retw $31438 // CHECK: encoding: [0xc2,0xce,0x7a] ret $0x7ace // CHECK: lretw $31438 // CHECK: encoding: [0xca,0xce,0x7a] lret $0x7ace // CHECK: retl $31438 // CHECK: encoding: [0x66,0xc2,0xce,0x7a] retl $0x7ace // CHECK: lretl $31438 // CHECK: encoding: [0x66,0xca,0xce,0x7a] lretl $0x7ace // CHECK: bound %bx, 2(%eax) // CHECK: encoding: [0x67,0x62,0x58,0x02] bound %bx,2(%eax) // CHECK: bound %ecx, 4(%ebx) // CHECK: encoding: [0x67,0x66,0x62,0x4b,0x04] bound %ecx,4(%ebx) // CHECK: arpl %bx, %bx // CHECK: encoding: [0x63,0xdb] arpl %bx,%bx // CHECK: arpl %bx, 6(%ecx) // CHECK: encoding: [0x67,0x63,0x59,0x06] arpl %bx,6(%ecx) // CHECK: lgdtw 4(%eax) // CHECK: encoding: [0x67,0x0f,0x01,0x50,0x04] lgdtw 4(%eax) // CHECK: lgdtw 4(%eax) // CHECK: encoding: [0x67,0x0f,0x01,0x50,0x04] lgdt 4(%eax) // CHECK: lgdtl 4(%eax) // CHECK: encoding: [0x67,0x66,0x0f,0x01,0x50,0x04] lgdtl 4(%eax) // CHECK: lidtw 4(%eax) // CHECK: encoding: [0x67,0x0f,0x01,0x58,0x04] lidtw 4(%eax) // CHECK: lidtw 4(%eax) // CHECK: encoding: [0x67,0x0f,0x01,0x58,0x04] lidt 4(%eax) // CHECK: lidtl 4(%eax) // CHECK: encoding: [0x67,0x66,0x0f,0x01,0x58,0x04] lidtl 4(%eax) // CHECK: sgdtw 4(%eax) // CHECK: encoding: [0x67,0x0f,0x01,0x40,0x04] sgdtw 4(%eax) // CHECK: sgdtw 4(%eax) // CHECK: encoding: [0x67,0x0f,0x01,0x40,0x04] sgdt 4(%eax) // CHECK: sgdtl 4(%eax) // CHECK: encoding: [0x67,0x66,0x0f,0x01,0x40,0x04] sgdtl 4(%eax) // CHECK: sidtw 4(%eax) // CHECK: encoding: [0x67,0x0f,0x01,0x48,0x04] sidtw 4(%eax) // CHECK: sidtw 4(%eax) // CHECK: encoding: [0x67,0x0f,0x01,0x48,0x04] sidt 4(%eax) // CHECK: sidtl 4(%eax) // CHECK: encoding: [0x67,0x66,0x0f,0x01,0x48,0x04] sidtl 4(%eax) // CHECK: fcompi %st(2) // CHECK: encoding: [0xdf,0xf2] fcompi %st(2), %st // CHECK: fcompi %st(2) // CHECK: encoding: [0xdf,0xf2] fcompi %st(2) // CHECK: fcompi // CHECK: encoding: [0xdf,0xf1] fcompi // CHECK: fucompi %st(2) // CHECK: encoding: [0xdf,0xea] fucompi %st(2),%st // CHECK: fucompi %st(2) // CHECK: encoding: [0xdf,0xea] fucompi %st(2) // CHECK: fucompi // CHECK: encoding: [0xdf,0xe9] fucompi // CHECK: fldcw 32493 // CHECK: encoding: [0xd9,0x2e,0xed,0x7e] fldcww 0x7eed // CHECK: fldcw 32493 // CHECK: encoding: [0xd9,0x2e,0xed,0x7e] fldcw 0x7eed // CHECK: fnstcw 32493 // CHECK: encoding: [0xd9,0x3e,0xed,0x7e] fnstcww 0x7eed // CHECK: fnstcw 32493 // CHECK: encoding: [0xd9,0x3e,0xed,0x7e] fnstcw 0x7eed // CHECK: wait // CHECK: encoding: [0x9b] fstcww 0x7eed // CHECK: wait // CHECK: encoding: [0x9b] fstcw 0x7eed // CHECK: fnstsw 32493 // CHECK: encoding: [0xdd,0x3e,0xed,0x7e] fnstsww 0x7eed // CHECK: fnstsw 32493 // CHECK: encoding: [0xdd,0x3e,0xed,0x7e] fnstsw 0x7eed // CHECK: wait // CHECK: encoding: [0x9b] fstsww 0x7eed // CHECK: wait // CHECK: encoding: [0x9b] fstsw 0x7eed // CHECK: verr 32493 // CHECK: encoding: [0x0f,0x00,0x26,0xed,0x7e] verrw 0x7eed // CHECK: verr 32493 // CHECK: encoding: [0x0f,0x00,0x26,0xed,0x7e] verr 0x7eed // CHECK: wait // CHECK: encoding: [0x9b] fclex // CHECK: fnclex // CHECK: encoding: [0xdb,0xe2] fnclex // CHECK: ud2 // CHECK: encoding: [0x0f,0x0b] ud2 // CHECK: ud2 // CHECK: encoding: [0x0f,0x0b] ud2a // CHECK: ud1w %ax, %ax // CHECK: encoding: [0x0f,0xb9,0xc0] ud1 %ax, %ax // CHECK: ud1w %ax, %ax // CHECK: encoding: [0x0f,0xb9,0xc0] ud2b %ax, %ax // CHECK: loope 0 // CHECK: encoding: [0xe1,A] loopz 0 // CHECK: loopne 0 // CHECK: encoding: [0xe0,A] loopnz 0 // CHECK: outsb (%si), %dx # encoding: [0x6e] // CHECK: outsb // CHECK: outsb outsb outsb %ds:(%si), %dx outsb (%si), %dx // CHECK: outsw (%si), %dx # encoding: [0x6f] // CHECK: outsw // CHECK: outsw outsw outsw %ds:(%si), %dx outsw (%si), %dx // CHECK: outsl (%si), %dx # encoding: [0x66,0x6f] // CHECK: outsl outsl outsl %ds:(%si), %dx outsl (%si), %dx // CHECK: insb %dx, %es:(%di) # encoding: [0x6c] // CHECK: insb insb insb %dx, %es:(%di) // CHECK: insw %dx, %es:(%di) # encoding: [0x6d] // CHECK: insw insw insw %dx, %es:(%di) // CHECK: insl %dx, %es:(%di) # encoding: [0x66,0x6d] // CHECK: insl insl insl %dx, %es:(%di) // CHECK: movsb (%si), %es:(%di) # encoding: [0xa4] // CHECK: movsb // CHECK: movsb movsb movsb %ds:(%si), %es:(%di) movsb (%si), %es:(%di) // CHECK: movsw (%si), %es:(%di) # encoding: [0xa5] // CHECK: movsw // CHECK: movsw movsw movsw %ds:(%si), %es:(%di) movsw (%si), %es:(%di) // CHECK: movsl (%si), %es:(%di) # encoding: [0x66,0xa5] // CHECK: movsl // CHECK: movsl movsl movsl %ds:(%si), %es:(%di) movsl (%si), %es:(%di) // CHECK: lodsb (%si), %al # encoding: [0xac] // CHECK: lodsb // CHECK: lodsb // CHECK: lodsb // CHECK: lodsb lodsb lodsb %ds:(%si), %al lodsb (%si), %al lods %ds:(%si), %al lods (%si), %al // CHECK: lodsw (%si), %ax # encoding: [0xad] // CHECK: lodsw // CHECK: lodsw // CHECK: lodsw // CHECK: lodsw lodsw lodsw %ds:(%si), %ax lodsw (%si), %ax lods %ds:(%si), %ax lods (%si), %ax // CHECK: lodsl (%si), %eax # encoding: [0x66,0xad] // CHECK: lodsl // CHECK: lodsl // CHECK: lodsl // CHECK: lodsl lodsl lodsl %ds:(%si), %eax lodsl (%si), %eax lods %ds:(%si), %eax lods (%si), %eax // CHECK: stosb %al, %es:(%di) # encoding: [0xaa] // CHECK: stosb // CHECK: stosb stosb stosb %al, %es:(%di) stos %al, %es:(%di) // CHECK: stosw %ax, %es:(%di) # encoding: [0xab] // CHECK: stosw // CHECK: stosw stosw stosw %ax, %es:(%di) stos %ax, %es:(%di) // CHECK: stosl %eax, %es:(%di) # encoding: [0x66,0xab] // CHECK: stosl // CHECK: stosl stosl stosl %eax, %es:(%di) stos %eax, %es:(%di) // CHECK: strw // CHECK: encoding: [0x0f,0x00,0xc8] str %ax // CHECK: strl // CHECK: encoding: [0x66,0x0f,0x00,0xc8] str %eax // CHECK: fsubp %st, %st(1) // CHECK: encoding: [0xde,0xe1] fsubp %st,%st(1) // CHECK: fsubp %st, %st(2) // CHECK: encoding: [0xde,0xe2] fsubp %st, %st(2) // CHECK: xchgl %eax, %eax // CHECK: encoding: [0x66,0x90] xchgl %eax, %eax // CHECK: xchgw %ax, %ax // CHECK: encoding: [0x90] xchgw %ax, %ax // CHECK: xchgl %ecx, %eax // CHECK: encoding: [0x66,0x91] xchgl %ecx, %eax // CHECK: xchgl %ecx, %eax // CHECK: encoding: [0x66,0x91] xchgl %eax, %ecx // CHECK: retw // CHECK: encoding: [0xc3] retw // CHECK: retl // CHECK: encoding: [0x66,0xc3] retl // CHECK: lretw // CHECK: encoding: [0xcb] lretw // CHECK: lretl // CHECK: encoding: [0x66,0xcb] lretl // CHECK: data32 // CHECK: encoding: [0x66] data32 // CHECK: lgdtl 4(%eax) // CHECK-SAME: encoding: [0x67,0x66,0x0f,0x01,0x50,0x04] data32 lgdt 4(%eax) // CHECK: wbnoinvd // CHECK: encoding: [0xf3,0x0f,0x09] wbnoinvd // CHECK: umonitor %ax // CHECK: encoding: [0xf3,0x0f,0xae,0xf0] umonitor %ax // CHECK: umonitor %eax // CHECK: encoding: [0x67,0xf3,0x0f,0xae,0xf0] umonitor %eax // CHECK: movdir64b (%esi), %eax // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xf8,0x06] movdir64b (%esi), %eax // CHECK: movdir64b (%si), %ax // CHECK: encoding: [0x66,0x0f,0x38,0xf8,0x04] movdir64b (%si), %ax // CHECK: enqcmd (%bx), %di // CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x3f] enqcmd (%bx), %di // CHECK: enqcmd 8128(%si), %ax // CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x84,0xc0,0x1f] enqcmd 8128(%si), %ax // CHECK: enqcmd -8192(%di), %bx // CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x9d,0x00,0xe0] enqcmd -8192(%di), %bx // CHECK: enqcmd 7408, %cx // CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x0e,0xf0,0x1c] enqcmd 7408, %cx // CHECK: enqcmds (%bx), %di // CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x3f] enqcmds (%bx), %di // CHECK: enqcmds 8128(%si), %ax // CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x84,0xc0,0x1f] enqcmds 8128(%si), %ax // CHECK: enqcmds -8192(%di), %bx // CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x9d,0x00,0xe0] enqcmds -8192(%di), %bx // CHECK: enqcmds 7408, %cx // CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x0e,0xf0,0x1c] enqcmds 7408, %cx // CHECK: enqcmd (%edi), %edi // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xf8,0x3f] enqcmd (%edi), %edi // CHECK: enqcmds (%edi), %edi // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xf8,0x3f] enqcmds (%edi), %edi // CHECK: serialize // CHECK: encoding: [0x0f,0x01,0xe8] serialize // CHECK: xsusldtrk // CHECK: encoding: [0xf2,0x0f,0x01,0xe8] xsusldtrk // CHECK: xresldtrk // CHECK: encoding: [0xf2,0x0f,0x01,0xe9] xresldtrk // CHECK: jmp foo // CHECK: encoding: [0xe9,A,A] // CHECK: fixup A - offset: 1, value: foo-2, kind: FK_PCRel_2 {disp32} jmp foo foo: // CHECK: je foo // CHECK: encoding: [0x0f,0x84,A,A] // CHECK: fixup A - offset: 2, value: foo-2, kind: FK_PCRel_2 {disp32} je foo // CHECK: movl nearer, %ebx // CHECK: encoding: [0x66,0x8b,0x1e,A,A] // CHECK: fixup A - offset: 3, value: nearer, kind: FK_Data_2 movl nearer, %ebx