Index: test/MC/X86/I186-32.s =================================================================== --- /dev/null +++ test/MC/X86/I186-32.s @@ -0,0 +1,238 @@ +// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s + +// CHECK: enter $0, $0 +// CHECK: encoding: [0xc8,0x00,0x00,0x00] +enter $0, $0 + +// CHECK: insb %dx, %es:(%edi) +// CHECK: encoding: [0x6c] +insb %dx, %es:(%edi) + +// CHECK: insw %dx, %es:(%edi) +// CHECK: encoding: [0x66,0x6d] +insw %dx, %es:(%edi) + +// CHECK: leave +// CHECK: encoding: [0xc9] +leave + +// CHECK: outsb %es:(%esi), %dx +// CHECK: encoding: [0x26,0x6e] +outsb %es:(%esi), %dx + +// CHECK: outsw %es:(%esi), %dx +// CHECK: encoding: [0x66,0x26,0x6f] +outsw %es:(%esi), %dx + +// CHECK: popaw +// CHECK: encoding: [0x66,0x61] +popaw + +// CHECK: pushaw +// CHECK: encoding: [0x66,0x60] +pushaw + +// CHECK: pushl $0 +// CHECK: encoding: [0x6a,0x00] +pushl $0 + +// CHECK: rclb $0, 485498096 +// CHECK: encoding: [0xc0,0x15,0xf0,0x1c,0xf0,0x1c,0x00] +rclb $0, 485498096 + +// CHECK: rclb $0, 485498096(%edx) +// CHECK: encoding: [0xc0,0x92,0xf0,0x1c,0xf0,0x1c,0x00] +rclb $0, 485498096(%edx) + +// CHECK: rclb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0x94,0x82,0x10,0xe3,0x0f,0xe3,0x00] +rclb $0, -485498096(%edx,%eax,4) + +// CHECK: rclb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0x94,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +rclb $0, 485498096(%edx,%eax,4) + +// CHECK: rclb $0, 64(%edx,%eax) +// CHECK: encoding: [0xc0,0x54,0x02,0x40,0x00] +rclb $0, 64(%edx,%eax) + +// CHECK: rclb $0, (%edx) +// CHECK: encoding: [0xc0,0x12,0x00] +rclb $0, (%edx) + +// CHECK: rcrb $0, 485498096 +// CHECK: encoding: [0xc0,0x1d,0xf0,0x1c,0xf0,0x1c,0x00] +rcrb $0, 485498096 + +// CHECK: rcrb $0, 485498096(%edx) +// CHECK: encoding: [0xc0,0x9a,0xf0,0x1c,0xf0,0x1c,0x00] +rcrb $0, 485498096(%edx) + +// CHECK: rcrb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0x9c,0x82,0x10,0xe3,0x0f,0xe3,0x00] +rcrb $0, -485498096(%edx,%eax,4) + +// CHECK: rcrb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0x9c,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +rcrb $0, 485498096(%edx,%eax,4) + +// CHECK: rcrb $0, 64(%edx,%eax) +// CHECK: encoding: [0xc0,0x5c,0x02,0x40,0x00] +rcrb $0, 64(%edx,%eax) + +// CHECK: rcrb $0, (%edx) +// CHECK: encoding: [0xc0,0x1a,0x00] +rcrb $0, (%edx) + +// CHECK: rep insb %dx, %es:(%edi) +// CHECK: encoding: [0xf3,0x6c] +rep insb %dx, %es:(%edi) + +// CHECK: rep insw %dx, %es:(%edi) +// CHECK: encoding: [0xf3,0x66,0x6d] +rep insw %dx, %es:(%edi) + +// CHECK: repne insb %dx, %es:(%edi) +// CHECK: encoding: [0xf2,0x6c] +repne insb %dx, %es:(%edi) + +// CHECK: repne insw %dx, %es:(%edi) +// CHECK: encoding: [0xf2,0x66,0x6d] +repne insw %dx, %es:(%edi) + +// CHECK: repne outsb %es:(%esi), %dx +// CHECK: encoding: [0xf2,0x26,0x6e] +repne outsb %es:(%esi), %dx + +// CHECK: repne outsw %es:(%esi), %dx +// CHECK: encoding: [0xf2,0x66,0x26,0x6f] +repne outsw %es:(%esi), %dx + +// CHECK: rep outsb %es:(%esi), %dx +// CHECK: encoding: [0xf3,0x26,0x6e] +rep outsb %es:(%esi), %dx + +// CHECK: rep outsw %es:(%esi), %dx +// CHECK: encoding: [0xf3,0x66,0x26,0x6f] +rep outsw %es:(%esi), %dx + +// CHECK: rolb $0, 485498096 +// CHECK: encoding: [0xc0,0x05,0xf0,0x1c,0xf0,0x1c,0x00] +rolb $0, 485498096 + +// CHECK: rolb $0, 485498096(%edx) +// CHECK: encoding: [0xc0,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +rolb $0, 485498096(%edx) + +// CHECK: rolb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0x84,0x82,0x10,0xe3,0x0f,0xe3,0x00] +rolb $0, -485498096(%edx,%eax,4) + +// CHECK: rolb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0x84,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +rolb $0, 485498096(%edx,%eax,4) + +// CHECK: rolb $0, 64(%edx,%eax) +// CHECK: encoding: [0xc0,0x44,0x02,0x40,0x00] +rolb $0, 64(%edx,%eax) + +// CHECK: rolb $0, (%edx) +// CHECK: encoding: [0xc0,0x02,0x00] +rolb $0, (%edx) + +// CHECK: rorb $0, 485498096 +// CHECK: encoding: [0xc0,0x0d,0xf0,0x1c,0xf0,0x1c,0x00] +rorb $0, 485498096 + +// CHECK: rorb $0, 485498096(%edx) +// CHECK: encoding: [0xc0,0x8a,0xf0,0x1c,0xf0,0x1c,0x00] +rorb $0, 485498096(%edx) + +// CHECK: rorb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00] +rorb $0, -485498096(%edx,%eax,4) + +// CHECK: rorb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +rorb $0, 485498096(%edx,%eax,4) + +// CHECK: rorb $0, 64(%edx,%eax) +// CHECK: encoding: [0xc0,0x4c,0x02,0x40,0x00] +rorb $0, 64(%edx,%eax) + +// CHECK: rorb $0, (%edx) +// CHECK: encoding: [0xc0,0x0a,0x00] +rorb $0, (%edx) + +// CHECK: sarb $0, 485498096 +// CHECK: encoding: [0xc0,0x3d,0xf0,0x1c,0xf0,0x1c,0x00] +sarb $0, 485498096 + +// CHECK: sarb $0, 485498096(%edx) +// CHECK: encoding: [0xc0,0xba,0xf0,0x1c,0xf0,0x1c,0x00] +sarb $0, 485498096(%edx) + +// CHECK: sarb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0xbc,0x82,0x10,0xe3,0x0f,0xe3,0x00] +sarb $0, -485498096(%edx,%eax,4) + +// CHECK: sarb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0xbc,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +sarb $0, 485498096(%edx,%eax,4) + +// CHECK: sarb $0, 64(%edx,%eax) +// CHECK: encoding: [0xc0,0x7c,0x02,0x40,0x00] +sarb $0, 64(%edx,%eax) + +// CHECK: sarb $0, (%edx) +// CHECK: encoding: [0xc0,0x3a,0x00] +sarb $0, (%edx) + +// CHECK: shlb $0, 485498096 +// CHECK: encoding: [0xc0,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +shlb $0, 485498096 + +// CHECK: shlb $0, 485498096(%edx) +// CHECK: encoding: [0xc0,0xa2,0xf0,0x1c,0xf0,0x1c,0x00] +shlb $0, 485498096(%edx) + +// CHECK: shlb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0xa4,0x82,0x10,0xe3,0x0f,0xe3,0x00] +shlb $0, -485498096(%edx,%eax,4) + +// CHECK: shlb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0xa4,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +shlb $0, 485498096(%edx,%eax,4) + +// CHECK: shlb $0, 64(%edx,%eax) +// CHECK: encoding: [0xc0,0x64,0x02,0x40,0x00] +shlb $0, 64(%edx,%eax) + +// CHECK: shlb $0, (%edx) +// CHECK: encoding: [0xc0,0x22,0x00] +shlb $0, (%edx) + +// CHECK: shrb $0, 485498096 +// CHECK: encoding: [0xc0,0x2d,0xf0,0x1c,0xf0,0x1c,0x00] +shrb $0, 485498096 + +// CHECK: shrb $0, 485498096(%edx) +// CHECK: encoding: [0xc0,0xaa,0xf0,0x1c,0xf0,0x1c,0x00] +shrb $0, 485498096(%edx) + +// CHECK: shrb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0xac,0x82,0x10,0xe3,0x0f,0xe3,0x00] +shrb $0, -485498096(%edx,%eax,4) + +// CHECK: shrb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xc0,0xac,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +shrb $0, 485498096(%edx,%eax,4) + +// CHECK: shrb $0, 64(%edx,%eax) +// CHECK: encoding: [0xc0,0x6c,0x02,0x40,0x00] +shrb $0, 64(%edx,%eax) + +// CHECK: shrb $0, (%edx) +// CHECK: encoding: [0xc0,0x2a,0x00] +shrb $0, (%edx) + Index: test/MC/X86/I186-64.s =================================================================== --- /dev/null +++ test/MC/X86/I186-64.s @@ -0,0 +1,278 @@ +// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s + +// CHECK: imull $0, %r13d, %r13d +// CHECK: encoding: [0x45,0x6b,0xed,0x00] +imull $0, %r13d, %r13d + +// CHECK: insb %dx, %es:(%rdi) +// CHECK: encoding: [0x6c] +insb %dx, %es:(%rdi) + +// CHECK: insw %dx, %es:(%rdi) +// CHECK: encoding: [0x66,0x6d] +insw %dx, %es:(%rdi) + +// CHECK: outsb %gs:(%rsi), %dx +// CHECK: encoding: [0x65,0x6e] +outsb %gs:(%rsi), %dx + +// CHECK: outsw %gs:(%rsi), %dx +// CHECK: encoding: [0x66,0x65,0x6f] +outsw %gs:(%rsi), %dx + +// CHECK: rclb $0, 485498096 +// CHECK: encoding: [0xc0,0x14,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +rclb $0, 485498096 + +// CHECK: rclb $0, 64(%rdx) +// CHECK: encoding: [0xc0,0x52,0x40,0x00] +rclb $0, 64(%rdx) + +// CHECK: rclb $0, 64(%rdx,%rax) +// CHECK: encoding: [0xc0,0x54,0x02,0x40,0x00] +rclb $0, 64(%rdx,%rax) + +// CHECK: rclb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x54,0x82,0xc0,0x00] +rclb $0, -64(%rdx,%rax,4) + +// CHECK: rclb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x54,0x82,0x40,0x00] +rclb $0, 64(%rdx,%rax,4) + +// CHECK: rclb $0, %r14b +// CHECK: encoding: [0x41,0xc0,0xd6,0x00] +rclb $0, %r14b + +// CHECK: rclb $0, (%rdx) +// CHECK: encoding: [0xc0,0x12,0x00] +rclb $0, (%rdx) + +// CHECK: rcll $0, %r13d +// CHECK: encoding: [0x41,0xc1,0xd5,0x00] +rcll $0, %r13d + +// CHECK: rcrb $0, 485498096 +// CHECK: encoding: [0xc0,0x1c,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +rcrb $0, 485498096 + +// CHECK: rcrb $0, 64(%rdx) +// CHECK: encoding: [0xc0,0x5a,0x40,0x00] +rcrb $0, 64(%rdx) + +// CHECK: rcrb $0, 64(%rdx,%rax) +// CHECK: encoding: [0xc0,0x5c,0x02,0x40,0x00] +rcrb $0, 64(%rdx,%rax) + +// CHECK: rcrb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x5c,0x82,0xc0,0x00] +rcrb $0, -64(%rdx,%rax,4) + +// CHECK: rcrb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x5c,0x82,0x40,0x00] +rcrb $0, 64(%rdx,%rax,4) + +// CHECK: rcrb $0, %r14b +// CHECK: encoding: [0x41,0xc0,0xde,0x00] +rcrb $0, %r14b + +// CHECK: rcrb $0, (%rdx) +// CHECK: encoding: [0xc0,0x1a,0x00] +rcrb $0, (%rdx) + +// CHECK: rcrl $0, %r13d +// CHECK: encoding: [0x41,0xc1,0xdd,0x00] +rcrl $0, %r13d + +// CHECK: rep insb %dx, %es:(%rdi) +// CHECK: encoding: [0xf3,0x6c] +rep insb %dx, %es:(%rdi) + +// CHECK: rep insw %dx, %es:(%rdi) +// CHECK: encoding: [0xf3,0x66,0x6d] +rep insw %dx, %es:(%rdi) + +// CHECK: repne insb %dx, %es:(%rdi) +// CHECK: encoding: [0xf2,0x6c] +repne insb %dx, %es:(%rdi) + +// CHECK: repne insw %dx, %es:(%rdi) +// CHECK: encoding: [0xf2,0x66,0x6d] +repne insw %dx, %es:(%rdi) + +// CHECK: repne outsb %gs:(%rsi), %dx +// CHECK: encoding: [0xf2,0x65,0x6e] +repne outsb %gs:(%rsi), %dx + +// CHECK: repne outsw %gs:(%rsi), %dx +// CHECK: encoding: [0xf2,0x66,0x65,0x6f] +repne outsw %gs:(%rsi), %dx + +// CHECK: rep outsb %gs:(%rsi), %dx +// CHECK: encoding: [0xf3,0x65,0x6e] +rep outsb %gs:(%rsi), %dx + +// CHECK: rep outsw %gs:(%rsi), %dx +// CHECK: encoding: [0xf3,0x66,0x65,0x6f] +rep outsw %gs:(%rsi), %dx + +// CHECK: rolb $0, 485498096 +// CHECK: encoding: [0xc0,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +rolb $0, 485498096 + +// CHECK: rolb $0, 64(%rdx) +// CHECK: encoding: [0xc0,0x42,0x40,0x00] +rolb $0, 64(%rdx) + +// CHECK: rolb $0, 64(%rdx,%rax) +// CHECK: encoding: [0xc0,0x44,0x02,0x40,0x00] +rolb $0, 64(%rdx,%rax) + +// CHECK: rolb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x44,0x82,0xc0,0x00] +rolb $0, -64(%rdx,%rax,4) + +// CHECK: rolb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x44,0x82,0x40,0x00] +rolb $0, 64(%rdx,%rax,4) + +// CHECK: rolb $0, %r14b +// CHECK: encoding: [0x41,0xc0,0xc6,0x00] +rolb $0, %r14b + +// CHECK: rolb $0, (%rdx) +// CHECK: encoding: [0xc0,0x02,0x00] +rolb $0, (%rdx) + +// CHECK: roll $0, %r13d +// CHECK: encoding: [0x41,0xc1,0xc5,0x00] +roll $0, %r13d + +// CHECK: rorb $0, 485498096 +// CHECK: encoding: [0xc0,0x0c,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +rorb $0, 485498096 + +// CHECK: rorb $0, 64(%rdx) +// CHECK: encoding: [0xc0,0x4a,0x40,0x00] +rorb $0, 64(%rdx) + +// CHECK: rorb $0, 64(%rdx,%rax) +// CHECK: encoding: [0xc0,0x4c,0x02,0x40,0x00] +rorb $0, 64(%rdx,%rax) + +// CHECK: rorb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x4c,0x82,0xc0,0x00] +rorb $0, -64(%rdx,%rax,4) + +// CHECK: rorb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x4c,0x82,0x40,0x00] +rorb $0, 64(%rdx,%rax,4) + +// CHECK: rorb $0, %r14b +// CHECK: encoding: [0x41,0xc0,0xce,0x00] +rorb $0, %r14b + +// CHECK: rorb $0, (%rdx) +// CHECK: encoding: [0xc0,0x0a,0x00] +rorb $0, (%rdx) + +// CHECK: rorl $0, %r13d +// CHECK: encoding: [0x41,0xc1,0xcd,0x00] +rorl $0, %r13d + +// CHECK: sarb $0, 485498096 +// CHECK: encoding: [0xc0,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +sarb $0, 485498096 + +// CHECK: sarb $0, 64(%rdx) +// CHECK: encoding: [0xc0,0x7a,0x40,0x00] +sarb $0, 64(%rdx) + +// CHECK: sarb $0, 64(%rdx,%rax) +// CHECK: encoding: [0xc0,0x7c,0x02,0x40,0x00] +sarb $0, 64(%rdx,%rax) + +// CHECK: sarb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x7c,0x82,0xc0,0x00] +sarb $0, -64(%rdx,%rax,4) + +// CHECK: sarb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x7c,0x82,0x40,0x00] +sarb $0, 64(%rdx,%rax,4) + +// CHECK: sarb $0, %r14b +// CHECK: encoding: [0x41,0xc0,0xfe,0x00] +sarb $0, %r14b + +// CHECK: sarb $0, (%rdx) +// CHECK: encoding: [0xc0,0x3a,0x00] +sarb $0, (%rdx) + +// CHECK: sarl $0, %r13d +// CHECK: encoding: [0x41,0xc1,0xfd,0x00] +sarl $0, %r13d + +// CHECK: shlb $0, 485498096 +// CHECK: encoding: [0xc0,0x24,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +shlb $0, 485498096 + +// CHECK: shlb $0, 64(%rdx) +// CHECK: encoding: [0xc0,0x62,0x40,0x00] +shlb $0, 64(%rdx) + +// CHECK: shlb $0, 64(%rdx,%rax) +// CHECK: encoding: [0xc0,0x64,0x02,0x40,0x00] +shlb $0, 64(%rdx,%rax) + +// CHECK: shlb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x64,0x82,0xc0,0x00] +shlb $0, -64(%rdx,%rax,4) + +// CHECK: shlb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x64,0x82,0x40,0x00] +shlb $0, 64(%rdx,%rax,4) + +// CHECK: shlb $0, %r14b +// CHECK: encoding: [0x41,0xc0,0xe6,0x00] +shlb $0, %r14b + +// CHECK: shlb $0, (%rdx) +// CHECK: encoding: [0xc0,0x22,0x00] +shlb $0, (%rdx) + +// CHECK: shll $0, %r13d +// CHECK: encoding: [0x41,0xc1,0xe5,0x00] +shll $0, %r13d + +// CHECK: shrb $0, 485498096 +// CHECK: encoding: [0xc0,0x2c,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +shrb $0, 485498096 + +// CHECK: shrb $0, 64(%rdx) +// CHECK: encoding: [0xc0,0x6a,0x40,0x00] +shrb $0, 64(%rdx) + +// CHECK: shrb $0, 64(%rdx,%rax) +// CHECK: encoding: [0xc0,0x6c,0x02,0x40,0x00] +shrb $0, 64(%rdx,%rax) + +// CHECK: shrb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x6c,0x82,0xc0,0x00] +shrb $0, -64(%rdx,%rax,4) + +// CHECK: shrb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0xc0,0x6c,0x82,0x40,0x00] +shrb $0, 64(%rdx,%rax,4) + +// CHECK: shrb $0, %r14b +// CHECK: encoding: [0x41,0xc0,0xee,0x00] +shrb $0, %r14b + +// CHECK: shrb $0, (%rdx) +// CHECK: encoding: [0xc0,0x2a,0x00] +shrb $0, (%rdx) + +// CHECK: shrl $0, %r13d +// CHECK: encoding: [0x41,0xc1,0xed,0x00] +shrl $0, %r13d + Index: test/MC/X86/I386-32.s =================================================================== --- /dev/null +++ test/MC/X86/I386-32.s @@ -0,0 +1,502 @@ +// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s + +// CHECK: cltd +// CHECK: encoding: [0x99] +cltd + +// CHECK: cmpsl %es:(%edi), %es:(%esi) +// CHECK: encoding: [0x26,0xa7] +cmpsl %es:(%edi), %es:(%esi) + +// CHECK: cwtl +// CHECK: encoding: [0x98] +cwtl + +// CHECK: insl %dx, %es:(%edi) +// CHECK: encoding: [0x6d] +insl %dx, %es:(%edi) + +// CHECK: iretl +// CHECK: encoding: [0xcf] +iretl + +// CHECK: jecxz 64 +// CHECK: encoding: [0xe3,A] +jecxz 64 + +// CHECK: lodsl %es:(%esi), %eax +// CHECK: encoding: [0x26,0xad] +lodsl %es:(%esi), %eax + +// CHECK: movsl %es:(%esi), %es:(%edi) +// CHECK: encoding: [0x26,0xa5] +movsl %es:(%esi), %es:(%edi) + +// CHECK: outsl %es:(%esi), %dx +// CHECK: encoding: [0x26,0x6f] +outsl %es:(%esi), %dx + +// CHECK: popal +// CHECK: encoding: [0x61] +popal + +// CHECK: popfl +// CHECK: encoding: [0x9d] +popfl + +// CHECK: pushal +// CHECK: encoding: [0x60] +pushal + +// CHECK: pushfl +// CHECK: encoding: [0x9c] +pushfl + +// CHECK: rep cmpsl %es:(%edi), %es:(%esi) +// CHECK: encoding: [0xf3,0x26,0xa7] +rep cmpsl %es:(%edi), %es:(%esi) + +// CHECK: rep insl %dx, %es:(%edi) +// CHECK: encoding: [0xf3,0x6d] +rep insl %dx, %es:(%edi) + +// CHECK: rep lodsl %es:(%esi), %eax +// CHECK: encoding: [0xf3,0x26,0xad] +rep lodsl %es:(%esi), %eax + +// CHECK: rep movsl %es:(%esi), %es:(%edi) +// CHECK: encoding: [0xf3,0x26,0xa5] +rep movsl %es:(%esi), %es:(%edi) + +// CHECK: repne cmpsl %es:(%edi), %es:(%esi) +// CHECK: encoding: [0xf2,0x26,0xa7] +repne cmpsl %es:(%edi), %es:(%esi) + +// CHECK: repne insl %dx, %es:(%edi) +// CHECK: encoding: [0xf2,0x6d] +repne insl %dx, %es:(%edi) + +// CHECK: repne lodsl %es:(%esi), %eax +// CHECK: encoding: [0xf2,0x26,0xad] +repne lodsl %es:(%esi), %eax + +// CHECK: repne movsl %es:(%esi), %es:(%edi) +// CHECK: encoding: [0xf2,0x26,0xa5] +repne movsl %es:(%esi), %es:(%edi) + +// CHECK: repne outsl %es:(%esi), %dx +// CHECK: encoding: [0xf2,0x26,0x6f] +repne outsl %es:(%esi), %dx + +// CHECK: repne scasl %es:(%edi), %eax +// CHECK: encoding: [0xf2,0xaf] +repne scasl %es:(%edi), %eax + +// CHECK: repne stosl %eax, %es:(%edi) +// CHECK: encoding: [0xf2,0xab] +repne stosl %eax, %es:(%edi) + +// CHECK: rep outsl %es:(%esi), %dx +// CHECK: encoding: [0xf3,0x26,0x6f] +rep outsl %es:(%esi), %dx + +// CHECK: rep scasl %es:(%edi), %eax +// CHECK: encoding: [0xf3,0xaf] +rep scasl %es:(%edi), %eax + +// CHECK: rep stosl %eax, %es:(%edi) +// CHECK: encoding: [0xf3,0xab] +rep stosl %eax, %es:(%edi) + +// CHECK: scasl %es:(%edi), %eax +// CHECK: encoding: [0xaf] +scasl %es:(%edi), %eax + +// CHECK: seta -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x97,0x84,0x82,0x10,0xe3,0x0f,0xe3] +seta -485498096(%edx,%eax,4) + +// CHECK: seta 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x97,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +seta 485498096(%edx,%eax,4) + +// CHECK: seta 485498096(%edx) +// CHECK: encoding: [0x0f,0x97,0x82,0xf0,0x1c,0xf0,0x1c] +seta 485498096(%edx) + +// CHECK: seta 485498096 +// CHECK: encoding: [0x0f,0x97,0x05,0xf0,0x1c,0xf0,0x1c] +seta 485498096 + +// CHECK: seta 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x97,0x44,0x02,0x40] +seta 64(%edx,%eax) + +// CHECK: setae -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x93,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setae -485498096(%edx,%eax,4) + +// CHECK: setae 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x93,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setae 485498096(%edx,%eax,4) + +// CHECK: setae 485498096(%edx) +// CHECK: encoding: [0x0f,0x93,0x82,0xf0,0x1c,0xf0,0x1c] +setae 485498096(%edx) + +// CHECK: setae 485498096 +// CHECK: encoding: [0x0f,0x93,0x05,0xf0,0x1c,0xf0,0x1c] +setae 485498096 + +// CHECK: setae 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x93,0x44,0x02,0x40] +setae 64(%edx,%eax) + +// CHECK: seta (%edx) +// CHECK: encoding: [0x0f,0x97,0x02] +seta (%edx) + +// CHECK: setae (%edx) +// CHECK: encoding: [0x0f,0x93,0x02] +setae (%edx) + +// CHECK: setb -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x92,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setb -485498096(%edx,%eax,4) + +// CHECK: setb 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x92,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setb 485498096(%edx,%eax,4) + +// CHECK: setb 485498096(%edx) +// CHECK: encoding: [0x0f,0x92,0x82,0xf0,0x1c,0xf0,0x1c] +setb 485498096(%edx) + +// CHECK: setb 485498096 +// CHECK: encoding: [0x0f,0x92,0x05,0xf0,0x1c,0xf0,0x1c] +setb 485498096 + +// CHECK: setb 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x92,0x44,0x02,0x40] +setb 64(%edx,%eax) + +// CHECK: setbe -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x96,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setbe -485498096(%edx,%eax,4) + +// CHECK: setbe 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x96,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setbe 485498096(%edx,%eax,4) + +// CHECK: setbe 485498096(%edx) +// CHECK: encoding: [0x0f,0x96,0x82,0xf0,0x1c,0xf0,0x1c] +setbe 485498096(%edx) + +// CHECK: setbe 485498096 +// CHECK: encoding: [0x0f,0x96,0x05,0xf0,0x1c,0xf0,0x1c] +setbe 485498096 + +// CHECK: setbe 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x96,0x44,0x02,0x40] +setbe 64(%edx,%eax) + +// CHECK: setb (%edx) +// CHECK: encoding: [0x0f,0x92,0x02] +setb (%edx) + +// CHECK: setbe (%edx) +// CHECK: encoding: [0x0f,0x96,0x02] +setbe (%edx) + +// CHECK: sete -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x94,0x84,0x82,0x10,0xe3,0x0f,0xe3] +sete -485498096(%edx,%eax,4) + +// CHECK: sete 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x94,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +sete 485498096(%edx,%eax,4) + +// CHECK: sete 485498096(%edx) +// CHECK: encoding: [0x0f,0x94,0x82,0xf0,0x1c,0xf0,0x1c] +sete 485498096(%edx) + +// CHECK: sete 485498096 +// CHECK: encoding: [0x0f,0x94,0x05,0xf0,0x1c,0xf0,0x1c] +sete 485498096 + +// CHECK: sete 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x94,0x44,0x02,0x40] +sete 64(%edx,%eax) + +// CHECK: sete (%edx) +// CHECK: encoding: [0x0f,0x94,0x02] +sete (%edx) + +// CHECK: setg -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9f,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setg -485498096(%edx,%eax,4) + +// CHECK: setg 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9f,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setg 485498096(%edx,%eax,4) + +// CHECK: setg 485498096(%edx) +// CHECK: encoding: [0x0f,0x9f,0x82,0xf0,0x1c,0xf0,0x1c] +setg 485498096(%edx) + +// CHECK: setg 485498096 +// CHECK: encoding: [0x0f,0x9f,0x05,0xf0,0x1c,0xf0,0x1c] +setg 485498096 + +// CHECK: setg 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x9f,0x44,0x02,0x40] +setg 64(%edx,%eax) + +// CHECK: setge -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9d,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setge -485498096(%edx,%eax,4) + +// CHECK: setge 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9d,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setge 485498096(%edx,%eax,4) + +// CHECK: setge 485498096(%edx) +// CHECK: encoding: [0x0f,0x9d,0x82,0xf0,0x1c,0xf0,0x1c] +setge 485498096(%edx) + +// CHECK: setge 485498096 +// CHECK: encoding: [0x0f,0x9d,0x05,0xf0,0x1c,0xf0,0x1c] +setge 485498096 + +// CHECK: setge 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x9d,0x44,0x02,0x40] +setge 64(%edx,%eax) + +// CHECK: setg (%edx) +// CHECK: encoding: [0x0f,0x9f,0x02] +setg (%edx) + +// CHECK: setge (%edx) +// CHECK: encoding: [0x0f,0x9d,0x02] +setge (%edx) + +// CHECK: setl -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9c,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setl -485498096(%edx,%eax,4) + +// CHECK: setl 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9c,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setl 485498096(%edx,%eax,4) + +// CHECK: setl 485498096(%edx) +// CHECK: encoding: [0x0f,0x9c,0x82,0xf0,0x1c,0xf0,0x1c] +setl 485498096(%edx) + +// CHECK: setl 485498096 +// CHECK: encoding: [0x0f,0x9c,0x05,0xf0,0x1c,0xf0,0x1c] +setl 485498096 + +// CHECK: setl 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x9c,0x44,0x02,0x40] +setl 64(%edx,%eax) + +// CHECK: setle -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9e,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setle -485498096(%edx,%eax,4) + +// CHECK: setle 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9e,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setle 485498096(%edx,%eax,4) + +// CHECK: setle 485498096(%edx) +// CHECK: encoding: [0x0f,0x9e,0x82,0xf0,0x1c,0xf0,0x1c] +setle 485498096(%edx) + +// CHECK: setle 485498096 +// CHECK: encoding: [0x0f,0x9e,0x05,0xf0,0x1c,0xf0,0x1c] +setle 485498096 + +// CHECK: setle 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x9e,0x44,0x02,0x40] +setle 64(%edx,%eax) + +// CHECK: setl (%edx) +// CHECK: encoding: [0x0f,0x9c,0x02] +setl (%edx) + +// CHECK: setle (%edx) +// CHECK: encoding: [0x0f,0x9e,0x02] +setle (%edx) + +// CHECK: setne -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x95,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setne -485498096(%edx,%eax,4) + +// CHECK: setne 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x95,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setne 485498096(%edx,%eax,4) + +// CHECK: setne 485498096(%edx) +// CHECK: encoding: [0x0f,0x95,0x82,0xf0,0x1c,0xf0,0x1c] +setne 485498096(%edx) + +// CHECK: setne 485498096 +// CHECK: encoding: [0x0f,0x95,0x05,0xf0,0x1c,0xf0,0x1c] +setne 485498096 + +// CHECK: setne 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x95,0x44,0x02,0x40] +setne 64(%edx,%eax) + +// CHECK: setne (%edx) +// CHECK: encoding: [0x0f,0x95,0x02] +setne (%edx) + +// CHECK: setno -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x91,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setno -485498096(%edx,%eax,4) + +// CHECK: setno 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x91,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setno 485498096(%edx,%eax,4) + +// CHECK: setno 485498096(%edx) +// CHECK: encoding: [0x0f,0x91,0x82,0xf0,0x1c,0xf0,0x1c] +setno 485498096(%edx) + +// CHECK: setno 485498096 +// CHECK: encoding: [0x0f,0x91,0x05,0xf0,0x1c,0xf0,0x1c] +setno 485498096 + +// CHECK: setno 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x91,0x44,0x02,0x40] +setno 64(%edx,%eax) + +// CHECK: setno (%edx) +// CHECK: encoding: [0x0f,0x91,0x02] +setno (%edx) + +// CHECK: setnp -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9b,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setnp -485498096(%edx,%eax,4) + +// CHECK: setnp 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9b,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setnp 485498096(%edx,%eax,4) + +// CHECK: setnp 485498096(%edx) +// CHECK: encoding: [0x0f,0x9b,0x82,0xf0,0x1c,0xf0,0x1c] +setnp 485498096(%edx) + +// CHECK: setnp 485498096 +// CHECK: encoding: [0x0f,0x9b,0x05,0xf0,0x1c,0xf0,0x1c] +setnp 485498096 + +// CHECK: setnp 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x9b,0x44,0x02,0x40] +setnp 64(%edx,%eax) + +// CHECK: setnp (%edx) +// CHECK: encoding: [0x0f,0x9b,0x02] +setnp (%edx) + +// CHECK: setns -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x99,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setns -485498096(%edx,%eax,4) + +// CHECK: setns 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x99,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setns 485498096(%edx,%eax,4) + +// CHECK: setns 485498096(%edx) +// CHECK: encoding: [0x0f,0x99,0x82,0xf0,0x1c,0xf0,0x1c] +setns 485498096(%edx) + +// CHECK: setns 485498096 +// CHECK: encoding: [0x0f,0x99,0x05,0xf0,0x1c,0xf0,0x1c] +setns 485498096 + +// CHECK: setns 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x99,0x44,0x02,0x40] +setns 64(%edx,%eax) + +// CHECK: setns (%edx) +// CHECK: encoding: [0x0f,0x99,0x02] +setns (%edx) + +// CHECK: seto -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x90,0x84,0x82,0x10,0xe3,0x0f,0xe3] +seto -485498096(%edx,%eax,4) + +// CHECK: seto 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x90,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +seto 485498096(%edx,%eax,4) + +// CHECK: seto 485498096(%edx) +// CHECK: encoding: [0x0f,0x90,0x82,0xf0,0x1c,0xf0,0x1c] +seto 485498096(%edx) + +// CHECK: seto 485498096 +// CHECK: encoding: [0x0f,0x90,0x05,0xf0,0x1c,0xf0,0x1c] +seto 485498096 + +// CHECK: seto 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x90,0x44,0x02,0x40] +seto 64(%edx,%eax) + +// CHECK: seto (%edx) +// CHECK: encoding: [0x0f,0x90,0x02] +seto (%edx) + +// CHECK: setp -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9a,0x84,0x82,0x10,0xe3,0x0f,0xe3] +setp -485498096(%edx,%eax,4) + +// CHECK: setp 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x9a,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +setp 485498096(%edx,%eax,4) + +// CHECK: setp 485498096(%edx) +// CHECK: encoding: [0x0f,0x9a,0x82,0xf0,0x1c,0xf0,0x1c] +setp 485498096(%edx) + +// CHECK: setp 485498096 +// CHECK: encoding: [0x0f,0x9a,0x05,0xf0,0x1c,0xf0,0x1c] +setp 485498096 + +// CHECK: setp 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x9a,0x44,0x02,0x40] +setp 64(%edx,%eax) + +// CHECK: setp (%edx) +// CHECK: encoding: [0x0f,0x9a,0x02] +setp (%edx) + +// CHECK: sets -485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x98,0x84,0x82,0x10,0xe3,0x0f,0xe3] +sets -485498096(%edx,%eax,4) + +// CHECK: sets 485498096(%edx,%eax,4) +// CHECK: encoding: [0x0f,0x98,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +sets 485498096(%edx,%eax,4) + +// CHECK: sets 485498096(%edx) +// CHECK: encoding: [0x0f,0x98,0x82,0xf0,0x1c,0xf0,0x1c] +sets 485498096(%edx) + +// CHECK: sets 485498096 +// CHECK: encoding: [0x0f,0x98,0x05,0xf0,0x1c,0xf0,0x1c] +sets 485498096 + +// CHECK: sets 64(%edx,%eax) +// CHECK: encoding: [0x0f,0x98,0x44,0x02,0x40] +sets 64(%edx,%eax) + +// CHECK: sets (%edx) +// CHECK: encoding: [0x0f,0x98,0x02] +sets (%edx) + +// CHECK: stosl %eax, %es:(%edi) +// CHECK: encoding: [0xab] +stosl %eax, %es:(%edi) + Index: test/MC/X86/I386-64.s =================================================================== --- /dev/null +++ test/MC/X86/I386-64.s @@ -0,0 +1,722 @@ +// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s + +// CHECK: bsfl %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xbc,0xed] +bsfl %r13d, %r13d + +// CHECK: bsrl %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xbd,0xed] +bsrl %r13d, %r13d + +// CHECK: btcl $0, %r13d +// CHECK: encoding: [0x41,0x0f,0xba,0xfd,0x00] +btcl $0, %r13d + +// CHECK: btcl %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xbb,0xed] +btcl %r13d, %r13d + +// CHECK: btl $0, %r13d +// CHECK: encoding: [0x41,0x0f,0xba,0xe5,0x00] +btl $0, %r13d + +// CHECK: btl %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xa3,0xed] +btl %r13d, %r13d + +// CHECK: btrl $0, %r13d +// CHECK: encoding: [0x41,0x0f,0xba,0xf5,0x00] +btrl $0, %r13d + +// CHECK: btrl %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xb3,0xed] +btrl %r13d, %r13d + +// CHECK: btsl $0, %r13d +// CHECK: encoding: [0x41,0x0f,0xba,0xed,0x00] +btsl $0, %r13d + +// CHECK: btsl %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xab,0xed] +btsl %r13d, %r13d + +// CHECK: cltd +// CHECK: encoding: [0x99] +cltd + +// CHECK: cmpsl %es:(%rdi), %gs:(%rsi) +// CHECK: encoding: [0x65,0xa7] +cmpsl %es:(%rdi), %gs:(%rsi) + +// CHECK: cwtl +// CHECK: encoding: [0x98] +cwtl + +// CHECK: insl %dx, %es:(%rdi) +// CHECK: encoding: [0x6d] +insl %dx, %es:(%rdi) + +// CHECK: iretl +// CHECK: encoding: [0xcf] +iretl + +// CHECK: lodsl %gs:(%rsi), %eax +// CHECK: encoding: [0x65,0xad] +lodsl %gs:(%rsi), %eax + +// CHECK: lzcntl %r13d, %r13d +// CHECK: encoding: [0xf3,0x45,0x0f,0xbd,0xed] +lzcntl %r13d, %r13d + +// CHECK: movsbl 485498096, %r13d +// CHECK: encoding: [0x44,0x0f,0xbe,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] +movsbl 485498096, %r13d + +// CHECK: movsbl 64(%rdx), %r13d +// CHECK: encoding: [0x44,0x0f,0xbe,0x6a,0x40] +movsbl 64(%rdx), %r13d + +// CHECK: movsbl -64(%rdx,%rax,4), %r13d +// CHECK: encoding: [0x44,0x0f,0xbe,0x6c,0x82,0xc0] +movsbl -64(%rdx,%rax,4), %r13d + +// CHECK: movsbl 64(%rdx,%rax,4), %r13d +// CHECK: encoding: [0x44,0x0f,0xbe,0x6c,0x82,0x40] +movsbl 64(%rdx,%rax,4), %r13d + +// CHECK: movsbl 64(%rdx,%rax), %r13d +// CHECK: encoding: [0x44,0x0f,0xbe,0x6c,0x02,0x40] +movsbl 64(%rdx,%rax), %r13d + +// CHECK: movsbl %r14b, %r13d +// CHECK: encoding: [0x45,0x0f,0xbe,0xee] +movsbl %r14b, %r13d + +// CHECK: movsbl (%rdx), %r13d +// CHECK: encoding: [0x44,0x0f,0xbe,0x2a] +movsbl (%rdx), %r13d + +// CHECK: movsl %gs:(%rsi), %es:(%rdi) +// CHECK: encoding: [0x65,0xa5] +movsl %gs:(%rsi), %es:(%rdi) + +// CHECK: movswl 485498096, %r13d +// CHECK: encoding: [0x44,0x0f,0xbf,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] +movswl 485498096, %r13d + +// CHECK: movswl 64(%rdx), %r13d +// CHECK: encoding: [0x44,0x0f,0xbf,0x6a,0x40] +movswl 64(%rdx), %r13d + +// CHECK: movswl -64(%rdx,%rax,4), %r13d +// CHECK: encoding: [0x44,0x0f,0xbf,0x6c,0x82,0xc0] +movswl -64(%rdx,%rax,4), %r13d + +// CHECK: movswl 64(%rdx,%rax,4), %r13d +// CHECK: encoding: [0x44,0x0f,0xbf,0x6c,0x82,0x40] +movswl 64(%rdx,%rax,4), %r13d + +// CHECK: movswl 64(%rdx,%rax), %r13d +// CHECK: encoding: [0x44,0x0f,0xbf,0x6c,0x02,0x40] +movswl 64(%rdx,%rax), %r13d + +// CHECK: movswl %r11w, %r13d +// CHECK: encoding: [0x45,0x0f,0xbf,0xeb] +movswl %r11w, %r13d + +// CHECK: movswl (%rdx), %r13d +// CHECK: encoding: [0x44,0x0f,0xbf,0x2a] +movswl (%rdx), %r13d + +// CHECK: movzbl 485498096, %r13d +// CHECK: encoding: [0x44,0x0f,0xb6,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] +movzbl 485498096, %r13d + +// CHECK: movzbl 64(%rdx), %r13d +// CHECK: encoding: [0x44,0x0f,0xb6,0x6a,0x40] +movzbl 64(%rdx), %r13d + +// CHECK: movzbl -64(%rdx,%rax,4), %r13d +// CHECK: encoding: [0x44,0x0f,0xb6,0x6c,0x82,0xc0] +movzbl -64(%rdx,%rax,4), %r13d + +// CHECK: movzbl 64(%rdx,%rax,4), %r13d +// CHECK: encoding: [0x44,0x0f,0xb6,0x6c,0x82,0x40] +movzbl 64(%rdx,%rax,4), %r13d + +// CHECK: movzbl 64(%rdx,%rax), %r13d +// CHECK: encoding: [0x44,0x0f,0xb6,0x6c,0x02,0x40] +movzbl 64(%rdx,%rax), %r13d + +// CHECK: movzbl %r14b, %r13d +// CHECK: encoding: [0x45,0x0f,0xb6,0xee] +movzbl %r14b, %r13d + +// CHECK: movzbl (%rdx), %r13d +// CHECK: encoding: [0x44,0x0f,0xb6,0x2a] +movzbl (%rdx), %r13d + +// CHECK: movzwl 485498096, %r13d +// CHECK: encoding: [0x44,0x0f,0xb7,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] +movzwl 485498096, %r13d + +// CHECK: movzwl 64(%rdx), %r13d +// CHECK: encoding: [0x44,0x0f,0xb7,0x6a,0x40] +movzwl 64(%rdx), %r13d + +// CHECK: movzwl -64(%rdx,%rax,4), %r13d +// CHECK: encoding: [0x44,0x0f,0xb7,0x6c,0x82,0xc0] +movzwl -64(%rdx,%rax,4), %r13d + +// CHECK: movzwl 64(%rdx,%rax,4), %r13d +// CHECK: encoding: [0x44,0x0f,0xb7,0x6c,0x82,0x40] +movzwl 64(%rdx,%rax,4), %r13d + +// CHECK: movzwl 64(%rdx,%rax), %r13d +// CHECK: encoding: [0x44,0x0f,0xb7,0x6c,0x02,0x40] +movzwl 64(%rdx,%rax), %r13d + +// CHECK: movzwl %r11w, %r13d +// CHECK: encoding: [0x45,0x0f,0xb7,0xeb] +movzwl %r11w, %r13d + +// CHECK: movzwl (%rdx), %r13d +// CHECK: encoding: [0x44,0x0f,0xb7,0x2a] +movzwl (%rdx), %r13d + +// CHECK: outsl %gs:(%rsi), %dx +// CHECK: encoding: [0x65,0x6f] +outsl %gs:(%rsi), %dx + +// CHECK: rep cmpsl %es:(%rdi), %gs:(%rsi) +// CHECK: encoding: [0xf3,0x65,0xa7] +rep cmpsl %es:(%rdi), %gs:(%rsi) + +// CHECK: rep insl %dx, %es:(%rdi) +// CHECK: encoding: [0xf3,0x6d] +rep insl %dx, %es:(%rdi) + +// CHECK: rep lodsl %gs:(%rsi), %eax +// CHECK: encoding: [0xf3,0x65,0xad] +rep lodsl %gs:(%rsi), %eax + +// CHECK: rep movsl %gs:(%rsi), %es:(%rdi) +// CHECK: encoding: [0xf3,0x65,0xa5] +rep movsl %gs:(%rsi), %es:(%rdi) + +// CHECK: repne cmpsl %es:(%rdi), %gs:(%rsi) +// CHECK: encoding: [0xf2,0x65,0xa7] +repne cmpsl %es:(%rdi), %gs:(%rsi) + +// CHECK: repne insl %dx, %es:(%rdi) +// CHECK: encoding: [0xf2,0x6d] +repne insl %dx, %es:(%rdi) + +// CHECK: repne lodsl %gs:(%rsi), %eax +// CHECK: encoding: [0xf2,0x65,0xad] +repne lodsl %gs:(%rsi), %eax + +// CHECK: repne movsl %gs:(%rsi), %es:(%rdi) +// CHECK: encoding: [0xf2,0x65,0xa5] +repne movsl %gs:(%rsi), %es:(%rdi) + +// CHECK: repne outsl %gs:(%rsi), %dx +// CHECK: encoding: [0xf2,0x65,0x6f] +repne outsl %gs:(%rsi), %dx + +// CHECK: repne scasl %es:(%rdi), %eax +// CHECK: encoding: [0xf2,0xaf] +repne scasl %es:(%rdi), %eax + +// CHECK: repne stosl %eax, %es:(%rdi) +// CHECK: encoding: [0xf2,0xab] +repne stosl %eax, %es:(%rdi) + +// CHECK: rep outsl %gs:(%rsi), %dx +// CHECK: encoding: [0xf3,0x65,0x6f] +rep outsl %gs:(%rsi), %dx + +// CHECK: rep scasl %es:(%rdi), %eax +// CHECK: encoding: [0xf3,0xaf] +rep scasl %es:(%rdi), %eax + +// CHECK: rep stosl %eax, %es:(%rdi) +// CHECK: encoding: [0xf3,0xab] +rep stosl %eax, %es:(%rdi) + +// CHECK: scasl %es:(%rdi), %eax +// CHECK: encoding: [0xaf] +scasl %es:(%rdi), %eax + +// CHECK: seta 485498096 +// CHECK: encoding: [0x0f,0x97,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +seta 485498096 + +// CHECK: seta 64(%rdx) +// CHECK: encoding: [0x0f,0x97,0x42,0x40] +seta 64(%rdx) + +// CHECK: seta -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x97,0x44,0x82,0xc0] +seta -64(%rdx,%rax,4) + +// CHECK: seta 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x97,0x44,0x82,0x40] +seta 64(%rdx,%rax,4) + +// CHECK: seta 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x97,0x44,0x02,0x40] +seta 64(%rdx,%rax) + +// CHECK: setae 485498096 +// CHECK: encoding: [0x0f,0x93,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setae 485498096 + +// CHECK: setae 64(%rdx) +// CHECK: encoding: [0x0f,0x93,0x42,0x40] +setae 64(%rdx) + +// CHECK: setae -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x93,0x44,0x82,0xc0] +setae -64(%rdx,%rax,4) + +// CHECK: setae 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x93,0x44,0x82,0x40] +setae 64(%rdx,%rax,4) + +// CHECK: setae 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x93,0x44,0x02,0x40] +setae 64(%rdx,%rax) + +// CHECK: setae %r14b +// CHECK: encoding: [0x41,0x0f,0x93,0xc6] +setae %r14b + +// CHECK: setae (%rdx) +// CHECK: encoding: [0x0f,0x93,0x02] +setae (%rdx) + +// CHECK: seta %r14b +// CHECK: encoding: [0x41,0x0f,0x97,0xc6] +seta %r14b + +// CHECK: seta (%rdx) +// CHECK: encoding: [0x0f,0x97,0x02] +seta (%rdx) + +// CHECK: setb 485498096 +// CHECK: encoding: [0x0f,0x92,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setb 485498096 + +// CHECK: setb 64(%rdx) +// CHECK: encoding: [0x0f,0x92,0x42,0x40] +setb 64(%rdx) + +// CHECK: setb -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x92,0x44,0x82,0xc0] +setb -64(%rdx,%rax,4) + +// CHECK: setb 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x92,0x44,0x82,0x40] +setb 64(%rdx,%rax,4) + +// CHECK: setb 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x92,0x44,0x02,0x40] +setb 64(%rdx,%rax) + +// CHECK: setbe 485498096 +// CHECK: encoding: [0x0f,0x96,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setbe 485498096 + +// CHECK: setbe 64(%rdx) +// CHECK: encoding: [0x0f,0x96,0x42,0x40] +setbe 64(%rdx) + +// CHECK: setbe -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x96,0x44,0x82,0xc0] +setbe -64(%rdx,%rax,4) + +// CHECK: setbe 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x96,0x44,0x82,0x40] +setbe 64(%rdx,%rax,4) + +// CHECK: setbe 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x96,0x44,0x02,0x40] +setbe 64(%rdx,%rax) + +// CHECK: setbe %r14b +// CHECK: encoding: [0x41,0x0f,0x96,0xc6] +setbe %r14b + +// CHECK: setbe (%rdx) +// CHECK: encoding: [0x0f,0x96,0x02] +setbe (%rdx) + +// CHECK: setb %r14b +// CHECK: encoding: [0x41,0x0f,0x92,0xc6] +setb %r14b + +// CHECK: setb (%rdx) +// CHECK: encoding: [0x0f,0x92,0x02] +setb (%rdx) + +// CHECK: sete 485498096 +// CHECK: encoding: [0x0f,0x94,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +sete 485498096 + +// CHECK: sete 64(%rdx) +// CHECK: encoding: [0x0f,0x94,0x42,0x40] +sete 64(%rdx) + +// CHECK: sete -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x94,0x44,0x82,0xc0] +sete -64(%rdx,%rax,4) + +// CHECK: sete 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x94,0x44,0x82,0x40] +sete 64(%rdx,%rax,4) + +// CHECK: sete 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x94,0x44,0x02,0x40] +sete 64(%rdx,%rax) + +// CHECK: sete %r14b +// CHECK: encoding: [0x41,0x0f,0x94,0xc6] +sete %r14b + +// CHECK: sete (%rdx) +// CHECK: encoding: [0x0f,0x94,0x02] +sete (%rdx) + +// CHECK: setg 485498096 +// CHECK: encoding: [0x0f,0x9f,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setg 485498096 + +// CHECK: setg 64(%rdx) +// CHECK: encoding: [0x0f,0x9f,0x42,0x40] +setg 64(%rdx) + +// CHECK: setg -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9f,0x44,0x82,0xc0] +setg -64(%rdx,%rax,4) + +// CHECK: setg 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9f,0x44,0x82,0x40] +setg 64(%rdx,%rax,4) + +// CHECK: setg 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x9f,0x44,0x02,0x40] +setg 64(%rdx,%rax) + +// CHECK: setge 485498096 +// CHECK: encoding: [0x0f,0x9d,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setge 485498096 + +// CHECK: setge 64(%rdx) +// CHECK: encoding: [0x0f,0x9d,0x42,0x40] +setge 64(%rdx) + +// CHECK: setge -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9d,0x44,0x82,0xc0] +setge -64(%rdx,%rax,4) + +// CHECK: setge 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9d,0x44,0x82,0x40] +setge 64(%rdx,%rax,4) + +// CHECK: setge 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x9d,0x44,0x02,0x40] +setge 64(%rdx,%rax) + +// CHECK: setge %r14b +// CHECK: encoding: [0x41,0x0f,0x9d,0xc6] +setge %r14b + +// CHECK: setge (%rdx) +// CHECK: encoding: [0x0f,0x9d,0x02] +setge (%rdx) + +// CHECK: setg %r14b +// CHECK: encoding: [0x41,0x0f,0x9f,0xc6] +setg %r14b + +// CHECK: setg (%rdx) +// CHECK: encoding: [0x0f,0x9f,0x02] +setg (%rdx) + +// CHECK: setl 485498096 +// CHECK: encoding: [0x0f,0x9c,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setl 485498096 + +// CHECK: setl 64(%rdx) +// CHECK: encoding: [0x0f,0x9c,0x42,0x40] +setl 64(%rdx) + +// CHECK: setl -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9c,0x44,0x82,0xc0] +setl -64(%rdx,%rax,4) + +// CHECK: setl 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9c,0x44,0x82,0x40] +setl 64(%rdx,%rax,4) + +// CHECK: setl 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x9c,0x44,0x02,0x40] +setl 64(%rdx,%rax) + +// CHECK: setle 485498096 +// CHECK: encoding: [0x0f,0x9e,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setle 485498096 + +// CHECK: setle 64(%rdx) +// CHECK: encoding: [0x0f,0x9e,0x42,0x40] +setle 64(%rdx) + +// CHECK: setle -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9e,0x44,0x82,0xc0] +setle -64(%rdx,%rax,4) + +// CHECK: setle 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9e,0x44,0x82,0x40] +setle 64(%rdx,%rax,4) + +// CHECK: setle 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x9e,0x44,0x02,0x40] +setle 64(%rdx,%rax) + +// CHECK: setle %r14b +// CHECK: encoding: [0x41,0x0f,0x9e,0xc6] +setle %r14b + +// CHECK: setle (%rdx) +// CHECK: encoding: [0x0f,0x9e,0x02] +setle (%rdx) + +// CHECK: setl %r14b +// CHECK: encoding: [0x41,0x0f,0x9c,0xc6] +setl %r14b + +// CHECK: setl (%rdx) +// CHECK: encoding: [0x0f,0x9c,0x02] +setl (%rdx) + +// CHECK: setne 485498096 +// CHECK: encoding: [0x0f,0x95,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setne 485498096 + +// CHECK: setne 64(%rdx) +// CHECK: encoding: [0x0f,0x95,0x42,0x40] +setne 64(%rdx) + +// CHECK: setne -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x95,0x44,0x82,0xc0] +setne -64(%rdx,%rax,4) + +// CHECK: setne 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x95,0x44,0x82,0x40] +setne 64(%rdx,%rax,4) + +// CHECK: setne 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x95,0x44,0x02,0x40] +setne 64(%rdx,%rax) + +// CHECK: setne %r14b +// CHECK: encoding: [0x41,0x0f,0x95,0xc6] +setne %r14b + +// CHECK: setne (%rdx) +// CHECK: encoding: [0x0f,0x95,0x02] +setne (%rdx) + +// CHECK: setno 485498096 +// CHECK: encoding: [0x0f,0x91,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setno 485498096 + +// CHECK: setno 64(%rdx) +// CHECK: encoding: [0x0f,0x91,0x42,0x40] +setno 64(%rdx) + +// CHECK: setno -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x91,0x44,0x82,0xc0] +setno -64(%rdx,%rax,4) + +// CHECK: setno 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x91,0x44,0x82,0x40] +setno 64(%rdx,%rax,4) + +// CHECK: setno 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x91,0x44,0x02,0x40] +setno 64(%rdx,%rax) + +// CHECK: setno %r14b +// CHECK: encoding: [0x41,0x0f,0x91,0xc6] +setno %r14b + +// CHECK: setno (%rdx) +// CHECK: encoding: [0x0f,0x91,0x02] +setno (%rdx) + +// CHECK: setnp 485498096 +// CHECK: encoding: [0x0f,0x9b,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setnp 485498096 + +// CHECK: setnp 64(%rdx) +// CHECK: encoding: [0x0f,0x9b,0x42,0x40] +setnp 64(%rdx) + +// CHECK: setnp -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9b,0x44,0x82,0xc0] +setnp -64(%rdx,%rax,4) + +// CHECK: setnp 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9b,0x44,0x82,0x40] +setnp 64(%rdx,%rax,4) + +// CHECK: setnp 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x9b,0x44,0x02,0x40] +setnp 64(%rdx,%rax) + +// CHECK: setnp %r14b +// CHECK: encoding: [0x41,0x0f,0x9b,0xc6] +setnp %r14b + +// CHECK: setnp (%rdx) +// CHECK: encoding: [0x0f,0x9b,0x02] +setnp (%rdx) + +// CHECK: setns 485498096 +// CHECK: encoding: [0x0f,0x99,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setns 485498096 + +// CHECK: setns 64(%rdx) +// CHECK: encoding: [0x0f,0x99,0x42,0x40] +setns 64(%rdx) + +// CHECK: setns -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x99,0x44,0x82,0xc0] +setns -64(%rdx,%rax,4) + +// CHECK: setns 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x99,0x44,0x82,0x40] +setns 64(%rdx,%rax,4) + +// CHECK: setns 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x99,0x44,0x02,0x40] +setns 64(%rdx,%rax) + +// CHECK: setns %r14b +// CHECK: encoding: [0x41,0x0f,0x99,0xc6] +setns %r14b + +// CHECK: setns (%rdx) +// CHECK: encoding: [0x0f,0x99,0x02] +setns (%rdx) + +// CHECK: seto 485498096 +// CHECK: encoding: [0x0f,0x90,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +seto 485498096 + +// CHECK: seto 64(%rdx) +// CHECK: encoding: [0x0f,0x90,0x42,0x40] +seto 64(%rdx) + +// CHECK: seto -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x90,0x44,0x82,0xc0] +seto -64(%rdx,%rax,4) + +// CHECK: seto 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x90,0x44,0x82,0x40] +seto 64(%rdx,%rax,4) + +// CHECK: seto 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x90,0x44,0x02,0x40] +seto 64(%rdx,%rax) + +// CHECK: seto %r14b +// CHECK: encoding: [0x41,0x0f,0x90,0xc6] +seto %r14b + +// CHECK: seto (%rdx) +// CHECK: encoding: [0x0f,0x90,0x02] +seto (%rdx) + +// CHECK: setp 485498096 +// CHECK: encoding: [0x0f,0x9a,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +setp 485498096 + +// CHECK: setp 64(%rdx) +// CHECK: encoding: [0x0f,0x9a,0x42,0x40] +setp 64(%rdx) + +// CHECK: setp -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9a,0x44,0x82,0xc0] +setp -64(%rdx,%rax,4) + +// CHECK: setp 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x9a,0x44,0x82,0x40] +setp 64(%rdx,%rax,4) + +// CHECK: setp 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x9a,0x44,0x02,0x40] +setp 64(%rdx,%rax) + +// CHECK: setp %r14b +// CHECK: encoding: [0x41,0x0f,0x9a,0xc6] +setp %r14b + +// CHECK: setp (%rdx) +// CHECK: encoding: [0x0f,0x9a,0x02] +setp (%rdx) + +// CHECK: sets 485498096 +// CHECK: encoding: [0x0f,0x98,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +sets 485498096 + +// CHECK: sets 64(%rdx) +// CHECK: encoding: [0x0f,0x98,0x42,0x40] +sets 64(%rdx) + +// CHECK: sets -64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x98,0x44,0x82,0xc0] +sets -64(%rdx,%rax,4) + +// CHECK: sets 64(%rdx,%rax,4) +// CHECK: encoding: [0x0f,0x98,0x44,0x82,0x40] +sets 64(%rdx,%rax,4) + +// CHECK: sets 64(%rdx,%rax) +// CHECK: encoding: [0x0f,0x98,0x44,0x02,0x40] +sets 64(%rdx,%rax) + +// CHECK: sets %r14b +// CHECK: encoding: [0x41,0x0f,0x98,0xc6] +sets %r14b + +// CHECK: sets (%rdx) +// CHECK: encoding: [0x0f,0x98,0x02] +sets (%rdx) + +// CHECK: shldl $0, %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xa4,0xed,0x00] +shldl $0, %r13d, %r13d + +// CHECK: shldl %cl, %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xa5,0xed] +shldl %cl, %r13d, %r13d + +// CHECK: shrdl $0, %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xac,0xed,0x00] +shrdl $0, %r13d, %r13d + +// CHECK: shrdl %cl, %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xad,0xed] +shrdl %cl, %r13d, %r13d + +// CHECK: stosl %eax, %es:(%rdi) +// CHECK: encoding: [0xab] +stosl %eax, %es:(%rdi) + +// CHECK: tzcntl %r13d, %r13d +// CHECK: encoding: [0xf3,0x45,0x0f,0xbc,0xed] +tzcntl %r13d, %r13d + Index: test/MC/X86/I486-32.s =================================================================== --- /dev/null +++ test/MC/X86/I486-32.s @@ -0,0 +1,6 @@ +// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s + +// CHECK: rsm +// CHECK: encoding: [0x0f,0xaa] +rsm + Index: test/MC/X86/I486-64.s =================================================================== --- /dev/null +++ test/MC/X86/I486-64.s @@ -0,0 +1,6 @@ +// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s + +// CHECK: rsm +// CHECK: encoding: [0x0f,0xaa] +rsm + Index: test/MC/X86/I86-32.s =================================================================== --- /dev/null +++ test/MC/X86/I86-32.s @@ -0,0 +1,1298 @@ +// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s + +// CHECK: aaa +// CHECK: encoding: [0x37] +aaa + +// CHECK: aad $0 +// CHECK: encoding: [0xd5,0x00] +aad $0 + +// CHECK: aam $0 +// CHECK: encoding: [0xd4,0x00] +aam $0 + +// CHECK: aas +// CHECK: encoding: [0x3f] +aas + +// CHECK: adcb $0, 485498096 +// CHECK: encoding: [0x80,0x15,0xf0,0x1c,0xf0,0x1c,0x00] +adcb $0, 485498096 + +// CHECK: adcb $0, 485498096(%edx) +// CHECK: encoding: [0x80,0x92,0xf0,0x1c,0xf0,0x1c,0x00] +adcb $0, 485498096(%edx) + +// CHECK: adcb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0x94,0x82,0x10,0xe3,0x0f,0xe3,0x00] +adcb $0, -485498096(%edx,%eax,4) + +// CHECK: adcb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0x94,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +adcb $0, 485498096(%edx,%eax,4) + +// CHECK: adcb $0, 64(%edx,%eax) +// CHECK: encoding: [0x80,0x54,0x02,0x40,0x00] +adcb $0, 64(%edx,%eax) + +// CHECK: adcb $0, %al +// CHECK: encoding: [0x14,0x00] +adcb $0, %al + +// CHECK: adcb $0, (%edx) +// CHECK: encoding: [0x80,0x12,0x00] +adcb $0, (%edx) + +// CHECK: adcl $0, %eax +// CHECK: encoding: [0x83,0xd0,0x00] +adcl $0, %eax + +// CHECK: addb $0, 485498096 +// CHECK: encoding: [0x80,0x05,0xf0,0x1c,0xf0,0x1c,0x00] +addb $0, 485498096 + +// CHECK: addb $0, 485498096(%edx) +// CHECK: encoding: [0x80,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +addb $0, 485498096(%edx) + +// CHECK: addb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0x84,0x82,0x10,0xe3,0x0f,0xe3,0x00] +addb $0, -485498096(%edx,%eax,4) + +// CHECK: addb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0x84,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +addb $0, 485498096(%edx,%eax,4) + +// CHECK: addb $0, 64(%edx,%eax) +// CHECK: encoding: [0x80,0x44,0x02,0x40,0x00] +addb $0, 64(%edx,%eax) + +// CHECK: addb $0, %al +// CHECK: encoding: [0x04,0x00] +addb $0, %al + +// CHECK: addb $0, (%edx) +// CHECK: encoding: [0x80,0x02,0x00] +addb $0, (%edx) + +// CHECK: addl $0, %eax +// CHECK: encoding: [0x83,0xc0,0x00] +addl $0, %eax + +// CHECK: andb $0, 485498096 +// CHECK: encoding: [0x80,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +andb $0, 485498096 + +// CHECK: andb $0, 485498096(%edx) +// CHECK: encoding: [0x80,0xa2,0xf0,0x1c,0xf0,0x1c,0x00] +andb $0, 485498096(%edx) + +// CHECK: andb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0xa4,0x82,0x10,0xe3,0x0f,0xe3,0x00] +andb $0, -485498096(%edx,%eax,4) + +// CHECK: andb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0xa4,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +andb $0, 485498096(%edx,%eax,4) + +// CHECK: andb $0, 64(%edx,%eax) +// CHECK: encoding: [0x80,0x64,0x02,0x40,0x00] +andb $0, 64(%edx,%eax) + +// CHECK: andb $0, %al +// CHECK: encoding: [0x24,0x00] +andb $0, %al + +// CHECK: andb $0, (%edx) +// CHECK: encoding: [0x80,0x22,0x00] +andb $0, (%edx) + +// CHECK: andl $0, %eax +// CHECK: encoding: [0x83,0xe0,0x00] +andl $0, %eax + +// CHECK: calll 64 +// CHECK: encoding: [0xe8,A,A,A,A] +calll 64 + +// CHECK: cbtw +// CHECK: encoding: [0x66,0x98] +cbtw + +// CHECK: clc +// CHECK: encoding: [0xf8] +clc + +// CHECK: cld +// CHECK: encoding: [0xfc] +cld + +// CHECK: cli +// CHECK: encoding: [0xfa] +cli + +// CHECK: cmc +// CHECK: encoding: [0xf5] +cmc + +// CHECK: cmpb $0, 485498096 +// CHECK: encoding: [0x80,0x3d,0xf0,0x1c,0xf0,0x1c,0x00] +cmpb $0, 485498096 + +// CHECK: cmpb $0, 485498096(%edx) +// CHECK: encoding: [0x80,0xba,0xf0,0x1c,0xf0,0x1c,0x00] +cmpb $0, 485498096(%edx) + +// CHECK: cmpb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0xbc,0x82,0x10,0xe3,0x0f,0xe3,0x00] +cmpb $0, -485498096(%edx,%eax,4) + +// CHECK: cmpb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0xbc,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +cmpb $0, 485498096(%edx,%eax,4) + +// CHECK: cmpb $0, 64(%edx,%eax) +// CHECK: encoding: [0x80,0x7c,0x02,0x40,0x00] +cmpb $0, 64(%edx,%eax) + +// CHECK: cmpb $0, %al +// CHECK: encoding: [0x3c,0x00] +cmpb $0, %al + +// CHECK: cmpb $0, (%edx) +// CHECK: encoding: [0x80,0x3a,0x00] +cmpb $0, (%edx) + +// CHECK: cmpl $0, %eax +// CHECK: encoding: [0x83,0xf8,0x00] +cmpl $0, %eax + +// CHECK: cmpsb %es:(%edi), %es:(%esi) +// CHECK: encoding: [0x26,0xa6] +cmpsb %es:(%edi), %es:(%esi) + +// CHECK: cmpsw %es:(%edi), %es:(%esi) +// CHECK: encoding: [0x66,0x26,0xa7] +cmpsw %es:(%edi), %es:(%esi) + +// CHECK: cwtd +// CHECK: encoding: [0x66,0x99] +cwtd + +// CHECK: daa +// CHECK: encoding: [0x27] +daa + +// CHECK: das +// CHECK: encoding: [0x2f] +das + +// CHECK: decb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xfe,0x8c,0x82,0x10,0xe3,0x0f,0xe3] +decb -485498096(%edx,%eax,4) + +// CHECK: decb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xfe,0x8c,0x82,0xf0,0x1c,0xf0,0x1c] +decb 485498096(%edx,%eax,4) + +// CHECK: decb 485498096(%edx) +// CHECK: encoding: [0xfe,0x8a,0xf0,0x1c,0xf0,0x1c] +decb 485498096(%edx) + +// CHECK: decb 485498096 +// CHECK: encoding: [0xfe,0x0d,0xf0,0x1c,0xf0,0x1c] +decb 485498096 + +// CHECK: decb 64(%edx,%eax) +// CHECK: encoding: [0xfe,0x4c,0x02,0x40] +decb 64(%edx,%eax) + +// CHECK: decb (%edx) +// CHECK: encoding: [0xfe,0x0a] +decb (%edx) + +// CHECK: divb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0xb4,0x82,0x10,0xe3,0x0f,0xe3] +divb -485498096(%edx,%eax,4) + +// CHECK: divb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0xb4,0x82,0xf0,0x1c,0xf0,0x1c] +divb 485498096(%edx,%eax,4) + +// CHECK: divb 485498096(%edx) +// CHECK: encoding: [0xf6,0xb2,0xf0,0x1c,0xf0,0x1c] +divb 485498096(%edx) + +// CHECK: divb 485498096 +// CHECK: encoding: [0xf6,0x35,0xf0,0x1c,0xf0,0x1c] +divb 485498096 + +// CHECK: divb 64(%edx,%eax) +// CHECK: encoding: [0xf6,0x74,0x02,0x40] +divb 64(%edx,%eax) + +// CHECK: divb (%edx) +// CHECK: encoding: [0xf6,0x32] +divb (%edx) + +// CHECK: hlt +// CHECK: encoding: [0xf4] +hlt + +// CHECK: idivb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0xbc,0x82,0x10,0xe3,0x0f,0xe3] +idivb -485498096(%edx,%eax,4) + +// CHECK: idivb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0xbc,0x82,0xf0,0x1c,0xf0,0x1c] +idivb 485498096(%edx,%eax,4) + +// CHECK: idivb 485498096(%edx) +// CHECK: encoding: [0xf6,0xba,0xf0,0x1c,0xf0,0x1c] +idivb 485498096(%edx) + +// CHECK: idivb 485498096 +// CHECK: encoding: [0xf6,0x3d,0xf0,0x1c,0xf0,0x1c] +idivb 485498096 + +// CHECK: idivb 64(%edx,%eax) +// CHECK: encoding: [0xf6,0x7c,0x02,0x40] +idivb 64(%edx,%eax) + +// CHECK: idivb (%edx) +// CHECK: encoding: [0xf6,0x3a] +idivb (%edx) + +// CHECK: imulb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0xac,0x82,0x10,0xe3,0x0f,0xe3] +imulb -485498096(%edx,%eax,4) + +// CHECK: imulb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0xac,0x82,0xf0,0x1c,0xf0,0x1c] +imulb 485498096(%edx,%eax,4) + +// CHECK: imulb 485498096(%edx) +// CHECK: encoding: [0xf6,0xaa,0xf0,0x1c,0xf0,0x1c] +imulb 485498096(%edx) + +// CHECK: imulb 485498096 +// CHECK: encoding: [0xf6,0x2d,0xf0,0x1c,0xf0,0x1c] +imulb 485498096 + +// CHECK: imulb 64(%edx,%eax) +// CHECK: encoding: [0xf6,0x6c,0x02,0x40] +imulb 64(%edx,%eax) + +// CHECK: imulb (%edx) +// CHECK: encoding: [0xf6,0x2a] +imulb (%edx) + +// CHECK: inb $0, %al +// CHECK: encoding: [0xe4,0x00] +inb $0, %al + +// CHECK: inb %dx, %al +// CHECK: encoding: [0xec] +inb %dx, %al + +// CHECK: incb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xfe,0x84,0x82,0x10,0xe3,0x0f,0xe3] +incb -485498096(%edx,%eax,4) + +// CHECK: incb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xfe,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +incb 485498096(%edx,%eax,4) + +// CHECK: incb 485498096(%edx) +// CHECK: encoding: [0xfe,0x82,0xf0,0x1c,0xf0,0x1c] +incb 485498096(%edx) + +// CHECK: incb 485498096 +// CHECK: encoding: [0xfe,0x05,0xf0,0x1c,0xf0,0x1c] +incb 485498096 + +// CHECK: incb 64(%edx,%eax) +// CHECK: encoding: [0xfe,0x44,0x02,0x40] +incb 64(%edx,%eax) + +// CHECK: incb (%edx) +// CHECK: encoding: [0xfe,0x02] +incb (%edx) + +// CHECK: inl $0, %eax +// CHECK: encoding: [0xe5,0x00] +inl $0, %eax + +// CHECK: inl %dx, %eax +// CHECK: encoding: [0xed] +inl %dx, %eax + +// CHECK: int $0 +// CHECK: encoding: [0xcd,0x00] +int $0 + +// CHECK: int3 +// CHECK: encoding: [0xcc] +int3 + +// CHECK: into +// CHECK: encoding: [0xce] +into + +// CHECK: iretw +// CHECK: encoding: [0x66,0xcf] +iretw + +// CHECK: ja 64 +// CHECK: encoding: [0x77,A] +ja 64 + +// CHECK: jae 64 +// CHECK: encoding: [0x73,A] +jae 64 + +// CHECK: jb 64 +// CHECK: encoding: [0x72,A] +jb 64 + +// CHECK: jbe 64 +// CHECK: encoding: [0x76,A] +jbe 64 + +// CHECK: je 64 +// CHECK: encoding: [0x74,A] +je 64 + +// CHECK: jg 64 +// CHECK: encoding: [0x7f,A] +jg 64 + +// CHECK: jge 64 +// CHECK: encoding: [0x7d,A] +jge 64 + +// CHECK: jl 64 +// CHECK: encoding: [0x7c,A] +jl 64 + +// CHECK: jle 64 +// CHECK: encoding: [0x7e,A] +jle 64 + +// CHECK: jmp 64 +// CHECK: encoding: [0xeb,A] +jmp 64 + +// CHECK: jne 64 +// CHECK: encoding: [0x75,A] +jne 64 + +// CHECK: jno 64 +// CHECK: encoding: [0x71,A] +jno 64 + +// CHECK: jnp 64 +// CHECK: encoding: [0x7b,A] +jnp 64 + +// CHECK: jns 64 +// CHECK: encoding: [0x79,A] +jns 64 + +// CHECK: jo 64 +// CHECK: encoding: [0x70,A] +jo 64 + +// CHECK: jp 64 +// CHECK: encoding: [0x7a,A] +jp 64 + +// CHECK: js 64 +// CHECK: encoding: [0x78,A] +js 64 + +// CHECK: lodsb %es:(%esi), %al +// CHECK: encoding: [0x26,0xac] +lodsb %es:(%esi), %al + +// CHECK: lodsw %es:(%esi), %ax +// CHECK: encoding: [0x66,0x26,0xad] +lodsw %es:(%esi), %ax + +// CHECK: loop 64 +// CHECK: encoding: [0xe2,A] +loop 64 + +// CHECK: loope 64 +// CHECK: encoding: [0xe1,A] +loope 64 + +// CHECK: loopne 64 +// CHECK: encoding: [0xe0,A] +loopne 64 + +// CHECK: lretl $0 +// CHECK: encoding: [0xca,0x00,0x00] +lretl $0 + +// CHECK: lretl +// CHECK: encoding: [0xcb] +lretl + +// CHECK: movb $0, 485498096 +// CHECK: encoding: [0xc6,0x05,0xf0,0x1c,0xf0,0x1c,0x00] +movb $0, 485498096 + +// CHECK: movb $0, 485498096(%edx) +// CHECK: encoding: [0xc6,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +movb $0, 485498096(%edx) + +// CHECK: movb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xc6,0x84,0x82,0x10,0xe3,0x0f,0xe3,0x00] +movb $0, -485498096(%edx,%eax,4) + +// CHECK: movb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xc6,0x84,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +movb $0, 485498096(%edx,%eax,4) + +// CHECK: movb $0, 64(%edx,%eax) +// CHECK: encoding: [0xc6,0x44,0x02,0x40,0x00] +movb $0, 64(%edx,%eax) + +// CHECK: movb $0, (%edx) +// CHECK: encoding: [0xc6,0x02,0x00] +movb $0, (%edx) + +// CHECK: movb %al, %es:485498096 +// CHECK: encoding: [0x26,0xa2,0xf0,0x1c,0xf0,0x1c] +movb %al, %es:485498096 + +// CHECK: movb %es:485498096, %al +// CHECK: encoding: [0x26,0xa0,0xf0,0x1c,0xf0,0x1c] +movb %es:485498096, %al + +// CHECK: movsb %es:(%esi), %es:(%edi) +// CHECK: encoding: [0x26,0xa4] +movsb %es:(%esi), %es:(%edi) + +// CHECK: movsw %es:(%esi), %es:(%edi) +// CHECK: encoding: [0x66,0x26,0xa5] +movsw %es:(%esi), %es:(%edi) + +// CHECK: movw -485498096(%edx,%eax,4), %es +// CHECK: encoding: [0x8e,0x84,0x82,0x10,0xe3,0x0f,0xe3] +movw -485498096(%edx,%eax,4), %es + +// CHECK: movw 485498096(%edx,%eax,4), %es +// CHECK: encoding: [0x8e,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +movw 485498096(%edx,%eax,4), %es + +// CHECK: movw 485498096(%edx), %es +// CHECK: encoding: [0x8e,0x82,0xf0,0x1c,0xf0,0x1c] +movw 485498096(%edx), %es + +// CHECK: movw 485498096, %es +// CHECK: encoding: [0x8e,0x05,0xf0,0x1c,0xf0,0x1c] +movw 485498096, %es + +// CHECK: movw 64(%edx,%eax), %es +// CHECK: encoding: [0x8e,0x44,0x02,0x40] +movw 64(%edx,%eax), %es + +// CHECK: movw (%edx), %es +// CHECK: encoding: [0x8e,0x02] +movw (%edx), %es + +// CHECK: movw %es, 485498096 +// CHECK: encoding: [0x8c,0x05,0xf0,0x1c,0xf0,0x1c] +movw %es, 485498096 + +// CHECK: movw %es, 485498096(%edx) +// CHECK: encoding: [0x8c,0x82,0xf0,0x1c,0xf0,0x1c] +movw %es, 485498096(%edx) + +// CHECK: movw %es, -485498096(%edx,%eax,4) +// CHECK: encoding: [0x8c,0x84,0x82,0x10,0xe3,0x0f,0xe3] +movw %es, -485498096(%edx,%eax,4) + +// CHECK: movw %es, 485498096(%edx,%eax,4) +// CHECK: encoding: [0x8c,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +movw %es, 485498096(%edx,%eax,4) + +// CHECK: movw %es, 64(%edx,%eax) +// CHECK: encoding: [0x8c,0x44,0x02,0x40] +movw %es, 64(%edx,%eax) + +// CHECK: movw %es, (%edx) +// CHECK: encoding: [0x8c,0x02] +movw %es, (%edx) + +// CHECK: mulb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0xa4,0x82,0x10,0xe3,0x0f,0xe3] +mulb -485498096(%edx,%eax,4) + +// CHECK: mulb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0xa4,0x82,0xf0,0x1c,0xf0,0x1c] +mulb 485498096(%edx,%eax,4) + +// CHECK: mulb 485498096(%edx) +// CHECK: encoding: [0xf6,0xa2,0xf0,0x1c,0xf0,0x1c] +mulb 485498096(%edx) + +// CHECK: mulb 485498096 +// CHECK: encoding: [0xf6,0x25,0xf0,0x1c,0xf0,0x1c] +mulb 485498096 + +// CHECK: mulb 64(%edx,%eax) +// CHECK: encoding: [0xf6,0x64,0x02,0x40] +mulb 64(%edx,%eax) + +// CHECK: mulb (%edx) +// CHECK: encoding: [0xf6,0x22] +mulb (%edx) + +// CHECK: negb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0x9c,0x82,0x10,0xe3,0x0f,0xe3] +negb -485498096(%edx,%eax,4) + +// CHECK: negb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0x9c,0x82,0xf0,0x1c,0xf0,0x1c] +negb 485498096(%edx,%eax,4) + +// CHECK: negb 485498096(%edx) +// CHECK: encoding: [0xf6,0x9a,0xf0,0x1c,0xf0,0x1c] +negb 485498096(%edx) + +// CHECK: negb 485498096 +// CHECK: encoding: [0xf6,0x1d,0xf0,0x1c,0xf0,0x1c] +negb 485498096 + +// CHECK: negb 64(%edx,%eax) +// CHECK: encoding: [0xf6,0x5c,0x02,0x40] +negb 64(%edx,%eax) + +// CHECK: negb (%edx) +// CHECK: encoding: [0xf6,0x1a] +negb (%edx) + +// CHECK: nop +// CHECK: encoding: [0x90] +nop + +// CHECK: notb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0x94,0x82,0x10,0xe3,0x0f,0xe3] +notb -485498096(%edx,%eax,4) + +// CHECK: notb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0x94,0x82,0xf0,0x1c,0xf0,0x1c] +notb 485498096(%edx,%eax,4) + +// CHECK: notb 485498096(%edx) +// CHECK: encoding: [0xf6,0x92,0xf0,0x1c,0xf0,0x1c] +notb 485498096(%edx) + +// CHECK: notb 485498096 +// CHECK: encoding: [0xf6,0x15,0xf0,0x1c,0xf0,0x1c] +notb 485498096 + +// CHECK: notb 64(%edx,%eax) +// CHECK: encoding: [0xf6,0x54,0x02,0x40] +notb 64(%edx,%eax) + +// CHECK: notb (%edx) +// CHECK: encoding: [0xf6,0x12] +notb (%edx) + +// CHECK: orb $0, 485498096 +// CHECK: encoding: [0x80,0x0d,0xf0,0x1c,0xf0,0x1c,0x00] +orb $0, 485498096 + +// CHECK: orb $0, 485498096(%edx) +// CHECK: encoding: [0x80,0x8a,0xf0,0x1c,0xf0,0x1c,0x00] +orb $0, 485498096(%edx) + +// CHECK: orb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00] +orb $0, -485498096(%edx,%eax,4) + +// CHECK: orb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +orb $0, 485498096(%edx,%eax,4) + +// CHECK: orb $0, 64(%edx,%eax) +// CHECK: encoding: [0x80,0x4c,0x02,0x40,0x00] +orb $0, 64(%edx,%eax) + +// CHECK: orb $0, %al +// CHECK: encoding: [0x0c,0x00] +orb $0, %al + +// CHECK: orb $0, (%edx) +// CHECK: encoding: [0x80,0x0a,0x00] +orb $0, (%edx) + +// CHECK: orl $0, %eax +// CHECK: encoding: [0x83,0xc8,0x00] +orl $0, %eax + +// CHECK: outb %al, $0 +// CHECK: encoding: [0xe6,0x00] +outb %al, $0 + +// CHECK: outb %al, %dx +// CHECK: encoding: [0xee] +outb %al, %dx + +// CHECK: outl %eax, $0 +// CHECK: encoding: [0xe7,0x00] +outl %eax, $0 + +// CHECK: outl %eax, %dx +// CHECK: encoding: [0xef] +outl %eax, %dx + +// CHECK: pause +// CHECK: encoding: [0xf3,0x90] +pause + +// CHECK: popfw +// CHECK: encoding: [0x66,0x9d] +popfw + +// CHECK: popl %ds +// CHECK: encoding: [0x1f] +popl %ds + +// CHECK: popl %es +// CHECK: encoding: [0x07] +popl %es + +// CHECK: popl %fs +// CHECK: encoding: [0x0f,0xa1] +popl %fs + +// CHECK: popl %gs +// CHECK: encoding: [0x0f,0xa9] +popl %gs + +// CHECK: popl %ss +// CHECK: encoding: [0x17] +popl %ss + +// CHECK: pushfw +// CHECK: encoding: [0x66,0x9c] +pushfw + +// CHECK: pushl %cs +// CHECK: encoding: [0x0e] +pushl %cs + +// CHECK: pushl %ds +// CHECK: encoding: [0x1e] +pushl %ds + +// CHECK: pushl %es +// CHECK: encoding: [0x06] +pushl %es + +// CHECK: pushl %fs +// CHECK: encoding: [0x0f,0xa0] +pushl %fs + +// CHECK: pushl %gs +// CHECK: encoding: [0x0f,0xa8] +pushl %gs + +// CHECK: pushl %ss +// CHECK: encoding: [0x16] +pushl %ss + +// CHECK: rclb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0x94,0x82,0x10,0xe3,0x0f,0xe3] +rclb -485498096(%edx,%eax,4) + +// CHECK: rclb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0x94,0x82,0xf0,0x1c,0xf0,0x1c] +rclb 485498096(%edx,%eax,4) + +// CHECK: rclb 485498096(%edx) +// CHECK: encoding: [0xd0,0x92,0xf0,0x1c,0xf0,0x1c] +rclb 485498096(%edx) + +// CHECK: rclb 485498096 +// CHECK: encoding: [0xd0,0x15,0xf0,0x1c,0xf0,0x1c] +rclb 485498096 + +// CHECK: rclb 64(%edx,%eax) +// CHECK: encoding: [0xd0,0x54,0x02,0x40] +rclb 64(%edx,%eax) + +// CHECK: rclb %cl, 485498096 +// CHECK: encoding: [0xd2,0x15,0xf0,0x1c,0xf0,0x1c] +rclb %cl, 485498096 + +// CHECK: rclb %cl, 485498096(%edx) +// CHECK: encoding: [0xd2,0x92,0xf0,0x1c,0xf0,0x1c] +rclb %cl, 485498096(%edx) + +// CHECK: rclb %cl, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0x94,0x82,0x10,0xe3,0x0f,0xe3] +rclb %cl, -485498096(%edx,%eax,4) + +// CHECK: rclb %cl, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0x94,0x82,0xf0,0x1c,0xf0,0x1c] +rclb %cl, 485498096(%edx,%eax,4) + +// CHECK: rclb %cl, 64(%edx,%eax) +// CHECK: encoding: [0xd2,0x54,0x02,0x40] +rclb %cl, 64(%edx,%eax) + +// CHECK: rclb %cl, (%edx) +// CHECK: encoding: [0xd2,0x12] +rclb %cl, (%edx) + +// CHECK: rclb (%edx) +// CHECK: encoding: [0xd0,0x12] +rclb (%edx) + +// CHECK: rcrb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0x9c,0x82,0x10,0xe3,0x0f,0xe3] +rcrb -485498096(%edx,%eax,4) + +// CHECK: rcrb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0x9c,0x82,0xf0,0x1c,0xf0,0x1c] +rcrb 485498096(%edx,%eax,4) + +// CHECK: rcrb 485498096(%edx) +// CHECK: encoding: [0xd0,0x9a,0xf0,0x1c,0xf0,0x1c] +rcrb 485498096(%edx) + +// CHECK: rcrb 485498096 +// CHECK: encoding: [0xd0,0x1d,0xf0,0x1c,0xf0,0x1c] +rcrb 485498096 + +// CHECK: rcrb 64(%edx,%eax) +// CHECK: encoding: [0xd0,0x5c,0x02,0x40] +rcrb 64(%edx,%eax) + +// CHECK: rcrb %cl, 485498096 +// CHECK: encoding: [0xd2,0x1d,0xf0,0x1c,0xf0,0x1c] +rcrb %cl, 485498096 + +// CHECK: rcrb %cl, 485498096(%edx) +// CHECK: encoding: [0xd2,0x9a,0xf0,0x1c,0xf0,0x1c] +rcrb %cl, 485498096(%edx) + +// CHECK: rcrb %cl, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0x9c,0x82,0x10,0xe3,0x0f,0xe3] +rcrb %cl, -485498096(%edx,%eax,4) + +// CHECK: rcrb %cl, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0x9c,0x82,0xf0,0x1c,0xf0,0x1c] +rcrb %cl, 485498096(%edx,%eax,4) + +// CHECK: rcrb %cl, 64(%edx,%eax) +// CHECK: encoding: [0xd2,0x5c,0x02,0x40] +rcrb %cl, 64(%edx,%eax) + +// CHECK: rcrb %cl, (%edx) +// CHECK: encoding: [0xd2,0x1a] +rcrb %cl, (%edx) + +// CHECK: rcrb (%edx) +// CHECK: encoding: [0xd0,0x1a] +rcrb (%edx) + +// CHECK: rep cmpsb %es:(%edi), %es:(%esi) +// CHECK: encoding: [0xf3,0x26,0xa6] +rep cmpsb %es:(%edi), %es:(%esi) + +// CHECK: rep cmpsw %es:(%edi), %es:(%esi) +// CHECK: encoding: [0xf3,0x66,0x26,0xa7] +rep cmpsw %es:(%edi), %es:(%esi) + +// CHECK: rep lodsb %es:(%esi), %al +// CHECK: encoding: [0xf3,0x26,0xac] +rep lodsb %es:(%esi), %al + +// CHECK: rep lodsw %es:(%esi), %ax +// CHECK: encoding: [0xf3,0x66,0x26,0xad] +rep lodsw %es:(%esi), %ax + +// CHECK: rep movsb %es:(%esi), %es:(%edi) +// CHECK: encoding: [0xf3,0x26,0xa4] +rep movsb %es:(%esi), %es:(%edi) + +// CHECK: rep movsw %es:(%esi), %es:(%edi) +// CHECK: encoding: [0xf3,0x66,0x26,0xa5] +rep movsw %es:(%esi), %es:(%edi) + +// CHECK: repne cmpsb %es:(%edi), %es:(%esi) +// CHECK: encoding: [0xf2,0x26,0xa6] +repne cmpsb %es:(%edi), %es:(%esi) + +// CHECK: repne cmpsw %es:(%edi), %es:(%esi) +// CHECK: encoding: [0xf2,0x66,0x26,0xa7] +repne cmpsw %es:(%edi), %es:(%esi) + +// CHECK: repne lodsb %es:(%esi), %al +// CHECK: encoding: [0xf2,0x26,0xac] +repne lodsb %es:(%esi), %al + +// CHECK: repne lodsw %es:(%esi), %ax +// CHECK: encoding: [0xf2,0x66,0x26,0xad] +repne lodsw %es:(%esi), %ax + +// CHECK: repne movsb %es:(%esi), %es:(%edi) +// CHECK: encoding: [0xf2,0x26,0xa4] +repne movsb %es:(%esi), %es:(%edi) + +// CHECK: repne movsw %es:(%esi), %es:(%edi) +// CHECK: encoding: [0xf2,0x66,0x26,0xa5] +repne movsw %es:(%esi), %es:(%edi) + +// CHECK: repne scasb %es:(%edi), %al +// CHECK: encoding: [0xf2,0xae] +repne scasb %es:(%edi), %al + +// CHECK: repne scasw %es:(%edi), %ax +// CHECK: encoding: [0xf2,0x66,0xaf] +repne scasw %es:(%edi), %ax + +// CHECK: repne stosb %al, %es:(%edi) +// CHECK: encoding: [0xf2,0xaa] +repne stosb %al, %es:(%edi) + +// CHECK: repne stosw %ax, %es:(%edi) +// CHECK: encoding: [0xf2,0x66,0xab] +repne stosw %ax, %es:(%edi) + +// CHECK: rep scasb %es:(%edi), %al +// CHECK: encoding: [0xf3,0xae] +rep scasb %es:(%edi), %al + +// CHECK: rep scasw %es:(%edi), %ax +// CHECK: encoding: [0xf3,0x66,0xaf] +rep scasw %es:(%edi), %ax + +// CHECK: rep stosb %al, %es:(%edi) +// CHECK: encoding: [0xf3,0xaa] +rep stosb %al, %es:(%edi) + +// CHECK: rep stosw %ax, %es:(%edi) +// CHECK: encoding: [0xf3,0x66,0xab] +rep stosw %ax, %es:(%edi) + +// CHECK: retl $0 +// CHECK: encoding: [0xc2,0x00,0x00] +retl $0 + +// CHECK: retl +// CHECK: encoding: [0xc3] +retl + +// CHECK: rolb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0x84,0x82,0x10,0xe3,0x0f,0xe3] +rolb -485498096(%edx,%eax,4) + +// CHECK: rolb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +rolb 485498096(%edx,%eax,4) + +// CHECK: rolb 485498096(%edx) +// CHECK: encoding: [0xd0,0x82,0xf0,0x1c,0xf0,0x1c] +rolb 485498096(%edx) + +// CHECK: rolb 485498096 +// CHECK: encoding: [0xd0,0x05,0xf0,0x1c,0xf0,0x1c] +rolb 485498096 + +// CHECK: rolb 64(%edx,%eax) +// CHECK: encoding: [0xd0,0x44,0x02,0x40] +rolb 64(%edx,%eax) + +// CHECK: rolb %cl, 485498096 +// CHECK: encoding: [0xd2,0x05,0xf0,0x1c,0xf0,0x1c] +rolb %cl, 485498096 + +// CHECK: rolb %cl, 485498096(%edx) +// CHECK: encoding: [0xd2,0x82,0xf0,0x1c,0xf0,0x1c] +rolb %cl, 485498096(%edx) + +// CHECK: rolb %cl, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0x84,0x82,0x10,0xe3,0x0f,0xe3] +rolb %cl, -485498096(%edx,%eax,4) + +// CHECK: rolb %cl, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0x84,0x82,0xf0,0x1c,0xf0,0x1c] +rolb %cl, 485498096(%edx,%eax,4) + +// CHECK: rolb %cl, 64(%edx,%eax) +// CHECK: encoding: [0xd2,0x44,0x02,0x40] +rolb %cl, 64(%edx,%eax) + +// CHECK: rolb %cl, (%edx) +// CHECK: encoding: [0xd2,0x02] +rolb %cl, (%edx) + +// CHECK: rolb (%edx) +// CHECK: encoding: [0xd0,0x02] +rolb (%edx) + +// CHECK: rorb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0x8c,0x82,0x10,0xe3,0x0f,0xe3] +rorb -485498096(%edx,%eax,4) + +// CHECK: rorb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0x8c,0x82,0xf0,0x1c,0xf0,0x1c] +rorb 485498096(%edx,%eax,4) + +// CHECK: rorb 485498096(%edx) +// CHECK: encoding: [0xd0,0x8a,0xf0,0x1c,0xf0,0x1c] +rorb 485498096(%edx) + +// CHECK: rorb 485498096 +// CHECK: encoding: [0xd0,0x0d,0xf0,0x1c,0xf0,0x1c] +rorb 485498096 + +// CHECK: rorb 64(%edx,%eax) +// CHECK: encoding: [0xd0,0x4c,0x02,0x40] +rorb 64(%edx,%eax) + +// CHECK: rorb %cl, 485498096 +// CHECK: encoding: [0xd2,0x0d,0xf0,0x1c,0xf0,0x1c] +rorb %cl, 485498096 + +// CHECK: rorb %cl, 485498096(%edx) +// CHECK: encoding: [0xd2,0x8a,0xf0,0x1c,0xf0,0x1c] +rorb %cl, 485498096(%edx) + +// CHECK: rorb %cl, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0x8c,0x82,0x10,0xe3,0x0f,0xe3] +rorb %cl, -485498096(%edx,%eax,4) + +// CHECK: rorb %cl, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0x8c,0x82,0xf0,0x1c,0xf0,0x1c] +rorb %cl, 485498096(%edx,%eax,4) + +// CHECK: rorb %cl, 64(%edx,%eax) +// CHECK: encoding: [0xd2,0x4c,0x02,0x40] +rorb %cl, 64(%edx,%eax) + +// CHECK: rorb %cl, (%edx) +// CHECK: encoding: [0xd2,0x0a] +rorb %cl, (%edx) + +// CHECK: rorb (%edx) +// CHECK: encoding: [0xd0,0x0a] +rorb (%edx) + +// CHECK: salc +// CHECK: encoding: [0xd6] +salc + +// CHECK: sarb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0xbc,0x82,0x10,0xe3,0x0f,0xe3] +sarb -485498096(%edx,%eax,4) + +// CHECK: sarb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0xbc,0x82,0xf0,0x1c,0xf0,0x1c] +sarb 485498096(%edx,%eax,4) + +// CHECK: sarb 485498096(%edx) +// CHECK: encoding: [0xd0,0xba,0xf0,0x1c,0xf0,0x1c] +sarb 485498096(%edx) + +// CHECK: sarb 485498096 +// CHECK: encoding: [0xd0,0x3d,0xf0,0x1c,0xf0,0x1c] +sarb 485498096 + +// CHECK: sarb 64(%edx,%eax) +// CHECK: encoding: [0xd0,0x7c,0x02,0x40] +sarb 64(%edx,%eax) + +// CHECK: sarb %cl, 485498096 +// CHECK: encoding: [0xd2,0x3d,0xf0,0x1c,0xf0,0x1c] +sarb %cl, 485498096 + +// CHECK: sarb %cl, 485498096(%edx) +// CHECK: encoding: [0xd2,0xba,0xf0,0x1c,0xf0,0x1c] +sarb %cl, 485498096(%edx) + +// CHECK: sarb %cl, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0xbc,0x82,0x10,0xe3,0x0f,0xe3] +sarb %cl, -485498096(%edx,%eax,4) + +// CHECK: sarb %cl, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0xbc,0x82,0xf0,0x1c,0xf0,0x1c] +sarb %cl, 485498096(%edx,%eax,4) + +// CHECK: sarb %cl, 64(%edx,%eax) +// CHECK: encoding: [0xd2,0x7c,0x02,0x40] +sarb %cl, 64(%edx,%eax) + +// CHECK: sarb %cl, (%edx) +// CHECK: encoding: [0xd2,0x3a] +sarb %cl, (%edx) + +// CHECK: sarb (%edx) +// CHECK: encoding: [0xd0,0x3a] +sarb (%edx) + +// CHECK: sbbb $0, 485498096 +// CHECK: encoding: [0x80,0x1d,0xf0,0x1c,0xf0,0x1c,0x00] +sbbb $0, 485498096 + +// CHECK: sbbb $0, 485498096(%edx) +// CHECK: encoding: [0x80,0x9a,0xf0,0x1c,0xf0,0x1c,0x00] +sbbb $0, 485498096(%edx) + +// CHECK: sbbb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0x9c,0x82,0x10,0xe3,0x0f,0xe3,0x00] +sbbb $0, -485498096(%edx,%eax,4) + +// CHECK: sbbb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0x9c,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +sbbb $0, 485498096(%edx,%eax,4) + +// CHECK: sbbb $0, 64(%edx,%eax) +// CHECK: encoding: [0x80,0x5c,0x02,0x40,0x00] +sbbb $0, 64(%edx,%eax) + +// CHECK: sbbb $0, %al +// CHECK: encoding: [0x1c,0x00] +sbbb $0, %al + +// CHECK: sbbb $0, (%edx) +// CHECK: encoding: [0x80,0x1a,0x00] +sbbb $0, (%edx) + +// CHECK: sbbl $0, %eax +// CHECK: encoding: [0x83,0xd8,0x00] +sbbl $0, %eax + +// CHECK: scasb %es:(%edi), %al +// CHECK: encoding: [0xae] +scasb %es:(%edi), %al + +// CHECK: scasw %es:(%edi), %ax +// CHECK: encoding: [0x66,0xaf] +scasw %es:(%edi), %ax + +// CHECK: shlb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0xa4,0x82,0x10,0xe3,0x0f,0xe3] +shlb -485498096(%edx,%eax,4) + +// CHECK: shlb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0xa4,0x82,0xf0,0x1c,0xf0,0x1c] +shlb 485498096(%edx,%eax,4) + +// CHECK: shlb 485498096(%edx) +// CHECK: encoding: [0xd0,0xa2,0xf0,0x1c,0xf0,0x1c] +shlb 485498096(%edx) + +// CHECK: shlb 485498096 +// CHECK: encoding: [0xd0,0x25,0xf0,0x1c,0xf0,0x1c] +shlb 485498096 + +// CHECK: shlb 64(%edx,%eax) +// CHECK: encoding: [0xd0,0x64,0x02,0x40] +shlb 64(%edx,%eax) + +// CHECK: shlb %cl, 485498096 +// CHECK: encoding: [0xd2,0x25,0xf0,0x1c,0xf0,0x1c] +shlb %cl, 485498096 + +// CHECK: shlb %cl, 485498096(%edx) +// CHECK: encoding: [0xd2,0xa2,0xf0,0x1c,0xf0,0x1c] +shlb %cl, 485498096(%edx) + +// CHECK: shlb %cl, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0xa4,0x82,0x10,0xe3,0x0f,0xe3] +shlb %cl, -485498096(%edx,%eax,4) + +// CHECK: shlb %cl, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0xa4,0x82,0xf0,0x1c,0xf0,0x1c] +shlb %cl, 485498096(%edx,%eax,4) + +// CHECK: shlb %cl, 64(%edx,%eax) +// CHECK: encoding: [0xd2,0x64,0x02,0x40] +shlb %cl, 64(%edx,%eax) + +// CHECK: shlb %cl, (%edx) +// CHECK: encoding: [0xd2,0x22] +shlb %cl, (%edx) + +// CHECK: shlb (%edx) +// CHECK: encoding: [0xd0,0x22] +shlb (%edx) + +// CHECK: shrb -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0xac,0x82,0x10,0xe3,0x0f,0xe3] +shrb -485498096(%edx,%eax,4) + +// CHECK: shrb 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd0,0xac,0x82,0xf0,0x1c,0xf0,0x1c] +shrb 485498096(%edx,%eax,4) + +// CHECK: shrb 485498096(%edx) +// CHECK: encoding: [0xd0,0xaa,0xf0,0x1c,0xf0,0x1c] +shrb 485498096(%edx) + +// CHECK: shrb 485498096 +// CHECK: encoding: [0xd0,0x2d,0xf0,0x1c,0xf0,0x1c] +shrb 485498096 + +// CHECK: shrb 64(%edx,%eax) +// CHECK: encoding: [0xd0,0x6c,0x02,0x40] +shrb 64(%edx,%eax) + +// CHECK: shrb %cl, 485498096 +// CHECK: encoding: [0xd2,0x2d,0xf0,0x1c,0xf0,0x1c] +shrb %cl, 485498096 + +// CHECK: shrb %cl, 485498096(%edx) +// CHECK: encoding: [0xd2,0xaa,0xf0,0x1c,0xf0,0x1c] +shrb %cl, 485498096(%edx) + +// CHECK: shrb %cl, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0xac,0x82,0x10,0xe3,0x0f,0xe3] +shrb %cl, -485498096(%edx,%eax,4) + +// CHECK: shrb %cl, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xd2,0xac,0x82,0xf0,0x1c,0xf0,0x1c] +shrb %cl, 485498096(%edx,%eax,4) + +// CHECK: shrb %cl, 64(%edx,%eax) +// CHECK: encoding: [0xd2,0x6c,0x02,0x40] +shrb %cl, 64(%edx,%eax) + +// CHECK: shrb %cl, (%edx) +// CHECK: encoding: [0xd2,0x2a] +shrb %cl, (%edx) + +// CHECK: shrb (%edx) +// CHECK: encoding: [0xd0,0x2a] +shrb (%edx) + +// CHECK: stc +// CHECK: encoding: [0xf9] +stc + +// CHECK: std +// CHECK: encoding: [0xfd] +std + +// CHECK: sti +// CHECK: encoding: [0xfb] +sti + +// CHECK: stosb %al, %es:(%edi) +// CHECK: encoding: [0xaa] +stosb %al, %es:(%edi) + +// CHECK: stosw %ax, %es:(%edi) +// CHECK: encoding: [0x66,0xab] +stosw %ax, %es:(%edi) + +// CHECK: subb $0, 485498096 +// CHECK: encoding: [0x80,0x2d,0xf0,0x1c,0xf0,0x1c,0x00] +subb $0, 485498096 + +// CHECK: subb $0, 485498096(%edx) +// CHECK: encoding: [0x80,0xaa,0xf0,0x1c,0xf0,0x1c,0x00] +subb $0, 485498096(%edx) + +// CHECK: subb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0xac,0x82,0x10,0xe3,0x0f,0xe3,0x00] +subb $0, -485498096(%edx,%eax,4) + +// CHECK: subb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0xac,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +subb $0, 485498096(%edx,%eax,4) + +// CHECK: subb $0, 64(%edx,%eax) +// CHECK: encoding: [0x80,0x6c,0x02,0x40,0x00] +subb $0, 64(%edx,%eax) + +// CHECK: subb $0, %al +// CHECK: encoding: [0x2c,0x00] +subb $0, %al + +// CHECK: subb $0, (%edx) +// CHECK: encoding: [0x80,0x2a,0x00] +subb $0, (%edx) + +// CHECK: subl $0, %eax +// CHECK: encoding: [0x83,0xe8,0x00] +subl $0, %eax + +// CHECK: testb $0, 485498096 +// CHECK: encoding: [0xf6,0x05,0xf0,0x1c,0xf0,0x1c,0x00] +testb $0, 485498096 + +// CHECK: testb $0, 485498096(%edx) +// CHECK: encoding: [0xf6,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +testb $0, 485498096(%edx) + +// CHECK: testb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0x84,0x82,0x10,0xe3,0x0f,0xe3,0x00] +testb $0, -485498096(%edx,%eax,4) + +// CHECK: testb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0xf6,0x84,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +testb $0, 485498096(%edx,%eax,4) + +// CHECK: testb $0, 64(%edx,%eax) +// CHECK: encoding: [0xf6,0x44,0x02,0x40,0x00] +testb $0, 64(%edx,%eax) + +// CHECK: testb $0, %al +// CHECK: encoding: [0xa8,0x00] +testb $0, %al + +// CHECK: testb $0, (%edx) +// CHECK: encoding: [0xf6,0x02,0x00] +testb $0, (%edx) + +// CHECK: testl $0, %eax +// CHECK: encoding: [0xa9,0x00,0x00,0x00,0x00] +testl $0, %eax + +// CHECK: xlatb +// CHECK: encoding: [0xd7] +xlatb + +// CHECK: xorb $0, 485498096 +// CHECK: encoding: [0x80,0x35,0xf0,0x1c,0xf0,0x1c,0x00] +xorb $0, 485498096 + +// CHECK: xorb $0, 485498096(%edx) +// CHECK: encoding: [0x80,0xb2,0xf0,0x1c,0xf0,0x1c,0x00] +xorb $0, 485498096(%edx) + +// CHECK: xorb $0, -485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0xb4,0x82,0x10,0xe3,0x0f,0xe3,0x00] +xorb $0, -485498096(%edx,%eax,4) + +// CHECK: xorb $0, 485498096(%edx,%eax,4) +// CHECK: encoding: [0x80,0xb4,0x82,0xf0,0x1c,0xf0,0x1c,0x00] +xorb $0, 485498096(%edx,%eax,4) + +// CHECK: xorb $0, 64(%edx,%eax) +// CHECK: encoding: [0x80,0x74,0x02,0x40,0x00] +xorb $0, 64(%edx,%eax) + +// CHECK: xorb $0, %al +// CHECK: encoding: [0x34,0x00] +xorb $0, %al + +// CHECK: xorb $0, (%edx) +// CHECK: encoding: [0x80,0x32,0x00] +xorb $0, (%edx) + +// CHECK: xorl $0, %eax +// CHECK: encoding: [0x83,0xf0,0x00] +xorl $0, %eax + Index: test/MC/X86/I86-64.s =================================================================== --- /dev/null +++ test/MC/X86/I86-64.s @@ -0,0 +1,2062 @@ +// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s + +// CHECK: adcb $0, 485498096 +// CHECK: encoding: [0x80,0x14,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +adcb $0, 485498096 + +// CHECK: adcb $0, 64(%rdx) +// CHECK: encoding: [0x80,0x52,0x40,0x00] +adcb $0, 64(%rdx) + +// CHECK: adcb $0, 64(%rdx,%rax) +// CHECK: encoding: [0x80,0x54,0x02,0x40,0x00] +adcb $0, 64(%rdx,%rax) + +// CHECK: adcb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x54,0x82,0xc0,0x00] +adcb $0, -64(%rdx,%rax,4) + +// CHECK: adcb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x54,0x82,0x40,0x00] +adcb $0, 64(%rdx,%rax,4) + +// CHECK: adcb $0, %al +// CHECK: encoding: [0x14,0x00] +adcb $0, %al + +// CHECK: adcb $0, %r14b +// CHECK: encoding: [0x41,0x80,0xd6,0x00] +adcb $0, %r14b + +// CHECK: adcb $0, (%rdx) +// CHECK: encoding: [0x80,0x12,0x00] +adcb $0, (%rdx) + +// CHECK: adcb 485498096, %r14b +// CHECK: encoding: [0x44,0x12,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +adcb 485498096, %r14b + +// CHECK: adcb 64(%rdx), %r14b +// CHECK: encoding: [0x44,0x12,0x72,0x40] +adcb 64(%rdx), %r14b + +// CHECK: adcb -64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x12,0x74,0x82,0xc0] +adcb -64(%rdx,%rax,4), %r14b + +// CHECK: adcb 64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x12,0x74,0x82,0x40] +adcb 64(%rdx,%rax,4), %r14b + +// CHECK: adcb 64(%rdx,%rax), %r14b +// CHECK: encoding: [0x44,0x12,0x74,0x02,0x40] +adcb 64(%rdx,%rax), %r14b + +// CHECK: adcb %r14b, 485498096 +// CHECK: encoding: [0x44,0x10,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +adcb %r14b, 485498096 + +// CHECK: adcb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x10,0x72,0x40] +adcb %r14b, 64(%rdx) + +// CHECK: adcb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x10,0x74,0x02,0x40] +adcb %r14b, 64(%rdx,%rax) + +// CHECK: adcb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x10,0x74,0x82,0xc0] +adcb %r14b, -64(%rdx,%rax,4) + +// CHECK: adcb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x10,0x74,0x82,0x40] +adcb %r14b, 64(%rdx,%rax,4) + +// CHECK: adcb %r14b, %r14b +// CHECK: encoding: [0x45,0x10,0xf6] +adcb %r14b, %r14b + +// CHECK: adcb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x10,0x32] +adcb %r14b, (%rdx) + +// CHECK: adcb (%rdx), %r14b +// CHECK: encoding: [0x44,0x12,0x32] +adcb (%rdx), %r14b + +// CHECK: adcl $0, %eax +// CHECK: encoding: [0x83,0xd0,0x00] +adcl $0, %eax + +// CHECK: adcl $0, %r13d +// CHECK: encoding: [0x41,0x83,0xd5,0x00] +adcl $0, %r13d + +// CHECK: adcl %r13d, %r13d +// CHECK: encoding: [0x45,0x11,0xed] +adcl %r13d, %r13d + +// CHECK: addb $0, 485498096 +// CHECK: encoding: [0x80,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +addb $0, 485498096 + +// CHECK: addb $0, 64(%rdx) +// CHECK: encoding: [0x80,0x42,0x40,0x00] +addb $0, 64(%rdx) + +// CHECK: addb $0, 64(%rdx,%rax) +// CHECK: encoding: [0x80,0x44,0x02,0x40,0x00] +addb $0, 64(%rdx,%rax) + +// CHECK: addb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x44,0x82,0xc0,0x00] +addb $0, -64(%rdx,%rax,4) + +// CHECK: addb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x44,0x82,0x40,0x00] +addb $0, 64(%rdx,%rax,4) + +// CHECK: addb $0, %al +// CHECK: encoding: [0x04,0x00] +addb $0, %al + +// CHECK: addb $0, %r14b +// CHECK: encoding: [0x41,0x80,0xc6,0x00] +addb $0, %r14b + +// CHECK: addb $0, (%rdx) +// CHECK: encoding: [0x80,0x02,0x00] +addb $0, (%rdx) + +// CHECK: addb 485498096, %r14b +// CHECK: encoding: [0x44,0x02,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +addb 485498096, %r14b + +// CHECK: addb 64(%rdx), %r14b +// CHECK: encoding: [0x44,0x02,0x72,0x40] +addb 64(%rdx), %r14b + +// CHECK: addb -64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x02,0x74,0x82,0xc0] +addb -64(%rdx,%rax,4), %r14b + +// CHECK: addb 64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x02,0x74,0x82,0x40] +addb 64(%rdx,%rax,4), %r14b + +// CHECK: addb 64(%rdx,%rax), %r14b +// CHECK: encoding: [0x44,0x02,0x74,0x02,0x40] +addb 64(%rdx,%rax), %r14b + +// CHECK: addb %r14b, 485498096 +// CHECK: encoding: [0x44,0x00,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +addb %r14b, 485498096 + +// CHECK: addb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x00,0x72,0x40] +addb %r14b, 64(%rdx) + +// CHECK: addb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x00,0x74,0x02,0x40] +addb %r14b, 64(%rdx,%rax) + +// CHECK: addb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x00,0x74,0x82,0xc0] +addb %r14b, -64(%rdx,%rax,4) + +// CHECK: addb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x00,0x74,0x82,0x40] +addb %r14b, 64(%rdx,%rax,4) + +// CHECK: addb %r14b, %r14b +// CHECK: encoding: [0x45,0x00,0xf6] +addb %r14b, %r14b + +// CHECK: addb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x00,0x32] +addb %r14b, (%rdx) + +// CHECK: addb (%rdx), %r14b +// CHECK: encoding: [0x44,0x02,0x32] +addb (%rdx), %r14b + +// CHECK: addl $0, %eax +// CHECK: encoding: [0x83,0xc0,0x00] +addl $0, %eax + +// CHECK: addl $0, %r13d +// CHECK: encoding: [0x41,0x83,0xc5,0x00] +addl $0, %r13d + +// CHECK: addl %r13d, %r13d +// CHECK: encoding: [0x45,0x01,0xed] +addl %r13d, %r13d + +// CHECK: andb $0, 485498096 +// CHECK: encoding: [0x80,0x24,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +andb $0, 485498096 + +// CHECK: andb $0, 64(%rdx) +// CHECK: encoding: [0x80,0x62,0x40,0x00] +andb $0, 64(%rdx) + +// CHECK: andb $0, 64(%rdx,%rax) +// CHECK: encoding: [0x80,0x64,0x02,0x40,0x00] +andb $0, 64(%rdx,%rax) + +// CHECK: andb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x64,0x82,0xc0,0x00] +andb $0, -64(%rdx,%rax,4) + +// CHECK: andb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x64,0x82,0x40,0x00] +andb $0, 64(%rdx,%rax,4) + +// CHECK: andb $0, %al +// CHECK: encoding: [0x24,0x00] +andb $0, %al + +// CHECK: andb $0, %r14b +// CHECK: encoding: [0x41,0x80,0xe6,0x00] +andb $0, %r14b + +// CHECK: andb $0, (%rdx) +// CHECK: encoding: [0x80,0x22,0x00] +andb $0, (%rdx) + +// CHECK: andb 485498096, %r14b +// CHECK: encoding: [0x44,0x22,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +andb 485498096, %r14b + +// CHECK: andb 64(%rdx), %r14b +// CHECK: encoding: [0x44,0x22,0x72,0x40] +andb 64(%rdx), %r14b + +// CHECK: andb -64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x22,0x74,0x82,0xc0] +andb -64(%rdx,%rax,4), %r14b + +// CHECK: andb 64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x22,0x74,0x82,0x40] +andb 64(%rdx,%rax,4), %r14b + +// CHECK: andb 64(%rdx,%rax), %r14b +// CHECK: encoding: [0x44,0x22,0x74,0x02,0x40] +andb 64(%rdx,%rax), %r14b + +// CHECK: andb %r14b, 485498096 +// CHECK: encoding: [0x44,0x20,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +andb %r14b, 485498096 + +// CHECK: andb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x20,0x72,0x40] +andb %r14b, 64(%rdx) + +// CHECK: andb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x20,0x74,0x02,0x40] +andb %r14b, 64(%rdx,%rax) + +// CHECK: andb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x20,0x74,0x82,0xc0] +andb %r14b, -64(%rdx,%rax,4) + +// CHECK: andb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x20,0x74,0x82,0x40] +andb %r14b, 64(%rdx,%rax,4) + +// CHECK: andb %r14b, %r14b +// CHECK: encoding: [0x45,0x20,0xf6] +andb %r14b, %r14b + +// CHECK: andb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x20,0x32] +andb %r14b, (%rdx) + +// CHECK: andb (%rdx), %r14b +// CHECK: encoding: [0x44,0x22,0x32] +andb (%rdx), %r14b + +// CHECK: andl $0, %eax +// CHECK: encoding: [0x83,0xe0,0x00] +andl $0, %eax + +// CHECK: andl $0, %r13d +// CHECK: encoding: [0x41,0x83,0xe5,0x00] +andl $0, %r13d + +// CHECK: andl %r13d, %r13d +// CHECK: encoding: [0x45,0x21,0xed] +andl %r13d, %r13d + +// CHECK: callq 64 +// CHECK: encoding: [0xe8,A,A,A,A] +callq 64 + +// CHECK: cbtw +// CHECK: encoding: [0x66,0x98] +cbtw + +// CHECK: clc +// CHECK: encoding: [0xf8] +clc + +// CHECK: cld +// CHECK: encoding: [0xfc] +cld + +// CHECK: cli +// CHECK: encoding: [0xfa] +cli + +// CHECK: cmc +// CHECK: encoding: [0xf5] +cmc + +// CHECK: cmpb $0, 485498096 +// CHECK: encoding: [0x80,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +cmpb $0, 485498096 + +// CHECK: cmpb $0, 64(%rdx) +// CHECK: encoding: [0x80,0x7a,0x40,0x00] +cmpb $0, 64(%rdx) + +// CHECK: cmpb $0, 64(%rdx,%rax) +// CHECK: encoding: [0x80,0x7c,0x02,0x40,0x00] +cmpb $0, 64(%rdx,%rax) + +// CHECK: cmpb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x7c,0x82,0xc0,0x00] +cmpb $0, -64(%rdx,%rax,4) + +// CHECK: cmpb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x7c,0x82,0x40,0x00] +cmpb $0, 64(%rdx,%rax,4) + +// CHECK: cmpb $0, %al +// CHECK: encoding: [0x3c,0x00] +cmpb $0, %al + +// CHECK: cmpb $0, %r14b +// CHECK: encoding: [0x41,0x80,0xfe,0x00] +cmpb $0, %r14b + +// CHECK: cmpb $0, (%rdx) +// CHECK: encoding: [0x80,0x3a,0x00] +cmpb $0, (%rdx) + +// CHECK: cmpb 485498096, %r14b +// CHECK: encoding: [0x44,0x3a,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +cmpb 485498096, %r14b + +// CHECK: cmpb 64(%rdx), %r14b +// CHECK: encoding: [0x44,0x3a,0x72,0x40] +cmpb 64(%rdx), %r14b + +// CHECK: cmpb -64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x3a,0x74,0x82,0xc0] +cmpb -64(%rdx,%rax,4), %r14b + +// CHECK: cmpb 64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x3a,0x74,0x82,0x40] +cmpb 64(%rdx,%rax,4), %r14b + +// CHECK: cmpb 64(%rdx,%rax), %r14b +// CHECK: encoding: [0x44,0x3a,0x74,0x02,0x40] +cmpb 64(%rdx,%rax), %r14b + +// CHECK: cmpb %r14b, 485498096 +// CHECK: encoding: [0x44,0x38,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +cmpb %r14b, 485498096 + +// CHECK: cmpb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x38,0x72,0x40] +cmpb %r14b, 64(%rdx) + +// CHECK: cmpb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x38,0x74,0x02,0x40] +cmpb %r14b, 64(%rdx,%rax) + +// CHECK: cmpb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x38,0x74,0x82,0xc0] +cmpb %r14b, -64(%rdx,%rax,4) + +// CHECK: cmpb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x38,0x74,0x82,0x40] +cmpb %r14b, 64(%rdx,%rax,4) + +// CHECK: cmpb %r14b, %r14b +// CHECK: encoding: [0x45,0x38,0xf6] +cmpb %r14b, %r14b + +// CHECK: cmpb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x38,0x32] +cmpb %r14b, (%rdx) + +// CHECK: cmpb (%rdx), %r14b +// CHECK: encoding: [0x44,0x3a,0x32] +cmpb (%rdx), %r14b + +// CHECK: cmpl $0, %eax +// CHECK: encoding: [0x83,0xf8,0x00] +cmpl $0, %eax + +// CHECK: cmpl $0, %r13d +// CHECK: encoding: [0x41,0x83,0xfd,0x00] +cmpl $0, %r13d + +// CHECK: cmpl %r13d, %r13d +// CHECK: encoding: [0x45,0x39,0xed] +cmpl %r13d, %r13d + +// CHECK: cmpsb %es:(%rdi), %gs:(%rsi) +// CHECK: encoding: [0x65,0xa6] +cmpsb %es:(%rdi), %gs:(%rsi) + +// CHECK: cmpsw %es:(%rdi), %gs:(%rsi) +// CHECK: encoding: [0x66,0x65,0xa7] +cmpsw %es:(%rdi), %gs:(%rsi) + +// CHECK: cwtd +// CHECK: encoding: [0x66,0x99] +cwtd + +// CHECK: decb 485498096 +// CHECK: encoding: [0xfe,0x0c,0x25,0xf0,0x1c,0xf0,0x1c] +decb 485498096 + +// CHECK: decb 64(%rdx) +// CHECK: encoding: [0xfe,0x4a,0x40] +decb 64(%rdx) + +// CHECK: decb -64(%rdx,%rax,4) +// CHECK: encoding: [0xfe,0x4c,0x82,0xc0] +decb -64(%rdx,%rax,4) + +// CHECK: decb 64(%rdx,%rax,4) +// CHECK: encoding: [0xfe,0x4c,0x82,0x40] +decb 64(%rdx,%rax,4) + +// CHECK: decb 64(%rdx,%rax) +// CHECK: encoding: [0xfe,0x4c,0x02,0x40] +decb 64(%rdx,%rax) + +// CHECK: decb %r14b +// CHECK: encoding: [0x41,0xfe,0xce] +decb %r14b + +// CHECK: decb (%rdx) +// CHECK: encoding: [0xfe,0x0a] +decb (%rdx) + +// CHECK: decl %r13d +// CHECK: encoding: [0x41,0xff,0xcd] +decl %r13d + +// CHECK: divb 485498096 +// CHECK: encoding: [0xf6,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +divb 485498096 + +// CHECK: divb 64(%rdx) +// CHECK: encoding: [0xf6,0x72,0x40] +divb 64(%rdx) + +// CHECK: divb -64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x74,0x82,0xc0] +divb -64(%rdx,%rax,4) + +// CHECK: divb 64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x74,0x82,0x40] +divb 64(%rdx,%rax,4) + +// CHECK: divb 64(%rdx,%rax) +// CHECK: encoding: [0xf6,0x74,0x02,0x40] +divb 64(%rdx,%rax) + +// CHECK: divb %r14b +// CHECK: encoding: [0x41,0xf6,0xf6] +divb %r14b + +// CHECK: divb (%rdx) +// CHECK: encoding: [0xf6,0x32] +divb (%rdx) + +// CHECK: divl %r13d +// CHECK: encoding: [0x41,0xf7,0xf5] +divl %r13d + +// CHECK: hlt +// CHECK: encoding: [0xf4] +hlt + +// CHECK: idivb 485498096 +// CHECK: encoding: [0xf6,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] +idivb 485498096 + +// CHECK: idivb 64(%rdx) +// CHECK: encoding: [0xf6,0x7a,0x40] +idivb 64(%rdx) + +// CHECK: idivb -64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x7c,0x82,0xc0] +idivb -64(%rdx,%rax,4) + +// CHECK: idivb 64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x7c,0x82,0x40] +idivb 64(%rdx,%rax,4) + +// CHECK: idivb 64(%rdx,%rax) +// CHECK: encoding: [0xf6,0x7c,0x02,0x40] +idivb 64(%rdx,%rax) + +// CHECK: idivb %r14b +// CHECK: encoding: [0x41,0xf6,0xfe] +idivb %r14b + +// CHECK: idivb (%rdx) +// CHECK: encoding: [0xf6,0x3a] +idivb (%rdx) + +// CHECK: idivl %r13d +// CHECK: encoding: [0x41,0xf7,0xfd] +idivl %r13d + +// CHECK: imulb 485498096 +// CHECK: encoding: [0xf6,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] +imulb 485498096 + +// CHECK: imulb 64(%rdx) +// CHECK: encoding: [0xf6,0x6a,0x40] +imulb 64(%rdx) + +// CHECK: imulb -64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x6c,0x82,0xc0] +imulb -64(%rdx,%rax,4) + +// CHECK: imulb 64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x6c,0x82,0x40] +imulb 64(%rdx,%rax,4) + +// CHECK: imulb 64(%rdx,%rax) +// CHECK: encoding: [0xf6,0x6c,0x02,0x40] +imulb 64(%rdx,%rax) + +// CHECK: imulb %r14b +// CHECK: encoding: [0x41,0xf6,0xee] +imulb %r14b + +// CHECK: imulb (%rdx) +// CHECK: encoding: [0xf6,0x2a] +imulb (%rdx) + +// CHECK: imull %r13d +// CHECK: encoding: [0x41,0xf7,0xed] +imull %r13d + +// CHECK: imull %r13d, %r13d +// CHECK: encoding: [0x45,0x0f,0xaf,0xed] +imull %r13d, %r13d + +// CHECK: inb $0, %al +// CHECK: encoding: [0xe4,0x00] +inb $0, %al + +// CHECK: inb %dx, %al +// CHECK: encoding: [0xec] +inb %dx, %al + +// CHECK: incb 485498096 +// CHECK: encoding: [0xfe,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +incb 485498096 + +// CHECK: incb 64(%rdx) +// CHECK: encoding: [0xfe,0x42,0x40] +incb 64(%rdx) + +// CHECK: incb -64(%rdx,%rax,4) +// CHECK: encoding: [0xfe,0x44,0x82,0xc0] +incb -64(%rdx,%rax,4) + +// CHECK: incb 64(%rdx,%rax,4) +// CHECK: encoding: [0xfe,0x44,0x82,0x40] +incb 64(%rdx,%rax,4) + +// CHECK: incb 64(%rdx,%rax) +// CHECK: encoding: [0xfe,0x44,0x02,0x40] +incb 64(%rdx,%rax) + +// CHECK: incb %r14b +// CHECK: encoding: [0x41,0xfe,0xc6] +incb %r14b + +// CHECK: incb (%rdx) +// CHECK: encoding: [0xfe,0x02] +incb (%rdx) + +// CHECK: incl %r13d +// CHECK: encoding: [0x41,0xff,0xc5] +incl %r13d + +// CHECK: inl $0, %eax +// CHECK: encoding: [0xe5,0x00] +inl $0, %eax + +// CHECK: inl %dx, %eax +// CHECK: encoding: [0xed] +inl %dx, %eax + +// CHECK: int $0 +// CHECK: encoding: [0xcd,0x00] +int $0 + +// CHECK: int3 +// CHECK: encoding: [0xcc] +int3 + +// CHECK: iretw +// CHECK: encoding: [0x66,0xcf] +iretw + +// CHECK: ja 64 +// CHECK: encoding: [0x77,A] +ja 64 + +// CHECK: jae 64 +// CHECK: encoding: [0x73,A] +jae 64 + +// CHECK: jb 64 +// CHECK: encoding: [0x72,A] +jb 64 + +// CHECK: jbe 64 +// CHECK: encoding: [0x76,A] +jbe 64 + +// CHECK: je 64 +// CHECK: encoding: [0x74,A] +je 64 + +// CHECK: jg 64 +// CHECK: encoding: [0x7f,A] +jg 64 + +// CHECK: jge 64 +// CHECK: encoding: [0x7d,A] +jge 64 + +// CHECK: jl 64 +// CHECK: encoding: [0x7c,A] +jl 64 + +// CHECK: jle 64 +// CHECK: encoding: [0x7e,A] +jle 64 + +// CHECK: jmp 64 +// CHECK: encoding: [0xeb,A] +jmp 64 + +// CHECK: jne 64 +// CHECK: encoding: [0x75,A] +jne 64 + +// CHECK: jno 64 +// CHECK: encoding: [0x71,A] +jno 64 + +// CHECK: jnp 64 +// CHECK: encoding: [0x7b,A] +jnp 64 + +// CHECK: jns 64 +// CHECK: encoding: [0x79,A] +jns 64 + +// CHECK: jo 64 +// CHECK: encoding: [0x70,A] +jo 64 + +// CHECK: jp 64 +// CHECK: encoding: [0x7a,A] +jp 64 + +// CHECK: js 64 +// CHECK: encoding: [0x78,A] +js 64 + +// CHECK: leal 485498096, %r13d +// CHECK: encoding: [0x44,0x8d,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] +leal 485498096, %r13d + +// CHECK: leal 64(%rdx), %r13d +// CHECK: encoding: [0x44,0x8d,0x6a,0x40] +leal 64(%rdx), %r13d + +// CHECK: leal -64(%rdx,%rax,4), %r13d +// CHECK: encoding: [0x44,0x8d,0x6c,0x82,0xc0] +leal -64(%rdx,%rax,4), %r13d + +// CHECK: leal 64(%rdx,%rax,4), %r13d +// CHECK: encoding: [0x44,0x8d,0x6c,0x82,0x40] +leal 64(%rdx,%rax,4), %r13d + +// CHECK: leal 64(%rdx,%rax), %r13d +// CHECK: encoding: [0x44,0x8d,0x6c,0x02,0x40] +leal 64(%rdx,%rax), %r13d + +// CHECK: leal (%rdx), %r13d +// CHECK: encoding: [0x44,0x8d,0x2a] +leal (%rdx), %r13d + +// CHECK: lodsb %gs:(%rsi), %al +// CHECK: encoding: [0x65,0xac] +lodsb %gs:(%rsi), %al + +// CHECK: lodsw %gs:(%rsi), %ax +// CHECK: encoding: [0x66,0x65,0xad] +lodsw %gs:(%rsi), %ax + +// CHECK: lretl $0 +// CHECK: encoding: [0xca,0x00,0x00] +lretl $0 + +// CHECK: lretl +// CHECK: encoding: [0xcb] +lretl + +// CHECK: movb $0, 485498096 +// CHECK: encoding: [0xc6,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +movb $0, 485498096 + +// CHECK: movb $0, 64(%rdx) +// CHECK: encoding: [0xc6,0x42,0x40,0x00] +movb $0, 64(%rdx) + +// CHECK: movb $0, 64(%rdx,%rax) +// CHECK: encoding: [0xc6,0x44,0x02,0x40,0x00] +movb $0, 64(%rdx,%rax) + +// CHECK: movb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0xc6,0x44,0x82,0xc0,0x00] +movb $0, -64(%rdx,%rax,4) + +// CHECK: movb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0xc6,0x44,0x82,0x40,0x00] +movb $0, 64(%rdx,%rax,4) + +// CHECK: movb $0, %r14b +// CHECK: encoding: [0x41,0xb6,0x00] +movb $0, %r14b + +// CHECK: movb $0, (%rdx) +// CHECK: encoding: [0xc6,0x02,0x00] +movb $0, (%rdx) + +// CHECK: movb 485498096, %r14b +// CHECK: encoding: [0x44,0x8a,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +movb 485498096, %r14b + +// CHECK: movb 64(%rdx), %r14b +// CHECK: encoding: [0x44,0x8a,0x72,0x40] +movb 64(%rdx), %r14b + +// CHECK: movb -64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x8a,0x74,0x82,0xc0] +movb -64(%rdx,%rax,4), %r14b + +// CHECK: movb 64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x8a,0x74,0x82,0x40] +movb 64(%rdx,%rax,4), %r14b + +// CHECK: movb 64(%rdx,%rax), %r14b +// CHECK: encoding: [0x44,0x8a,0x74,0x02,0x40] +movb 64(%rdx,%rax), %r14b + +// CHECK: movb %r14b, 485498096 +// CHECK: encoding: [0x44,0x88,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +movb %r14b, 485498096 + +// CHECK: movb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x88,0x72,0x40] +movb %r14b, 64(%rdx) + +// CHECK: movb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x88,0x74,0x02,0x40] +movb %r14b, 64(%rdx,%rax) + +// CHECK: movb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x88,0x74,0x82,0xc0] +movb %r14b, -64(%rdx,%rax,4) + +// CHECK: movb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x88,0x74,0x82,0x40] +movb %r14b, 64(%rdx,%rax,4) + +// CHECK: movb %r14b, %r14b +// CHECK: encoding: [0x45,0x88,0xf6] +movb %r14b, %r14b + +// CHECK: movb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x88,0x32] +movb %r14b, (%rdx) + +// CHECK: movb (%rdx), %r14b +// CHECK: encoding: [0x44,0x8a,0x32] +movb (%rdx), %r14b + +// CHECK: movl $0, %r13d +// CHECK: encoding: [0x41,0xbd,0x00,0x00,0x00,0x00] +movl $0, %r13d + +// CHECK: movl %es, %r13d +// CHECK: encoding: [0x41,0x8c,0xc5] +movl %es, %r13d + +// CHECK: movl %r11d, %es +// CHECK: encoding: [0x41,0x8e,0xc3] +movl %r11d, %es + +// CHECK: movl %r13d, %r13d +// CHECK: encoding: [0x45,0x89,0xed] +movl %r13d, %r13d + +// CHECK: movsb %gs:(%rsi), %es:(%rdi) +// CHECK: encoding: [0x65,0xa4] +movsb %gs:(%rsi), %es:(%rdi) + +// CHECK: movsw %gs:(%rsi), %es:(%rdi) +// CHECK: encoding: [0x66,0x65,0xa5] +movsw %gs:(%rsi), %es:(%rdi) + +// CHECK: movw 485498096, %es +// CHECK: encoding: [0x8e,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +movw 485498096, %es + +// CHECK: movw 64(%rdx), %es +// CHECK: encoding: [0x8e,0x42,0x40] +movw 64(%rdx), %es + +// CHECK: movw -64(%rdx,%rax,4), %es +// CHECK: encoding: [0x8e,0x44,0x82,0xc0] +movw -64(%rdx,%rax,4), %es + +// CHECK: movw 64(%rdx,%rax,4), %es +// CHECK: encoding: [0x8e,0x44,0x82,0x40] +movw 64(%rdx,%rax,4), %es + +// CHECK: movw 64(%rdx,%rax), %es +// CHECK: encoding: [0x8e,0x44,0x02,0x40] +movw 64(%rdx,%rax), %es + +// CHECK: movw %es, 485498096 +// CHECK: encoding: [0x8c,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +movw %es, 485498096 + +// CHECK: movw %es, 64(%rdx) +// CHECK: encoding: [0x8c,0x42,0x40] +movw %es, 64(%rdx) + +// CHECK: movw %es, 64(%rdx,%rax) +// CHECK: encoding: [0x8c,0x44,0x02,0x40] +movw %es, 64(%rdx,%rax) + +// CHECK: movw %es, -64(%rdx,%rax,4) +// CHECK: encoding: [0x8c,0x44,0x82,0xc0] +movw %es, -64(%rdx,%rax,4) + +// CHECK: movw %es, 64(%rdx,%rax,4) +// CHECK: encoding: [0x8c,0x44,0x82,0x40] +movw %es, 64(%rdx,%rax,4) + +// CHECK: movw %es, (%rdx) +// CHECK: encoding: [0x8c,0x02] +movw %es, (%rdx) + +// CHECK: movw (%rdx), %es +// CHECK: encoding: [0x8e,0x02] +movw (%rdx), %es + +// CHECK: mulb 485498096 +// CHECK: encoding: [0xf6,0x24,0x25,0xf0,0x1c,0xf0,0x1c] +mulb 485498096 + +// CHECK: mulb 64(%rdx) +// CHECK: encoding: [0xf6,0x62,0x40] +mulb 64(%rdx) + +// CHECK: mulb -64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x64,0x82,0xc0] +mulb -64(%rdx,%rax,4) + +// CHECK: mulb 64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x64,0x82,0x40] +mulb 64(%rdx,%rax,4) + +// CHECK: mulb 64(%rdx,%rax) +// CHECK: encoding: [0xf6,0x64,0x02,0x40] +mulb 64(%rdx,%rax) + +// CHECK: mulb %r14b +// CHECK: encoding: [0x41,0xf6,0xe6] +mulb %r14b + +// CHECK: mulb (%rdx) +// CHECK: encoding: [0xf6,0x22] +mulb (%rdx) + +// CHECK: mull %r13d +// CHECK: encoding: [0x41,0xf7,0xe5] +mull %r13d + +// CHECK: negb 485498096 +// CHECK: encoding: [0xf6,0x1c,0x25,0xf0,0x1c,0xf0,0x1c] +negb 485498096 + +// CHECK: negb 64(%rdx) +// CHECK: encoding: [0xf6,0x5a,0x40] +negb 64(%rdx) + +// CHECK: negb -64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x5c,0x82,0xc0] +negb -64(%rdx,%rax,4) + +// CHECK: negb 64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x5c,0x82,0x40] +negb 64(%rdx,%rax,4) + +// CHECK: negb 64(%rdx,%rax) +// CHECK: encoding: [0xf6,0x5c,0x02,0x40] +negb 64(%rdx,%rax) + +// CHECK: negb %r14b +// CHECK: encoding: [0x41,0xf6,0xde] +negb %r14b + +// CHECK: negb (%rdx) +// CHECK: encoding: [0xf6,0x1a] +negb (%rdx) + +// CHECK: negl %r13d +// CHECK: encoding: [0x41,0xf7,0xdd] +negl %r13d + +// CHECK: nop +// CHECK: encoding: [0x90] +nop + +// CHECK: notb 485498096 +// CHECK: encoding: [0xf6,0x14,0x25,0xf0,0x1c,0xf0,0x1c] +notb 485498096 + +// CHECK: notb 64(%rdx) +// CHECK: encoding: [0xf6,0x52,0x40] +notb 64(%rdx) + +// CHECK: notb -64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x54,0x82,0xc0] +notb -64(%rdx,%rax,4) + +// CHECK: notb 64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x54,0x82,0x40] +notb 64(%rdx,%rax,4) + +// CHECK: notb 64(%rdx,%rax) +// CHECK: encoding: [0xf6,0x54,0x02,0x40] +notb 64(%rdx,%rax) + +// CHECK: notb %r14b +// CHECK: encoding: [0x41,0xf6,0xd6] +notb %r14b + +// CHECK: notb (%rdx) +// CHECK: encoding: [0xf6,0x12] +notb (%rdx) + +// CHECK: notl %r13d +// CHECK: encoding: [0x41,0xf7,0xd5] +notl %r13d + +// CHECK: orb $0, 485498096 +// CHECK: encoding: [0x80,0x0c,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +orb $0, 485498096 + +// CHECK: orb $0, 64(%rdx) +// CHECK: encoding: [0x80,0x4a,0x40,0x00] +orb $0, 64(%rdx) + +// CHECK: orb $0, 64(%rdx,%rax) +// CHECK: encoding: [0x80,0x4c,0x02,0x40,0x00] +orb $0, 64(%rdx,%rax) + +// CHECK: orb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x4c,0x82,0xc0,0x00] +orb $0, -64(%rdx,%rax,4) + +// CHECK: orb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x4c,0x82,0x40,0x00] +orb $0, 64(%rdx,%rax,4) + +// CHECK: orb $0, %al +// CHECK: encoding: [0x0c,0x00] +orb $0, %al + +// CHECK: orb $0, %r14b +// CHECK: encoding: [0x41,0x80,0xce,0x00] +orb $0, %r14b + +// CHECK: orb $0, (%rdx) +// CHECK: encoding: [0x80,0x0a,0x00] +orb $0, (%rdx) + +// CHECK: orb 485498096, %r14b +// CHECK: encoding: [0x44,0x0a,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +orb 485498096, %r14b + +// CHECK: orb 64(%rdx), %r14b +// CHECK: encoding: [0x44,0x0a,0x72,0x40] +orb 64(%rdx), %r14b + +// CHECK: orb -64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x0a,0x74,0x82,0xc0] +orb -64(%rdx,%rax,4), %r14b + +// CHECK: orb 64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x0a,0x74,0x82,0x40] +orb 64(%rdx,%rax,4), %r14b + +// CHECK: orb 64(%rdx,%rax), %r14b +// CHECK: encoding: [0x44,0x0a,0x74,0x02,0x40] +orb 64(%rdx,%rax), %r14b + +// CHECK: orb %r14b, 485498096 +// CHECK: encoding: [0x44,0x08,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +orb %r14b, 485498096 + +// CHECK: orb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x08,0x72,0x40] +orb %r14b, 64(%rdx) + +// CHECK: orb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x08,0x74,0x02,0x40] +orb %r14b, 64(%rdx,%rax) + +// CHECK: orb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x08,0x74,0x82,0xc0] +orb %r14b, -64(%rdx,%rax,4) + +// CHECK: orb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x08,0x74,0x82,0x40] +orb %r14b, 64(%rdx,%rax,4) + +// CHECK: orb %r14b, %r14b +// CHECK: encoding: [0x45,0x08,0xf6] +orb %r14b, %r14b + +// CHECK: orb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x08,0x32] +orb %r14b, (%rdx) + +// CHECK: orb (%rdx), %r14b +// CHECK: encoding: [0x44,0x0a,0x32] +orb (%rdx), %r14b + +// CHECK: orl $0, %eax +// CHECK: encoding: [0x83,0xc8,0x00] +orl $0, %eax + +// CHECK: orl $0, %r13d +// CHECK: encoding: [0x41,0x83,0xcd,0x00] +orl $0, %r13d + +// CHECK: orl %r13d, %r13d +// CHECK: encoding: [0x45,0x09,0xed] +orl %r13d, %r13d + +// CHECK: outb %al, $0 +// CHECK: encoding: [0xe6,0x00] +outb %al, $0 + +// CHECK: outb %al, %dx +// CHECK: encoding: [0xee] +outb %al, %dx + +// CHECK: outl %eax, $0 +// CHECK: encoding: [0xe7,0x00] +outl %eax, $0 + +// CHECK: outl %eax, %dx +// CHECK: encoding: [0xef] +outl %eax, %dx + +// CHECK: pause +// CHECK: encoding: [0xf3,0x90] +pause + +// CHECK: popfw +// CHECK: encoding: [0x66,0x9d] +popfw + +// CHECK: pushfw +// CHECK: encoding: [0x66,0x9c] +pushfw + +// CHECK: rclb 485498096 +// CHECK: encoding: [0xd0,0x14,0x25,0xf0,0x1c,0xf0,0x1c] +rclb 485498096 + +// CHECK: rclb 64(%rdx) +// CHECK: encoding: [0xd0,0x52,0x40] +rclb 64(%rdx) + +// CHECK: rclb -64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x54,0x82,0xc0] +rclb -64(%rdx,%rax,4) + +// CHECK: rclb 64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x54,0x82,0x40] +rclb 64(%rdx,%rax,4) + +// CHECK: rclb 64(%rdx,%rax) +// CHECK: encoding: [0xd0,0x54,0x02,0x40] +rclb 64(%rdx,%rax) + +// CHECK: rclb %cl, 485498096 +// CHECK: encoding: [0xd2,0x14,0x25,0xf0,0x1c,0xf0,0x1c] +rclb %cl, 485498096 + +// CHECK: rclb %cl, 64(%rdx) +// CHECK: encoding: [0xd2,0x52,0x40] +rclb %cl, 64(%rdx) + +// CHECK: rclb %cl, 64(%rdx,%rax) +// CHECK: encoding: [0xd2,0x54,0x02,0x40] +rclb %cl, 64(%rdx,%rax) + +// CHECK: rclb %cl, -64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x54,0x82,0xc0] +rclb %cl, -64(%rdx,%rax,4) + +// CHECK: rclb %cl, 64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x54,0x82,0x40] +rclb %cl, 64(%rdx,%rax,4) + +// CHECK: rclb %cl, %r14b +// CHECK: encoding: [0x41,0xd2,0xd6] +rclb %cl, %r14b + +// CHECK: rclb %cl, (%rdx) +// CHECK: encoding: [0xd2,0x12] +rclb %cl, (%rdx) + +// CHECK: rclb %r14b +// CHECK: encoding: [0x41,0xd0,0xd6] +rclb %r14b + +// CHECK: rclb (%rdx) +// CHECK: encoding: [0xd0,0x12] +rclb (%rdx) + +// CHECK: rcll %cl, %r13d +// CHECK: encoding: [0x41,0xd3,0xd5] +rcll %cl, %r13d + +// CHECK: rcll %r13d +// CHECK: encoding: [0x41,0xd1,0xd5] +rcll %r13d + +// CHECK: rcrb 485498096 +// CHECK: encoding: [0xd0,0x1c,0x25,0xf0,0x1c,0xf0,0x1c] +rcrb 485498096 + +// CHECK: rcrb 64(%rdx) +// CHECK: encoding: [0xd0,0x5a,0x40] +rcrb 64(%rdx) + +// CHECK: rcrb -64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x5c,0x82,0xc0] +rcrb -64(%rdx,%rax,4) + +// CHECK: rcrb 64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x5c,0x82,0x40] +rcrb 64(%rdx,%rax,4) + +// CHECK: rcrb 64(%rdx,%rax) +// CHECK: encoding: [0xd0,0x5c,0x02,0x40] +rcrb 64(%rdx,%rax) + +// CHECK: rcrb %cl, 485498096 +// CHECK: encoding: [0xd2,0x1c,0x25,0xf0,0x1c,0xf0,0x1c] +rcrb %cl, 485498096 + +// CHECK: rcrb %cl, 64(%rdx) +// CHECK: encoding: [0xd2,0x5a,0x40] +rcrb %cl, 64(%rdx) + +// CHECK: rcrb %cl, 64(%rdx,%rax) +// CHECK: encoding: [0xd2,0x5c,0x02,0x40] +rcrb %cl, 64(%rdx,%rax) + +// CHECK: rcrb %cl, -64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x5c,0x82,0xc0] +rcrb %cl, -64(%rdx,%rax,4) + +// CHECK: rcrb %cl, 64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x5c,0x82,0x40] +rcrb %cl, 64(%rdx,%rax,4) + +// CHECK: rcrb %cl, %r14b +// CHECK: encoding: [0x41,0xd2,0xde] +rcrb %cl, %r14b + +// CHECK: rcrb %cl, (%rdx) +// CHECK: encoding: [0xd2,0x1a] +rcrb %cl, (%rdx) + +// CHECK: rcrb %r14b +// CHECK: encoding: [0x41,0xd0,0xde] +rcrb %r14b + +// CHECK: rcrb (%rdx) +// CHECK: encoding: [0xd0,0x1a] +rcrb (%rdx) + +// CHECK: rcrl %cl, %r13d +// CHECK: encoding: [0x41,0xd3,0xdd] +rcrl %cl, %r13d + +// CHECK: rcrl %r13d +// CHECK: encoding: [0x41,0xd1,0xdd] +rcrl %r13d + +// CHECK: rep cmpsb %es:(%rdi), %gs:(%rsi) +// CHECK: encoding: [0xf3,0x65,0xa6] +rep cmpsb %es:(%rdi), %gs:(%rsi) + +// CHECK: rep cmpsw %es:(%rdi), %gs:(%rsi) +// CHECK: encoding: [0xf3,0x66,0x65,0xa7] +rep cmpsw %es:(%rdi), %gs:(%rsi) + +// CHECK: rep lodsb %gs:(%rsi), %al +// CHECK: encoding: [0xf3,0x65,0xac] +rep lodsb %gs:(%rsi), %al + +// CHECK: rep lodsw %gs:(%rsi), %ax +// CHECK: encoding: [0xf3,0x66,0x65,0xad] +rep lodsw %gs:(%rsi), %ax + +// CHECK: rep movsb %gs:(%rsi), %es:(%rdi) +// CHECK: encoding: [0xf3,0x65,0xa4] +rep movsb %gs:(%rsi), %es:(%rdi) + +// CHECK: rep movsw %gs:(%rsi), %es:(%rdi) +// CHECK: encoding: [0xf3,0x66,0x65,0xa5] +rep movsw %gs:(%rsi), %es:(%rdi) + +// CHECK: repne cmpsb %es:(%rdi), %gs:(%rsi) +// CHECK: encoding: [0xf2,0x65,0xa6] +repne cmpsb %es:(%rdi), %gs:(%rsi) + +// CHECK: repne cmpsw %es:(%rdi), %gs:(%rsi) +// CHECK: encoding: [0xf2,0x66,0x65,0xa7] +repne cmpsw %es:(%rdi), %gs:(%rsi) + +// CHECK: repne lodsb %gs:(%rsi), %al +// CHECK: encoding: [0xf2,0x65,0xac] +repne lodsb %gs:(%rsi), %al + +// CHECK: repne lodsw %gs:(%rsi), %ax +// CHECK: encoding: [0xf2,0x66,0x65,0xad] +repne lodsw %gs:(%rsi), %ax + +// CHECK: repne movsb %gs:(%rsi), %es:(%rdi) +// CHECK: encoding: [0xf2,0x65,0xa4] +repne movsb %gs:(%rsi), %es:(%rdi) + +// CHECK: repne movsw %gs:(%rsi), %es:(%rdi) +// CHECK: encoding: [0xf2,0x66,0x65,0xa5] +repne movsw %gs:(%rsi), %es:(%rdi) + +// CHECK: repne scasb %es:(%rdi), %al +// CHECK: encoding: [0xf2,0xae] +repne scasb %es:(%rdi), %al + +// CHECK: repne scasw %es:(%rdi), %ax +// CHECK: encoding: [0xf2,0x66,0xaf] +repne scasw %es:(%rdi), %ax + +// CHECK: repne stosb %al, %es:(%rdi) +// CHECK: encoding: [0xf2,0xaa] +repne stosb %al, %es:(%rdi) + +// CHECK: repne stosw %ax, %es:(%rdi) +// CHECK: encoding: [0xf2,0x66,0xab] +repne stosw %ax, %es:(%rdi) + +// CHECK: rep scasb %es:(%rdi), %al +// CHECK: encoding: [0xf3,0xae] +rep scasb %es:(%rdi), %al + +// CHECK: rep scasw %es:(%rdi), %ax +// CHECK: encoding: [0xf3,0x66,0xaf] +rep scasw %es:(%rdi), %ax + +// CHECK: rep stosb %al, %es:(%rdi) +// CHECK: encoding: [0xf3,0xaa] +rep stosb %al, %es:(%rdi) + +// CHECK: rep stosw %ax, %es:(%rdi) +// CHECK: encoding: [0xf3,0x66,0xab] +rep stosw %ax, %es:(%rdi) + +// CHECK: rolb 485498096 +// CHECK: encoding: [0xd0,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +rolb 485498096 + +// CHECK: rolb 64(%rdx) +// CHECK: encoding: [0xd0,0x42,0x40] +rolb 64(%rdx) + +// CHECK: rolb -64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x44,0x82,0xc0] +rolb -64(%rdx,%rax,4) + +// CHECK: rolb 64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x44,0x82,0x40] +rolb 64(%rdx,%rax,4) + +// CHECK: rolb 64(%rdx,%rax) +// CHECK: encoding: [0xd0,0x44,0x02,0x40] +rolb 64(%rdx,%rax) + +// CHECK: rolb %cl, 485498096 +// CHECK: encoding: [0xd2,0x04,0x25,0xf0,0x1c,0xf0,0x1c] +rolb %cl, 485498096 + +// CHECK: rolb %cl, 64(%rdx) +// CHECK: encoding: [0xd2,0x42,0x40] +rolb %cl, 64(%rdx) + +// CHECK: rolb %cl, 64(%rdx,%rax) +// CHECK: encoding: [0xd2,0x44,0x02,0x40] +rolb %cl, 64(%rdx,%rax) + +// CHECK: rolb %cl, -64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x44,0x82,0xc0] +rolb %cl, -64(%rdx,%rax,4) + +// CHECK: rolb %cl, 64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x44,0x82,0x40] +rolb %cl, 64(%rdx,%rax,4) + +// CHECK: rolb %cl, %r14b +// CHECK: encoding: [0x41,0xd2,0xc6] +rolb %cl, %r14b + +// CHECK: rolb %cl, (%rdx) +// CHECK: encoding: [0xd2,0x02] +rolb %cl, (%rdx) + +// CHECK: rolb %r14b +// CHECK: encoding: [0x41,0xd0,0xc6] +rolb %r14b + +// CHECK: rolb (%rdx) +// CHECK: encoding: [0xd0,0x02] +rolb (%rdx) + +// CHECK: roll %cl, %r13d +// CHECK: encoding: [0x41,0xd3,0xc5] +roll %cl, %r13d + +// CHECK: roll %r13d +// CHECK: encoding: [0x41,0xd1,0xc5] +roll %r13d + +// CHECK: rorb 485498096 +// CHECK: encoding: [0xd0,0x0c,0x25,0xf0,0x1c,0xf0,0x1c] +rorb 485498096 + +// CHECK: rorb 64(%rdx) +// CHECK: encoding: [0xd0,0x4a,0x40] +rorb 64(%rdx) + +// CHECK: rorb -64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x4c,0x82,0xc0] +rorb -64(%rdx,%rax,4) + +// CHECK: rorb 64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x4c,0x82,0x40] +rorb 64(%rdx,%rax,4) + +// CHECK: rorb 64(%rdx,%rax) +// CHECK: encoding: [0xd0,0x4c,0x02,0x40] +rorb 64(%rdx,%rax) + +// CHECK: rorb %cl, 485498096 +// CHECK: encoding: [0xd2,0x0c,0x25,0xf0,0x1c,0xf0,0x1c] +rorb %cl, 485498096 + +// CHECK: rorb %cl, 64(%rdx) +// CHECK: encoding: [0xd2,0x4a,0x40] +rorb %cl, 64(%rdx) + +// CHECK: rorb %cl, 64(%rdx,%rax) +// CHECK: encoding: [0xd2,0x4c,0x02,0x40] +rorb %cl, 64(%rdx,%rax) + +// CHECK: rorb %cl, -64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x4c,0x82,0xc0] +rorb %cl, -64(%rdx,%rax,4) + +// CHECK: rorb %cl, 64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x4c,0x82,0x40] +rorb %cl, 64(%rdx,%rax,4) + +// CHECK: rorb %cl, %r14b +// CHECK: encoding: [0x41,0xd2,0xce] +rorb %cl, %r14b + +// CHECK: rorb %cl, (%rdx) +// CHECK: encoding: [0xd2,0x0a] +rorb %cl, (%rdx) + +// CHECK: rorb %r14b +// CHECK: encoding: [0x41,0xd0,0xce] +rorb %r14b + +// CHECK: rorb (%rdx) +// CHECK: encoding: [0xd0,0x0a] +rorb (%rdx) + +// CHECK: rorl %cl, %r13d +// CHECK: encoding: [0x41,0xd3,0xcd] +rorl %cl, %r13d + +// CHECK: rorl %r13d +// CHECK: encoding: [0x41,0xd1,0xcd] +rorl %r13d + +// CHECK: sarb 485498096 +// CHECK: encoding: [0xd0,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] +sarb 485498096 + +// CHECK: sarb 64(%rdx) +// CHECK: encoding: [0xd0,0x7a,0x40] +sarb 64(%rdx) + +// CHECK: sarb -64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x7c,0x82,0xc0] +sarb -64(%rdx,%rax,4) + +// CHECK: sarb 64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x7c,0x82,0x40] +sarb 64(%rdx,%rax,4) + +// CHECK: sarb 64(%rdx,%rax) +// CHECK: encoding: [0xd0,0x7c,0x02,0x40] +sarb 64(%rdx,%rax) + +// CHECK: sarb %cl, 485498096 +// CHECK: encoding: [0xd2,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] +sarb %cl, 485498096 + +// CHECK: sarb %cl, 64(%rdx) +// CHECK: encoding: [0xd2,0x7a,0x40] +sarb %cl, 64(%rdx) + +// CHECK: sarb %cl, 64(%rdx,%rax) +// CHECK: encoding: [0xd2,0x7c,0x02,0x40] +sarb %cl, 64(%rdx,%rax) + +// CHECK: sarb %cl, -64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x7c,0x82,0xc0] +sarb %cl, -64(%rdx,%rax,4) + +// CHECK: sarb %cl, 64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x7c,0x82,0x40] +sarb %cl, 64(%rdx,%rax,4) + +// CHECK: sarb %cl, %r14b +// CHECK: encoding: [0x41,0xd2,0xfe] +sarb %cl, %r14b + +// CHECK: sarb %cl, (%rdx) +// CHECK: encoding: [0xd2,0x3a] +sarb %cl, (%rdx) + +// CHECK: sarb %r14b +// CHECK: encoding: [0x41,0xd0,0xfe] +sarb %r14b + +// CHECK: sarb (%rdx) +// CHECK: encoding: [0xd0,0x3a] +sarb (%rdx) + +// CHECK: sarl %cl, %r13d +// CHECK: encoding: [0x41,0xd3,0xfd] +sarl %cl, %r13d + +// CHECK: sarl %r13d +// CHECK: encoding: [0x41,0xd1,0xfd] +sarl %r13d + +// CHECK: sbbb $0, 485498096 +// CHECK: encoding: [0x80,0x1c,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +sbbb $0, 485498096 + +// CHECK: sbbb $0, 64(%rdx) +// CHECK: encoding: [0x80,0x5a,0x40,0x00] +sbbb $0, 64(%rdx) + +// CHECK: sbbb $0, 64(%rdx,%rax) +// CHECK: encoding: [0x80,0x5c,0x02,0x40,0x00] +sbbb $0, 64(%rdx,%rax) + +// CHECK: sbbb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x5c,0x82,0xc0,0x00] +sbbb $0, -64(%rdx,%rax,4) + +// CHECK: sbbb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x5c,0x82,0x40,0x00] +sbbb $0, 64(%rdx,%rax,4) + +// CHECK: sbbb $0, %al +// CHECK: encoding: [0x1c,0x00] +sbbb $0, %al + +// CHECK: sbbb $0, %r14b +// CHECK: encoding: [0x41,0x80,0xde,0x00] +sbbb $0, %r14b + +// CHECK: sbbb $0, (%rdx) +// CHECK: encoding: [0x80,0x1a,0x00] +sbbb $0, (%rdx) + +// CHECK: sbbb 485498096, %r14b +// CHECK: encoding: [0x44,0x1a,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +sbbb 485498096, %r14b + +// CHECK: sbbb 64(%rdx), %r14b +// CHECK: encoding: [0x44,0x1a,0x72,0x40] +sbbb 64(%rdx), %r14b + +// CHECK: sbbb -64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x1a,0x74,0x82,0xc0] +sbbb -64(%rdx,%rax,4), %r14b + +// CHECK: sbbb 64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x1a,0x74,0x82,0x40] +sbbb 64(%rdx,%rax,4), %r14b + +// CHECK: sbbb 64(%rdx,%rax), %r14b +// CHECK: encoding: [0x44,0x1a,0x74,0x02,0x40] +sbbb 64(%rdx,%rax), %r14b + +// CHECK: sbbb %r14b, 485498096 +// CHECK: encoding: [0x44,0x18,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +sbbb %r14b, 485498096 + +// CHECK: sbbb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x18,0x72,0x40] +sbbb %r14b, 64(%rdx) + +// CHECK: sbbb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x18,0x74,0x02,0x40] +sbbb %r14b, 64(%rdx,%rax) + +// CHECK: sbbb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x18,0x74,0x82,0xc0] +sbbb %r14b, -64(%rdx,%rax,4) + +// CHECK: sbbb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x18,0x74,0x82,0x40] +sbbb %r14b, 64(%rdx,%rax,4) + +// CHECK: sbbb %r14b, %r14b +// CHECK: encoding: [0x45,0x18,0xf6] +sbbb %r14b, %r14b + +// CHECK: sbbb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x18,0x32] +sbbb %r14b, (%rdx) + +// CHECK: sbbb (%rdx), %r14b +// CHECK: encoding: [0x44,0x1a,0x32] +sbbb (%rdx), %r14b + +// CHECK: sbbl $0, %eax +// CHECK: encoding: [0x83,0xd8,0x00] +sbbl $0, %eax + +// CHECK: sbbl $0, %r13d +// CHECK: encoding: [0x41,0x83,0xdd,0x00] +sbbl $0, %r13d + +// CHECK: sbbl %r13d, %r13d +// CHECK: encoding: [0x45,0x19,0xed] +sbbl %r13d, %r13d + +// CHECK: scasb %es:(%rdi), %al +// CHECK: encoding: [0xae] +scasb %es:(%rdi), %al + +// CHECK: scasw %es:(%rdi), %ax +// CHECK: encoding: [0x66,0xaf] +scasw %es:(%rdi), %ax + +// CHECK: shlb 485498096 +// CHECK: encoding: [0xd0,0x24,0x25,0xf0,0x1c,0xf0,0x1c] +shlb 485498096 + +// CHECK: shlb 64(%rdx) +// CHECK: encoding: [0xd0,0x62,0x40] +shlb 64(%rdx) + +// CHECK: shlb -64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x64,0x82,0xc0] +shlb -64(%rdx,%rax,4) + +// CHECK: shlb 64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x64,0x82,0x40] +shlb 64(%rdx,%rax,4) + +// CHECK: shlb 64(%rdx,%rax) +// CHECK: encoding: [0xd0,0x64,0x02,0x40] +shlb 64(%rdx,%rax) + +// CHECK: shlb %cl, 485498096 +// CHECK: encoding: [0xd2,0x24,0x25,0xf0,0x1c,0xf0,0x1c] +shlb %cl, 485498096 + +// CHECK: shlb %cl, 64(%rdx) +// CHECK: encoding: [0xd2,0x62,0x40] +shlb %cl, 64(%rdx) + +// CHECK: shlb %cl, 64(%rdx,%rax) +// CHECK: encoding: [0xd2,0x64,0x02,0x40] +shlb %cl, 64(%rdx,%rax) + +// CHECK: shlb %cl, -64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x64,0x82,0xc0] +shlb %cl, -64(%rdx,%rax,4) + +// CHECK: shlb %cl, 64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x64,0x82,0x40] +shlb %cl, 64(%rdx,%rax,4) + +// CHECK: shlb %cl, %r14b +// CHECK: encoding: [0x41,0xd2,0xe6] +shlb %cl, %r14b + +// CHECK: shlb %cl, (%rdx) +// CHECK: encoding: [0xd2,0x22] +shlb %cl, (%rdx) + +// CHECK: shlb %r14b +// CHECK: encoding: [0x41,0xd0,0xe6] +shlb %r14b + +// CHECK: shlb (%rdx) +// CHECK: encoding: [0xd0,0x22] +shlb (%rdx) + +// CHECK: shll %cl, %r13d +// CHECK: encoding: [0x41,0xd3,0xe5] +shll %cl, %r13d + +// CHECK: shll %r13d +// CHECK: encoding: [0x41,0xd1,0xe5] +shll %r13d + +// CHECK: shrb 485498096 +// CHECK: encoding: [0xd0,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] +shrb 485498096 + +// CHECK: shrb 64(%rdx) +// CHECK: encoding: [0xd0,0x6a,0x40] +shrb 64(%rdx) + +// CHECK: shrb -64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x6c,0x82,0xc0] +shrb -64(%rdx,%rax,4) + +// CHECK: shrb 64(%rdx,%rax,4) +// CHECK: encoding: [0xd0,0x6c,0x82,0x40] +shrb 64(%rdx,%rax,4) + +// CHECK: shrb 64(%rdx,%rax) +// CHECK: encoding: [0xd0,0x6c,0x02,0x40] +shrb 64(%rdx,%rax) + +// CHECK: shrb %cl, 485498096 +// CHECK: encoding: [0xd2,0x2c,0x25,0xf0,0x1c,0xf0,0x1c] +shrb %cl, 485498096 + +// CHECK: shrb %cl, 64(%rdx) +// CHECK: encoding: [0xd2,0x6a,0x40] +shrb %cl, 64(%rdx) + +// CHECK: shrb %cl, 64(%rdx,%rax) +// CHECK: encoding: [0xd2,0x6c,0x02,0x40] +shrb %cl, 64(%rdx,%rax) + +// CHECK: shrb %cl, -64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x6c,0x82,0xc0] +shrb %cl, -64(%rdx,%rax,4) + +// CHECK: shrb %cl, 64(%rdx,%rax,4) +// CHECK: encoding: [0xd2,0x6c,0x82,0x40] +shrb %cl, 64(%rdx,%rax,4) + +// CHECK: shrb %cl, %r14b +// CHECK: encoding: [0x41,0xd2,0xee] +shrb %cl, %r14b + +// CHECK: shrb %cl, (%rdx) +// CHECK: encoding: [0xd2,0x2a] +shrb %cl, (%rdx) + +// CHECK: shrb %r14b +// CHECK: encoding: [0x41,0xd0,0xee] +shrb %r14b + +// CHECK: shrb (%rdx) +// CHECK: encoding: [0xd0,0x2a] +shrb (%rdx) + +// CHECK: shrl %cl, %r13d +// CHECK: encoding: [0x41,0xd3,0xed] +shrl %cl, %r13d + +// CHECK: shrl %r13d +// CHECK: encoding: [0x41,0xd1,0xed] +shrl %r13d + +// CHECK: stc +// CHECK: encoding: [0xf9] +stc + +// CHECK: std +// CHECK: encoding: [0xfd] +std + +// CHECK: sti +// CHECK: encoding: [0xfb] +sti + +// CHECK: stosb %al, %es:(%rdi) +// CHECK: encoding: [0xaa] +stosb %al, %es:(%rdi) + +// CHECK: stosw %ax, %es:(%rdi) +// CHECK: encoding: [0x66,0xab] +stosw %ax, %es:(%rdi) + +// CHECK: subb $0, 485498096 +// CHECK: encoding: [0x80,0x2c,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +subb $0, 485498096 + +// CHECK: subb $0, 64(%rdx) +// CHECK: encoding: [0x80,0x6a,0x40,0x00] +subb $0, 64(%rdx) + +// CHECK: subb $0, 64(%rdx,%rax) +// CHECK: encoding: [0x80,0x6c,0x02,0x40,0x00] +subb $0, 64(%rdx,%rax) + +// CHECK: subb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x6c,0x82,0xc0,0x00] +subb $0, -64(%rdx,%rax,4) + +// CHECK: subb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x6c,0x82,0x40,0x00] +subb $0, 64(%rdx,%rax,4) + +// CHECK: subb $0, %al +// CHECK: encoding: [0x2c,0x00] +subb $0, %al + +// CHECK: subb $0, %r14b +// CHECK: encoding: [0x41,0x80,0xee,0x00] +subb $0, %r14b + +// CHECK: subb $0, (%rdx) +// CHECK: encoding: [0x80,0x2a,0x00] +subb $0, (%rdx) + +// CHECK: subb 485498096, %r14b +// CHECK: encoding: [0x44,0x2a,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +subb 485498096, %r14b + +// CHECK: subb 64(%rdx), %r14b +// CHECK: encoding: [0x44,0x2a,0x72,0x40] +subb 64(%rdx), %r14b + +// CHECK: subb -64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x2a,0x74,0x82,0xc0] +subb -64(%rdx,%rax,4), %r14b + +// CHECK: subb 64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x2a,0x74,0x82,0x40] +subb 64(%rdx,%rax,4), %r14b + +// CHECK: subb 64(%rdx,%rax), %r14b +// CHECK: encoding: [0x44,0x2a,0x74,0x02,0x40] +subb 64(%rdx,%rax), %r14b + +// CHECK: subb %r14b, 485498096 +// CHECK: encoding: [0x44,0x28,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +subb %r14b, 485498096 + +// CHECK: subb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x28,0x72,0x40] +subb %r14b, 64(%rdx) + +// CHECK: subb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x28,0x74,0x02,0x40] +subb %r14b, 64(%rdx,%rax) + +// CHECK: subb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x28,0x74,0x82,0xc0] +subb %r14b, -64(%rdx,%rax,4) + +// CHECK: subb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x28,0x74,0x82,0x40] +subb %r14b, 64(%rdx,%rax,4) + +// CHECK: subb %r14b, %r14b +// CHECK: encoding: [0x45,0x28,0xf6] +subb %r14b, %r14b + +// CHECK: subb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x28,0x32] +subb %r14b, (%rdx) + +// CHECK: subb (%rdx), %r14b +// CHECK: encoding: [0x44,0x2a,0x32] +subb (%rdx), %r14b + +// CHECK: subl $0, %eax +// CHECK: encoding: [0x83,0xe8,0x00] +subl $0, %eax + +// CHECK: subl $0, %r13d +// CHECK: encoding: [0x41,0x83,0xed,0x00] +subl $0, %r13d + +// CHECK: subl %r13d, %r13d +// CHECK: encoding: [0x45,0x29,0xed] +subl %r13d, %r13d + +// CHECK: testb $0, 485498096 +// CHECK: encoding: [0xf6,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +testb $0, 485498096 + +// CHECK: testb $0, 64(%rdx) +// CHECK: encoding: [0xf6,0x42,0x40,0x00] +testb $0, 64(%rdx) + +// CHECK: testb $0, 64(%rdx,%rax) +// CHECK: encoding: [0xf6,0x44,0x02,0x40,0x00] +testb $0, 64(%rdx,%rax) + +// CHECK: testb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x44,0x82,0xc0,0x00] +testb $0, -64(%rdx,%rax,4) + +// CHECK: testb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0xf6,0x44,0x82,0x40,0x00] +testb $0, 64(%rdx,%rax,4) + +// CHECK: testb $0, %al +// CHECK: encoding: [0xa8,0x00] +testb $0, %al + +// CHECK: testb $0, %r14b +// CHECK: encoding: [0x41,0xf6,0xc6,0x00] +testb $0, %r14b + +// CHECK: testb $0, (%rdx) +// CHECK: encoding: [0xf6,0x02,0x00] +testb $0, (%rdx) + +// CHECK: testb %r14b, 485498096 +// CHECK: encoding: [0x44,0x84,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +testb %r14b, 485498096 + +// CHECK: testb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x84,0x72,0x40] +testb %r14b, 64(%rdx) + +// CHECK: testb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x84,0x74,0x02,0x40] +testb %r14b, 64(%rdx,%rax) + +// CHECK: testb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x84,0x74,0x82,0xc0] +testb %r14b, -64(%rdx,%rax,4) + +// CHECK: testb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x84,0x74,0x82,0x40] +testb %r14b, 64(%rdx,%rax,4) + +// CHECK: testb %r14b, %r14b +// CHECK: encoding: [0x45,0x84,0xf6] +testb %r14b, %r14b + +// CHECK: testb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x84,0x32] +testb %r14b, (%rdx) + +// CHECK: testl $0, %eax +// CHECK: encoding: [0xa9,0x00,0x00,0x00,0x00] +testl $0, %eax + +// CHECK: testl $0, %r13d +// CHECK: encoding: [0x41,0xf7,0xc5,0x00,0x00,0x00,0x00] +testl $0, %r13d + +// CHECK: testl %r13d, %r13d +// CHECK: encoding: [0x45,0x85,0xed] +testl %r13d, %r13d + +// CHECK: xchgb %r14b, 485498096 +// CHECK: encoding: [0x44,0x86,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +xchgb %r14b, 485498096 + +// CHECK: xchgb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x86,0x72,0x40] +xchgb %r14b, 64(%rdx) + +// CHECK: xchgb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x86,0x74,0x02,0x40] +xchgb %r14b, 64(%rdx,%rax) + +// CHECK: xchgb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x86,0x74,0x82,0xc0] +xchgb %r14b, -64(%rdx,%rax,4) + +// CHECK: xchgb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x86,0x74,0x82,0x40] +xchgb %r14b, 64(%rdx,%rax,4) + +// CHECK: xchgb %r14b, %r14b +// CHECK: encoding: [0x45,0x86,0xf6] +xchgb %r14b, %r14b + +// CHECK: xchgb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x86,0x32] +xchgb %r14b, (%rdx) + +// CHECK: xchgl %r13d, %eax +// CHECK: encoding: [0x41,0x95] +xchgl %r13d, %eax + +// CHECK: xchgl %r13d, %r13d +// CHECK: encoding: [0x45,0x87,0xed] +xchgl %r13d, %r13d + +// CHECK: xchgl %r8d, %eax +// CHECK: encoding: [0x41,0x90] +xchgl %r8d, %eax + +// CHECK: xlatb +// CHECK: encoding: [0xd7] +xlatb + +// CHECK: xorb $0, 485498096 +// CHECK: encoding: [0x80,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00] +xorb $0, 485498096 + +// CHECK: xorb $0, 64(%rdx) +// CHECK: encoding: [0x80,0x72,0x40,0x00] +xorb $0, 64(%rdx) + +// CHECK: xorb $0, 64(%rdx,%rax) +// CHECK: encoding: [0x80,0x74,0x02,0x40,0x00] +xorb $0, 64(%rdx,%rax) + +// CHECK: xorb $0, -64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x74,0x82,0xc0,0x00] +xorb $0, -64(%rdx,%rax,4) + +// CHECK: xorb $0, 64(%rdx,%rax,4) +// CHECK: encoding: [0x80,0x74,0x82,0x40,0x00] +xorb $0, 64(%rdx,%rax,4) + +// CHECK: xorb $0, %al +// CHECK: encoding: [0x34,0x00] +xorb $0, %al + +// CHECK: xorb $0, %r14b +// CHECK: encoding: [0x41,0x80,0xf6,0x00] +xorb $0, %r14b + +// CHECK: xorb $0, (%rdx) +// CHECK: encoding: [0x80,0x32,0x00] +xorb $0, (%rdx) + +// CHECK: xorb 485498096, %r14b +// CHECK: encoding: [0x44,0x32,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +xorb 485498096, %r14b + +// CHECK: xorb 64(%rdx), %r14b +// CHECK: encoding: [0x44,0x32,0x72,0x40] +xorb 64(%rdx), %r14b + +// CHECK: xorb -64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x32,0x74,0x82,0xc0] +xorb -64(%rdx,%rax,4), %r14b + +// CHECK: xorb 64(%rdx,%rax,4), %r14b +// CHECK: encoding: [0x44,0x32,0x74,0x82,0x40] +xorb 64(%rdx,%rax,4), %r14b + +// CHECK: xorb 64(%rdx,%rax), %r14b +// CHECK: encoding: [0x44,0x32,0x74,0x02,0x40] +xorb 64(%rdx,%rax), %r14b + +// CHECK: xorb %r14b, 485498096 +// CHECK: encoding: [0x44,0x30,0x34,0x25,0xf0,0x1c,0xf0,0x1c] +xorb %r14b, 485498096 + +// CHECK: xorb %r14b, 64(%rdx) +// CHECK: encoding: [0x44,0x30,0x72,0x40] +xorb %r14b, 64(%rdx) + +// CHECK: xorb %r14b, 64(%rdx,%rax) +// CHECK: encoding: [0x44,0x30,0x74,0x02,0x40] +xorb %r14b, 64(%rdx,%rax) + +// CHECK: xorb %r14b, -64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x30,0x74,0x82,0xc0] +xorb %r14b, -64(%rdx,%rax,4) + +// CHECK: xorb %r14b, 64(%rdx,%rax,4) +// CHECK: encoding: [0x44,0x30,0x74,0x82,0x40] +xorb %r14b, 64(%rdx,%rax,4) + +// CHECK: xorb %r14b, %r14b +// CHECK: encoding: [0x45,0x30,0xf6] +xorb %r14b, %r14b + +// CHECK: xorb %r14b, (%rdx) +// CHECK: encoding: [0x44,0x30,0x32] +xorb %r14b, (%rdx) + +// CHECK: xorb (%rdx), %r14b +// CHECK: encoding: [0x44,0x32,0x32] +xorb (%rdx), %r14b + +// CHECK: xorl $0, %eax +// CHECK: encoding: [0x83,0xf0,0x00] +xorl $0, %eax + +// CHECK: xorl $0, %r13d +// CHECK: encoding: [0x41,0x83,0xf5,0x00] +xorl $0, %r13d + +// CHECK: xorl %r13d, %r13d +// CHECK: encoding: [0x45,0x31,0xed] +xorl %r13d, %r13d +