| // 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] | 
 | 	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] | 
 |  | 
 | 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,0xcb] | 
 |         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,A,A,A,A] | 
 | movw	0, %ax    // CHECK: movw 0, %ax  # encoding: [0x66,0xa1,A,A,A,A] | 
 | movl	0, %eax   // CHECK: movl 0, %eax  # encoding: [0xa1,A,A,A,A] | 
 |  | 
 | // 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: cmpps	$0, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0x0f,0xc2,0xc8,0x00] | 
 |         cmpps $0, %xmm0, %xmm1 | 
 | // CHECK:	cmpps	$0, (%eax), %xmm1 | 
 | // CHECK: encoding: [0x0f,0xc2,0x08,0x00] | 
 |         cmpps $0, 0(%eax), %xmm1 | 
 | // CHECK:	cmppd	$0, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x00] | 
 |         cmppd $0, %xmm0, %xmm1 | 
 | // CHECK:	cmppd	$0, (%eax), %xmm1 | 
 | // CHECK: encoding: [0x66,0x0f,0xc2,0x08,0x00] | 
 |         cmppd $0, 0(%eax), %xmm1 | 
 | // CHECK:	cmpss	$0, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x00] | 
 |         cmpss $0, %xmm0, %xmm1 | 
 | // CHECK:	cmpss	$0, (%eax), %xmm1 | 
 | // CHECK: encoding: [0xf3,0x0f,0xc2,0x08,0x00] | 
 |         cmpss $0, 0(%eax), %xmm1 | 
 | // CHECK:	cmpsd	$0, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x00] | 
 |         cmpsd $0, %xmm0, %xmm1 | 
 | // CHECK:	cmpsd	$0, (%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: cmpps $0, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0x0f,0xc2,0xc8,0x00] | 
 |         cmpeqps %xmm0, %xmm1 | 
 |  | 
 | // CHECK: cmppd $1, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x01] | 
 |         cmpltpd %xmm0, %xmm1 | 
 |  | 
 | // CHECK: cmpss $2, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x02] | 
 |         cmpless %xmm0, %xmm1 | 
 |  | 
 | // CHECK: cmppd $3, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x03] | 
 |         cmpunordpd %xmm0, %xmm1 | 
 |  | 
 | // CHECK: cmpps $4, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0x0f,0xc2,0xc8,0x04] | 
 |         cmpneqps %xmm0, %xmm1 | 
 |  | 
 | // CHECK: cmppd $5, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x05] | 
 |         cmpnltpd %xmm0, %xmm1 | 
 |  | 
 | // CHECK: cmpss $6, %xmm0, %xmm1 | 
 | // CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x06] | 
 |         cmpnless %xmm0, %xmm1 | 
 |  | 
 | // CHECK: cmpsd $7, %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: movl	%cs, (%eax) | 
 | // CHECK:  encoding: [0x8c,0x08] | 
 |         movl %cs, (%eax) | 
 |  | 
 | // CHECK: movw	%cs, (%eax) | 
 | // CHECK:  encoding: [0x66,0x8c,0x08] | 
 |         movw %cs, (%eax) | 
 |  | 
 | // CHECK: movl	%eax, %cs | 
 | // CHECK:  encoding: [0x8e,0xc8] | 
 |         movl %eax, %cs | 
 |  | 
 | // CHECK: movl	(%eax), %cs | 
 | // CHECK:  encoding: [0x8e,0x08] | 
 |         movl (%eax), %cs | 
 |  | 
 | // CHECK: movw	(%eax), %cs | 
 | // CHECK:  encoding: [0x66,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 | 
 |  | 
 | // radr://8017522 | 
 | // CHECK: wait | 
 | // CHECK:  encoding: [0x9b] | 
 | 	fwait | 
 |  | 
 | // rdar://7873482 | 
 | // CHECK: [0x65,0x8b,0x05,0x7c,0x00,0x00,0x00] | 
 | // FIXME: This is a correct bug poor encoding: Use 65 a1 7c 00 00 00  | 
 |         movl	%gs:124, %eax | 
 |  | 
 | // CHECK: pusha | 
 | // CHECK:  encoding: [0x60] | 
 |         	pusha | 
 |  | 
 | // CHECK: popa | 
 | // CHECK:  encoding: [0x61] | 
 |         	popa | 
 |  | 
 | // 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	-24(%ebp), %ecx | 
 | testl	-24(%ebp), %ecx | 
 | // CHECK: testl	-24(%ebp), %ecx | 
 |  | 
 |  | 
 | // 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 | 
 |  | 
 |  | 
 | // 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: 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	2(%eax), %bx | 
 | // CHECK:  encoding: [0x66,0x62,0x58,0x02] | 
 |         	bound	2(%eax),%bx | 
 |  | 
 | // CHECK: bound	4(%ebx), %ecx | 
 | // CHECK:  encoding: [0x62,0x4b,0x04] | 
 |         	bound	4(%ebx),%ecx | 
 |  | 
 | // 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: lgdt	4(%eax) | 
 | // CHECK:  encoding: [0x0f,0x01,0x50,0x04] | 
 |         	lgdt	4(%eax) | 
 |  | 
 | // CHECK: lgdt	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: lidt	4(%eax) | 
 | // CHECK:  encoding: [0x0f,0x01,0x58,0x04] | 
 |         	lidt	4(%eax) | 
 |  | 
 | // CHECK: lidt	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: sgdt	4(%eax) | 
 | // CHECK:  encoding: [0x0f,0x01,0x40,0x04] | 
 |         	sgdt	4(%eax) | 
 |  | 
 | // CHECK: sgdt	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: sidt	4(%eax) | 
 | // CHECK:  encoding: [0x0f,0x01,0x48,0x04] | 
 |         	sidt	4(%eax) | 
 |  | 
 | // CHECK: sidt	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: ud2b | 
 | // CHECK:  encoding: [0x0f,0xb9] | 
 |         	ud2b | 
 |  | 
 | // CHECK: loope 0 | 
 | // CHECK: encoding: [0xe1,A] | 
 | 	loopz 0 | 
 |  | 
 | // CHECK: loopne 0 | 
 | // CHECK: encoding: [0xe0,A] | 
 | 	loopnz 0 | 
 |  | 
 | // CHECK: outsb # encoding: [0x6e] | 
 | // CHECK: outsb | 
 | // CHECK: outsb | 
 | 	outsb | 
 | 	outsb	%ds:(%esi), %dx | 
 | 	outsb	(%esi), %dx | 
 |  | 
 | // CHECK: outsw # encoding: [0x66,0x6f] | 
 | // CHECK: outsw | 
 | // CHECK: outsw | 
 | 	outsw | 
 | 	outsw	%ds:(%esi), %dx | 
 | 	outsw	(%esi), %dx | 
 |  | 
 | // CHECK: outsl # encoding: [0x6f] | 
 | // CHECK: outsl | 
 | 	outsl | 
 | 	outsl	%ds:(%esi), %dx | 
 | 	outsl	(%esi), %dx | 
 |  | 
 | // CHECK: insb # encoding: [0x6c] | 
 | // CHECK: insb | 
 | 	insb | 
 | 	insb	%dx, %es:(%edi) | 
 |  | 
 | // CHECK: insw # encoding: [0x66,0x6d] | 
 | // CHECK: insw | 
 | 	insw | 
 | 	insw	%dx, %es:(%edi) | 
 |  | 
 | // CHECK: insl # encoding: [0x6d] | 
 | // CHECK: insl | 
 | 	insl | 
 | 	insl	%dx, %es:(%edi) | 
 |  | 
 | // CHECK: movsb # encoding: [0xa4] | 
 | // CHECK: movsb | 
 | // CHECK: movsb | 
 | 	movsb | 
 | 	movsb	%ds:(%esi), %es:(%edi) | 
 | 	movsb	(%esi), %es:(%edi) | 
 |  | 
 | // CHECK: movsw # encoding: [0x66,0xa5] | 
 | // CHECK: movsw | 
 | // CHECK: movsw | 
 | 	movsw | 
 | 	movsw	%ds:(%esi), %es:(%edi) | 
 | 	movsw	(%esi), %es:(%edi) | 
 |  | 
 | // CHECK: movsd # encoding: [0xa5] | 
 | // CHECK: movsd | 
 | // CHECK: movsd | 
 | 	movsl | 
 | 	movsl	%ds:(%esi), %es:(%edi) | 
 | 	movsl	(%esi), %es:(%edi) | 
 |  | 
 | // CHECK: lodsb # 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 # 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 # 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 # encoding: [0xaa] | 
 | // CHECK: stosb | 
 | // CHECK: stosb | 
 | 	stosb | 
 | 	stosb	%al, %es:(%edi) | 
 | 	stos	%al, %es:(%edi) | 
 |  | 
 | // CHECK: stosw # encoding: [0x66,0xab] | 
 | // CHECK: stosw | 
 | // CHECK: stosw | 
 | 	stosw | 
 | 	stosw	%ax, %es:(%edi) | 
 | 	stos	%ax, %es:(%edi) | 
 |  | 
 | // CHECK: stosl # 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(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 |