// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s pause // CHECK: pause // CHECK: encoding: [0xf3,0x90] sfence // CHECK: sfence // CHECK: encoding: [0x0f,0xae,0xf8] lfence // CHECK: lfence // CHECK: encoding: [0x0f,0xae,0xe8] mfence // CHECK: mfence // CHECK: encoding: [0x0f,0xae,0xf0] monitor // CHECK: monitor // CHECK: encoding: [0x0f,0x01,0xc8] monitor %eax, %ecx, %edx // CHECK: monitor // CHECK: encoding: [0x0f,0x01,0xc8] mwait // CHECK: mwait // CHECK: encoding: [0x0f,0x01,0xc9] mwait %eax, %ecx // CHECK: mwait // CHECK: encoding: [0x0f,0x01,0xc9] vmcall // CHECK: vmcall // CHECK: encoding: [0x0f,0x01,0xc1] vmfunc // CHECK: vmfunc // CHECK: encoding: [0x0f,0x01,0xd4] vmlaunch // CHECK: vmlaunch // CHECK: encoding: [0x0f,0x01,0xc2] vmresume // CHECK: vmresume // CHECK: encoding: [0x0f,0x01,0xc3] vmxoff // CHECK: vmxoff // CHECK: encoding: [0x0f,0x01,0xc4] swapgs // CHECK: swapgs // CHECK: encoding: [0x0f,0x01,0xf8] vmrun %eax // CHECK: vmrun // CHECK: encoding: [0x0f,0x01,0xd8] vmmcall // CHECK: vmmcall // CHECK: encoding: [0x0f,0x01,0xd9] vmload %eax // CHECK: vmload // CHECK: encoding: [0x0f,0x01,0xda] vmsave %eax // CHECK: vmsave // CHECK: encoding: [0x0f,0x01,0xdb] stgi // CHECK: stgi // CHECK: encoding: [0x0f,0x01,0xdc] clgi // CHECK: clgi // CHECK: encoding: [0x0f,0x01,0xdd] skinit %eax // CHECK: skinit // CHECK: encoding: [0x0f,0x01,0xde] invlpga %eax, %ecx // CHECK: invlpga // CHECK: encoding: [0x0f,0x01,0xdf] rdtscp // CHECK: rdtscp // CHECK: encoding: [0x0f,0x01,0xf9] // CHECK: movl %eax, 16(%ebp) # encoding: [0x89,0x45,0x10] movl %eax, 16(%ebp) // CHECK: movl %eax, -16(%ebp) # encoding: [0x89,0x45,0xf0] movl %eax, -16(%ebp) // CHECK: testb %bl, %cl # encoding: [0x84,0xd9] testb %bl, %cl // CHECK: cmpl %eax, %ebx # encoding: [0x39,0xc3] cmpl %eax, %ebx // CHECK: addw %ax, %ax # encoding: [0x66,0x01,0xc0] addw %ax, %ax // CHECK: shrl %eax # encoding: [0xd1,0xe8] shrl $1, %eax // CHECK: shll %eax # encoding: [0xd1,0xe0] sall $1, %eax // CHECK: shll %eax # encoding: [0xd1,0xe0] sal $1, %eax // moffset forms of moves, rdar://7947184 movb 0, %al // CHECK: movb 0, %al # encoding: [0xa0,0x00,0x00,0x00,0x00] movw 0, %ax // CHECK: movw 0, %ax # encoding: [0x66,0xa1,0x00,0x00,0x00,0x00] movl 0, %eax // CHECK: movl 0, %eax # encoding: [0xa1,0x00,0x00,0x00,0x00] // rdar://7973775 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: pushfl # encoding: [0x9c] pushf // CHECK: pushfl # encoding: [0x9c] pushfl // CHECK: popfl # encoding: [0x9d] popf // CHECK: popfl # encoding: [0x9d] popfl // rdar://8014869 retl // CHECK: ret // CHECK: encoding: [0xc3] // rdar://7973854 // CHECK: cmoval %eax, %edx // CHECK: encoding: [0x0f,0x47,0xd0] cmoval %eax,%edx // CHECK: cmovael %eax, %edx // CHECK: encoding: [0x0f,0x43,0xd0] cmovael %eax,%edx // CHECK: cmovbel %eax, %edx // CHECK: encoding: [0x0f,0x46,0xd0] cmovbel %eax,%edx // CHECK: cmovbl %eax, %edx // CHECK: encoding: [0x0f,0x42,0xd0] cmovbl %eax,%edx // CHECK: cmovbw %bx, %bx cmovnae %bx,%bx // CHECK: cmovbel %eax, %edx // CHECK: encoding: [0x0f,0x46,0xd0] cmovbel %eax,%edx // CHECK: cmovbl %eax, %edx // CHECK: encoding: [0x0f,0x42,0xd0] cmovcl %eax,%edx // CHECK: cmovel %eax, %edx // CHECK: encoding: [0x0f,0x44,0xd0] cmovel %eax,%edx // CHECK: cmovgl %eax, %edx // CHECK: encoding: [0x0f,0x4f,0xd0] cmovgl %eax,%edx // CHECK: cmovgel %eax, %edx // CHECK: encoding: [0x0f,0x4d,0xd0] cmovgel %eax,%edx // CHECK: cmovll %eax, %edx // CHECK: encoding: [0x0f,0x4c,0xd0] cmovll %eax,%edx // CHECK: cmovlel %eax, %edx // CHECK: encoding: [0x0f,0x4e,0xd0] cmovlel %eax,%edx // CHECK: cmovbel %eax, %edx // CHECK: encoding: [0x0f,0x46,0xd0] cmovnal %eax,%edx // CHECK: cmovnel %eax, %edx // CHECK: encoding: [0x0f,0x45,0xd0] cmovnel %eax,%edx // CHECK: cmovael %eax, %edx // CHECK: encoding: [0x0f,0x43,0xd0] cmovnbl %eax,%edx // CHECK: cmoval %eax, %edx // CHECK: encoding: [0x0f,0x47,0xd0] cmovnbel %eax,%edx // CHECK: cmovael %eax, %edx // CHECK: encoding: [0x0f,0x43,0xd0] cmovncl %eax,%edx // CHECK: cmovnel %eax, %edx // CHECK: encoding: [0x0f,0x45,0xd0] cmovnel %eax,%edx // CHECK: cmovlel %eax, %edx // CHECK: encoding: [0x0f,0x4e,0xd0] cmovngl %eax,%edx // CHECK: cmovgel %eax, %edx // CHECK: encoding: [0x0f,0x4d,0xd0] cmovnl %eax,%edx // CHECK: cmovnel %eax, %edx // CHECK: encoding: [0x0f,0x45,0xd0] cmovnel %eax,%edx // CHECK: cmovlel %eax, %edx // CHECK: encoding: [0x0f,0x4e,0xd0] cmovngl %eax,%edx // CHECK: cmovll %eax, %edx // CHECK: encoding: [0x0f,0x4c,0xd0] cmovngel %eax,%edx // CHECK: cmovgel %eax, %edx // CHECK: encoding: [0x0f,0x4d,0xd0] cmovnll %eax,%edx // CHECK: cmovgl %eax, %edx // CHECK: encoding: [0x0f,0x4f,0xd0] cmovnlel %eax,%edx // CHECK: cmovnol %eax, %edx // CHECK: encoding: [0x0f,0x41,0xd0] cmovnol %eax,%edx // CHECK: cmovnpl %eax, %edx // CHECK: encoding: [0x0f,0x4b,0xd0] cmovnpl %eax,%edx // CHECK: cmovnsl %eax, %edx // CHECK: encoding: [0x0f,0x49,0xd0] cmovnsl %eax,%edx // CHECK: cmovnel %eax, %edx // CHECK: encoding: [0x0f,0x45,0xd0] cmovnzl %eax,%edx // CHECK: cmovol %eax, %edx // CHECK: encoding: [0x0f,0x40,0xd0] cmovol %eax,%edx // CHECK: cmovpl %eax, %edx // CHECK: encoding: [0x0f,0x4a,0xd0] cmovpl %eax,%edx // CHECK: cmovsl %eax, %edx // CHECK: encoding: [0x0f,0x48,0xd0] cmovsl %eax,%edx // CHECK: cmovel %eax, %edx // CHECK: encoding: [0x0f,0x44,0xd0] cmovzl %eax,%edx // CHECK: cmpeqps %xmm0, %xmm1 // CHECK: encoding: [0x0f,0xc2,0xc8,0x00] cmpps $0, %xmm0, %xmm1 // CHECK: cmpeqps (%eax), %xmm1 // CHECK: encoding: [0x0f,0xc2,0x08,0x00] cmpps $0, 0(%eax), %xmm1 // CHECK: cmpeqpd %xmm0, %xmm1 // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x00] cmppd $0, %xmm0, %xmm1 // CHECK: cmpeqpd (%eax), %xmm1 // CHECK: encoding: [0x66,0x0f,0xc2,0x08,0x00] cmppd $0, 0(%eax), %xmm1 // CHECK: cmpeqss %xmm0, %xmm1 // CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x00] cmpss $0, %xmm0, %xmm1 // CHECK: cmpeqss (%eax), %xmm1 // CHECK: encoding: [0xf3,0x0f,0xc2,0x08,0x00] cmpss $0, 0(%eax), %xmm1 // CHECK: cmpeqsd %xmm0, %xmm1 // CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x00] cmpsd $0, %xmm0, %xmm1 // CHECK: cmpeqsd (%eax), %xmm1 // CHECK: encoding: [0xf2,0x0f,0xc2,0x08,0x00] cmpsd $0, 0(%eax), %xmm1 // Check matching of instructions which embed the SSE comparison code. // CHECK: cmpeqps %xmm0, %xmm1 // CHECK: encoding: [0x0f,0xc2,0xc8,0x00] cmpeqps %xmm0, %xmm1 // CHECK: cmpltpd %xmm0, %xmm1 // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x01] cmpltpd %xmm0, %xmm1 // CHECK: cmpless %xmm0, %xmm1 // CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x02] cmpless %xmm0, %xmm1 // CHECK: cmpunordpd %xmm0, %xmm1 // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x03] cmpunordpd %xmm0, %xmm1 // CHECK: cmpneqps %xmm0, %xmm1 // CHECK: encoding: [0x0f,0xc2,0xc8,0x04] cmpneqps %xmm0, %xmm1 // CHECK: cmpnltpd %xmm0, %xmm1 // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x05] cmpnltpd %xmm0, %xmm1 // CHECK: cmpnless %xmm0, %xmm1 // CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x06] cmpnless %xmm0, %xmm1 // CHECK: cmpordsd %xmm0, %xmm1 // CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x07] cmpordsd %xmm0, %xmm1 // rdar://7995856 // 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 // radr://8017519 // CHECK: movl %cs, %eax // CHECK: encoding: [0x8c,0xc8] movl %cs, %eax // CHECK: movw %cs, %ax // CHECK: encoding: [0x66,0x8c,0xc8] movw %cs, %ax // CHECK: movw %cs, (%eax) // CHECK: encoding: [0x8c,0x08] mov %cs, (%eax) // CHECK: movw %cs, (%eax) // CHECK: encoding: [0x8c,0x08] movw %cs, (%eax) // CHECK: movl %eax, %cs // CHECK: encoding: [0x8e,0xc8] movl %eax, %cs // CHECK: movl %eax, %cs // CHECK: encoding: [0x8e,0xc8] movw %ax, %cs // CHECK: movl %eax, %cs // CHECK: encoding: [0x8e,0xc8] mov %eax, %cs // CHECK: movl %eax, %cs // CHECK: encoding: [0x8e,0xc8] mov %ax, %cs // CHECK: movw (%eax), %cs // CHECK: encoding: [0x8e,0x08] mov (%eax), %cs // CHECK: movw (%eax), %cs // CHECK: encoding: [0x8e,0x08] movw (%eax), %cs // radr://8033374 // 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: clzero // CHECK: encoding: [0x0f,0x01,0xfc] clzero // CHECK: clzero // CHECK: encoding: [0x0f,0x01,0xfc] clzero %eax // CHECK: tlbsync // CHECK: encoding: [0x0f,0x01,0xff] tlbsync // CHECK: invlpgb // CHECK: encoding: [0x0f,0x01,0xfe] invlpgb %eax, %edx // radr://8017522 // CHECK: wait // CHECK: encoding: [0x9b] fwait // rdar://7873482 // CHECK: [0x65,0xa1,0x7c,0x00,0x00,0x00] movl %gs:124, %eax // CHECK: [0x65,0xa3,0x7c,0x00,0x00,0x00] movl %eax, %gs:124 // CHECK: pushal // CHECK: encoding: [0x60] pusha // CHECK: popal // CHECK: encoding: [0x61] popa // CHECK: pushaw // CHECK: encoding: [0x66,0x60] pushaw // CHECK: popaw // CHECK: encoding: [0x66,0x61] popaw // CHECK: pushal // CHECK: encoding: [0x60] pushal // CHECK: popal // CHECK: encoding: [0x61] popal // CHECK: jmpl *8(%eax) // CHECK: encoding: [0xff,0x60,0x08] jmp *8(%eax) // PR7465 // CHECK: lcalll $2, $4660 // CHECK: encoding: [0x9a,0x34,0x12,0x00,0x00,0x02,0x00] lcalll $0x2, $0x1234 // rdar://8061602 L1: jcxz L1 // CHECK: jcxz L1 // CHECK: encoding: [0x67,0xe3,A] jecxz L1 // CHECK: jecxz L1 // CHECK: encoding: [0xe3,A] // rdar://8403974 iret // CHECK: iretl // CHECK: encoding: [0xcf] iretw // CHECK: iretw // CHECK: encoding: [0x66,0xcf] iretl // CHECK: iretl // CHECK: encoding: [0xcf] // rdar://8403907 sysret // CHECK: sysretl // CHECK: encoding: [0x0f,0x07] sysretl // CHECK: sysretl // CHECK: encoding: [0x0f,0x07] // rdar://8018260 testl %ecx, -24(%ebp) // CHECK: testl %ecx, -24(%ebp) testl -24(%ebp), %ecx // CHECK: testl %ecx, -24(%ebp) // rdar://8407242 push %cs // CHECK: pushl %cs // CHECK: encoding: [0x0e] push %ds // CHECK: pushl %ds // CHECK: encoding: [0x1e] push %ss // CHECK: pushl %ss // CHECK: encoding: [0x16] push %es // CHECK: pushl %es // CHECK: encoding: [0x06] push %fs // CHECK: pushl %fs // CHECK: encoding: [0x0f,0xa0] push %gs // CHECK: pushl %gs // CHECK: encoding: [0x0f,0xa8] pushw %cs // CHECK: pushw %cs // CHECK: encoding: [0x66,0x0e] pushw %ds // CHECK: pushw %ds // CHECK: encoding: [0x66,0x1e] pushw %ss // CHECK: pushw %ss // CHECK: encoding: [0x66,0x16] pushw %es // CHECK: pushw %es // CHECK: encoding: [0x66,0x06] pushw %fs // CHECK: pushw %fs // CHECK: encoding: [0x66,0x0f,0xa0] pushw %gs // CHECK: pushw %gs // CHECK: encoding: [0x66,0x0f,0xa8] pop %ss // CHECK: popl %ss // CHECK: encoding: [0x17] pop %ds // CHECK: popl %ds // CHECK: encoding: [0x1f] pop %es // CHECK: popl %es // CHECK: encoding: [0x07] // rdar://8408129 pushfd // CHECK: pushfl popfd // CHECK: popfl pushfl // CHECK: pushfl popfl // CHECK: popfl // rdar://8416805 setc %bl setnae %bl setnb %bl setnc %bl setna %bl setnbe %bl setpe %bl setpo %bl setnge %bl setnl %bl setng %bl setnle %bl // PR8686 setneb %cl // CHECK: setne %cl setcb %bl // CHECK: setb %bl setnaeb %bl // CHECK: setb %bl // PR8114 out %al, (%dx) // CHECK: outb %al, %dx outb %al, (%dx) // CHECK: outb %al, %dx out %ax, (%dx) // CHECK: outw %ax, %dx outw %ax, (%dx) // CHECK: outw %ax, %dx out %eax, (%dx) // CHECK: outl %eax, %dx outl %eax, (%dx) // CHECK: outl %eax, %dx in (%dx), %al // CHECK: inb %dx, %al inb (%dx), %al // CHECK: inb %dx, %al in (%dx), %ax // CHECK: inw %dx, %ax inw (%dx), %ax // CHECK: inw %dx, %ax in (%dx), %eax // CHECK: inl %dx, %eax inl (%dx), %eax // CHECK: inl %dx, %eax //PR15455 outsb (%esi), (%dx) // CHECK: outsb (%esi), %dx outsw (%esi), (%dx) // CHECK: outsw (%esi), %dx outsl (%esi), (%dx) // CHECK: outsl (%esi), %dx insb (%dx), %es:(%edi) // CHECK: insb %dx, %es:(%edi) insw (%dx), %es:(%edi) // CHECK: insw %dx, %es:(%edi) insl (%dx), %es:(%edi) // CHECK: insl %dx, %es:(%edi) // 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: lcalll $31438, $31438 // CHECK: lcalll $31438, $31438 // CHECK: ljmpl $31438, $31438 // CHECK: ljmpl $31438, $31438 call $0x7ace,$0x7ace lcall $0x7ace,$0x7ace jmp $0x7ace,$0x7ace ljmp $0x7ace,$0x7ace // rdar://8456370 // CHECK: calll a calll a // CHECK: incb %al # encoding: [0xfe,0xc0] incb %al // CHECK: incw %ax # encoding: [0x66,0x40] incw %ax // CHECK: incl %eax # encoding: [0x40] incl %eax // CHECK: decb %al # encoding: [0xfe,0xc8] decb %al // CHECK: decw %ax # encoding: [0x66,0x48] decw %ax // CHECK: decl %eax # encoding: [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] // PR8288 pshufw $90, %mm4, %mm0 // rdar://8416805 // 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: [0x66,0xc2,0xce,0x7a] retw $0x7ace // CHECK: lretw $31438 // CHECK: encoding: [0x66,0xca,0xce,0x7a] lretw $0x7ace // CHECK: bound %bx, 2(%eax) // CHECK: encoding: [0x66,0x62,0x58,0x02] bound %bx,2(%eax) // CHECK: bound %ecx, 4(%ebx) // CHECK: encoding: [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: [0x63,0x59,0x06] arpl %bx,6(%ecx) // CHECK: lgdtw 4(%eax) // CHECK: encoding: [0x66,0x0f,0x01,0x50,0x04] lgdtw 4(%eax) // CHECK: lgdtl 4(%eax) // CHECK: encoding: [0x0f,0x01,0x50,0x04] lgdt 4(%eax) // CHECK: lgdtl 4(%eax) // CHECK: encoding: [0x0f,0x01,0x50,0x04] lgdtl 4(%eax) // CHECK: lidtw 4(%eax) // CHECK: encoding: [0x66,0x0f,0x01,0x58,0x04] lidtw 4(%eax) // CHECK: lidtl 4(%eax) // CHECK: encoding: [0x0f,0x01,0x58,0x04] lidt 4(%eax) // CHECK: lidtl 4(%eax) // CHECK: encoding: [0x0f,0x01,0x58,0x04] lidtl 4(%eax) // CHECK: sgdtw 4(%eax) // CHECK: encoding: [0x66,0x0f,0x01,0x40,0x04] sgdtw 4(%eax) // CHECK: sgdtl 4(%eax) // CHECK: encoding: [0x0f,0x01,0x40,0x04] sgdt 4(%eax) // CHECK: sgdtl 4(%eax) // CHECK: encoding: [0x0f,0x01,0x40,0x04] sgdtl 4(%eax) // CHECK: sidtw 4(%eax) // CHECK: encoding: [0x66,0x0f,0x01,0x48,0x04] sidtw 4(%eax) // CHECK: sidtl 4(%eax) // CHECK: encoding: [0x0f,0x01,0x48,0x04] sidt 4(%eax) // CHECK: sidtl 4(%eax) // CHECK: encoding: [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,0x2d,0xed,0x7e,0x00,0x00] fldcww 0x7eed // CHECK: fldcw 32493 // CHECK: encoding: [0xd9,0x2d,0xed,0x7e,0x00,0x00] fldcw 0x7eed // CHECK: fnstcw 32493 // CHECK: encoding: [0xd9,0x3d,0xed,0x7e,0x00,0x00] fnstcww 0x7eed // CHECK: fnstcw 32493 // CHECK: encoding: [0xd9,0x3d,0xed,0x7e,0x00,0x00] fnstcw 0x7eed // CHECK: wait // CHECK: encoding: [0x9b] fstcww 0x7eed // CHECK: wait // CHECK: encoding: [0x9b] fstcw 0x7eed // CHECK: fnstsw 32493 // CHECK: encoding: [0xdd,0x3d,0xed,0x7e,0x00,0x00] fnstsww 0x7eed // CHECK: fnstsw 32493 // CHECK: encoding: [0xdd,0x3d,0xed,0x7e,0x00,0x00] fnstsw 0x7eed // CHECK: wait // CHECK: encoding: [0x9b] fstsww 0x7eed // CHECK: wait // CHECK: encoding: [0x9b] fstsw 0x7eed // CHECK: verr 32493 // CHECK: encoding: [0x0f,0x00,0x25,0xed,0x7e,0x00,0x00] verrw 0x7eed // CHECK: verr 32493 // CHECK: encoding: [0x0f,0x00,0x25,0xed,0x7e,0x00,0x00] 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: ud1l %edx, %edi // CHECK: encoding: [0x0f,0xb9,0xfa] ud1 %edx, %edi // CHECK: ud1l (%ebx), %ecx // CHECK: encoding: [0x0f,0xb9,0x0b] ud2b (%ebx), %ecx // CHECK: loope 0 // CHECK: encoding: [0xe1,A] loopz 0 // CHECK: loopne 0 // CHECK: encoding: [0xe0,A] loopnz 0 // CHECK: outsb (%esi), %dx # encoding: [0x6e] // CHECK: outsb // CHECK: outsb outsb outsb %ds:(%esi), %dx outsb (%esi), %dx // CHECK: outsw (%esi), %dx # encoding: [0x66,0x6f] // CHECK: outsw // CHECK: outsw outsw outsw %ds:(%esi), %dx outsw (%esi), %dx // CHECK: outsl (%esi), %dx # encoding: [0x6f] // CHECK: outsl outsl outsl %ds:(%esi), %dx outsl (%esi), %dx // CHECK: insb %dx, %es:(%edi) # encoding: [0x6c] // CHECK: insb insb insb %dx, %es:(%edi) // CHECK: insw %dx, %es:(%edi) # encoding: [0x66,0x6d] // CHECK: insw insw insw %dx, %es:(%edi) // CHECK: insl %dx, %es:(%edi) # encoding: [0x6d] // CHECK: insl insl insl %dx, %es:(%edi) // CHECK: movsb (%esi), %es:(%edi) # encoding: [0xa4] // CHECK: movsb // CHECK: movsb movsb movsb %ds:(%esi), %es:(%edi) movsb (%esi), %es:(%edi) // CHECK: movsw (%esi), %es:(%edi) # encoding: [0x66,0xa5] // CHECK: movsw // CHECK: movsw movsw movsw %ds:(%esi), %es:(%edi) movsw (%esi), %es:(%edi) // CHECK: movsl (%esi), %es:(%edi) # encoding: [0xa5] // CHECK: movsl // CHECK: movsl movsl movsl %ds:(%esi), %es:(%edi) movsl (%esi), %es:(%edi) // CHECK: lodsb (%esi), %al # encoding: [0xac] // CHECK: lodsb // CHECK: lodsb // CHECK: lodsb // CHECK: lodsb lodsb lodsb %ds:(%esi), %al lodsb (%esi), %al lods %ds:(%esi), %al lods (%esi), %al // CHECK: lodsw (%esi), %ax # encoding: [0x66,0xad] // CHECK: lodsw // CHECK: lodsw // CHECK: lodsw // CHECK: lodsw lodsw lodsw %ds:(%esi), %ax lodsw (%esi), %ax lods %ds:(%esi), %ax lods (%esi), %ax // CHECK: lodsl (%esi), %eax # encoding: [0xad] // CHECK: lodsl // CHECK: lodsl // CHECK: lodsl // CHECK: lodsl lodsl lodsl %ds:(%esi), %eax lodsl (%esi), %eax lods %ds:(%esi), %eax lods (%esi), %eax // CHECK: stosb %al, %es:(%edi) # encoding: [0xaa] // CHECK: stosb // CHECK: stosb stosb stosb %al, %es:(%edi) stos %al, %es:(%edi) // CHECK: stosw %ax, %es:(%edi) # encoding: [0x66,0xab] // CHECK: stosw // CHECK: stosw stosw stosw %ax, %es:(%edi) stos %ax, %es:(%edi) // CHECK: stosl %eax, %es:(%edi) # encoding: [0xab] // CHECK: stosl // CHECK: stosl stosl stosl %eax, %es:(%edi) stos %eax, %es:(%edi) // CHECK: strw // CHECK: encoding: [0x66,0x0f,0x00,0xc8] str %ax // CHECK: strl // CHECK: encoding: [0x0f,0x00,0xc8] str %eax // PR9378 // CHECK: fsubp // CHECK: encoding: [0xde,0xe1] fsubp %st,%st(1) // PR9164 // CHECK: fsubp %st, %st(2) // CHECK: encoding: [0xde,0xe2] fsubp %st, %st(2) // PR10345 // CHECK: xchgl %eax, %eax // CHECK: encoding: [0x90] xchgl %eax, %eax // CHECK: xchgw %ax, %ax // CHECK: encoding: [0x66,0x90] xchgw %ax, %ax // CHECK: xchgl %ecx, %eax // CHECK: encoding: [0x91] xchgl %ecx, %eax // CHECK: xchgl %ecx, %eax // CHECK: encoding: [0x91] xchgl %eax, %ecx // CHECK: retw // CHECK: encoding: [0x66,0xc3] retw // CHECK: lretw // CHECK: encoding: [0x66,0xcb] lretw // CHECK: data16 // CHECK: encoding: [0x66] data16 // CHECK: data16 // CHECK: encoding: [0x66] // CHECK: lgdtl 4(%eax) // CHECK: encoding: [0x0f,0x01,0x50,0x04] data16 lgdt 4(%eax) // CHECK: rdpid %eax // CHECK: encoding: [0xf3,0x0f,0xc7,0xf8] rdpid %eax // CHECK: ptwritel 3735928559(%ebx,%ecx,8) // CHECK: encoding: [0xf3,0x0f,0xae,0xa4,0xcb,0xef,0xbe,0xad,0xde] ptwritel 0xdeadbeef(%ebx,%ecx,8) // CHECK: ptwritel %eax // CHECK: encoding: [0xf3,0x0f,0xae,0xe0] ptwritel %eax // CHECK: jmp foo // CHECK: encoding: [0xe9,A,A,A,A] // CHECK: fixup A - offset: 1, value: foo-4, kind: FK_PCRel_4 // CHECK: jmp foo // CHECK: encoding: [0xe9,A,A,A,A] // CHECK: fixup A - offset: 1, value: foo-4, kind: FK_PCRel_4 {disp32} jmp foo jmp.d32 foo foo: // CHECK: je foo // CHECK: encoding: [0x0f,0x84,A,A,A,A] // CHECK: fixup A - offset: 2, value: foo-4, kind: FK_PCRel_4 // CHECK: je foo // CHECK: encoding: [0x0f,0x84,A,A,A,A] // CHECK: fixup A - offset: 2, value: foo-4, kind: FK_PCRel_4 {disp32} je foo je.d32 foo // CHECK: ljmpl *%cs:305419896 // CHECK: encoding: [0x2e,0xff,0x2d,0x78,0x56,0x34,0x12] ljmp %cs:*0x12345678