# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT
# RUN: llvm-mc --disassemble %s -triple=x86_64 --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL

# ATT:   movrsb  268435456(%rbp,%r14,8), %bl
# INTEL: movrs bl, byte ptr [rbp + 8*r14 + 268435456]
0x42,0x0f,0x38,0x8a,0x9c,0xf5,0x00,0x00,0x00,0x10

# ATT:   movrsb  291(%r8,%rax,4), %bl
# INTEL: movrs bl, byte ptr [r8 + 4*rax + 291]
0x41,0x0f,0x38,0x8a,0x9c,0x80,0x23,0x01,0x00,0x00

# ATT:   movrsb  (%rip), %bl
# INTEL: movrs bl, byte ptr [rip]
0x0f,0x38,0x8a,0x1d,0x00,0x00,0x00,0x00

# ATT:   movrsb  -32(,%rbp,2), %bl
# INTEL: movrs bl, byte ptr [2*rbp - 32]
0x0f,0x38,0x8a,0x1c,0x6d,0xe0,0xff,0xff,0xff

# ATT:   movrsb  127(%rcx), %bl
# INTEL: movrs bl, byte ptr [rcx + 127]
0x0f,0x38,0x8a,0x59,0x7f

# ATT:   movrsb  -128(%rdx), %bl
# INTEL: movrs bl, byte ptr [rdx - 128]
0x0f,0x38,0x8a,0x5a,0x80

# ATT:   movrsw  268435456(%rbp,%r14,8), %bx
# INTEL: movrs bx, word ptr [rbp + 8*r14 + 268435456]
0x66,0x42,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10

# ATT:   movrsw  291(%r8,%rax,4), %bx
# INTEL: movrs bx, word ptr [r8 + 4*rax + 291]
0x66,0x41,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00

# ATT:   movrsw  (%rip), %bx
# INTEL: movrs bx, word ptr [rip]
0x66,0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00

# ATT:   movrsw  -32(,%rbp,2), %bx
# INTEL: movrs bx, word ptr [2*rbp - 32]
0x66,0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff

# ATT:   movrsw  127(%rcx), %bx
# INTEL: movrs bx, word ptr [rcx + 127]
0x66,0x0f,0x38,0x8b,0x59,0x7f

# ATT:   movrsw  -128(%rdx), %bx
# INTEL: movrs bx, word ptr [rdx - 128]
0x66,0x0f,0x38,0x8b,0x5a,0x80

# ATT:   movrsl  268435456(%rbp,%r14,8), %ebx
# INTEL: movrs ebx, dword ptr [rbp + 8*r14 + 268435456]
0x42,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10

# ATT:   movrsl  291(%r8,%rax,4), %ebx
# INTEL: movrs ebx, dword ptr [r8 + 4*rax + 291]
0x41,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00

# ATT:   movrsl  (%rip), %ebx
# INTEL: movrs ebx, dword ptr [rip]
0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00

# ATT:   movrsl  -32(,%rbp,2), %ebx
# INTEL: movrs ebx, dword ptr [2*rbp - 32]
0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff

# ATT:   movrsl  127(%rcx), %ebx
# INTEL: movrs ebx, dword ptr [rcx + 127]
0x0f,0x38,0x8b,0x59,0x7f

# ATT:   movrsl  -128(%rdx), %ebx
# INTEL: movrs ebx, dword ptr [rdx - 128]
0x0f,0x38,0x8b,0x5a,0x80

# ATT:   movrsq  268435456(%rbp,%r14,8), %rbx
# INTEL: movrs rbx, qword ptr [rbp + 8*r14 + 268435456]
0x4a,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10

# ATT:   movrsq  291(%r8,%rax,4), %rbx
# INTEL: movrs rbx, qword ptr [r8 + 4*rax + 291]
0x49,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00

# ATT:   movrsq  (%rip), %rbx
# INTEL: movrs rbx, qword ptr [rip]
0x48,0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00

# ATT:   movrsq  -32(,%rbp,2), %rbx
# INTEL: movrs rbx, qword ptr [2*rbp - 32]
0x48,0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff

# ATT:   movrsq  127(%rcx), %rbx
# INTEL: movrs rbx, qword ptr [rcx + 127]
0x48,0x0f,0x38,0x8b,0x59,0x7f

# ATT:   movrsq  -128(%rdx), %rbx
# INTEL: movrs rbx, qword ptr [rdx - 128]
0x48,0x0f,0x38,0x8b,0x5a,0x80

# ATT:   movrsb  268435456(%rbp,%r14,8), %r16b
# INTEL: movrs r16b, byte ptr [rbp + 8*r14 + 268435456]
0x62,0xa4,0x7c,0x08,0x8a,0x84,0xf5,0x00,0x00,0x00,0x10

# ATT:   movrsb  291(%r17,%rax,4), %bl
# INTEL: movrs bl, byte ptr [r17 + 4*rax + 291]
0x62,0xfc,0x7c,0x08,0x8a,0x9c,0x81,0x23,0x01,0x00,0x00

# ATT:   movrsb  (%rip), %bl
# INTEL: movrs bl, byte ptr [rip]
0x62,0xf4,0x7c,0x08,0x8a,0x1d,0x00,0x00,0x00,0x00

# ATT:   movrsb  -32(,%rbp,2), %r18b
# INTEL: movrs r18b, byte ptr [2*rbp - 32]
0x62,0xe4,0x7c,0x08,0x8a,0x14,0x6d,0xe0,0xff,0xff,0xff

# ATT:   movrsb  127(%r19), %bl
# INTEL: movrs bl, byte ptr [r19 + 127]
0x62,0xfc,0x7c,0x08,0x8a,0x5b,0x7f

# ATT:   movrsb  -128(%r20,%riz), %bl
# INTEL: movrs bl, byte ptr [r20 + riz - 128]
0x62,0xfc,0x7c,0x08,0x8a,0x5c,0x24,0x80

# ATT:   movrsw  268435456(%rbp,%r14,8), %r16w
# INTEL: movrs r16w, word ptr [rbp + 8*r14 + 268435456]
0x62,0xa4,0x7d,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10

# ATT:   movrsw  291(%r17,%rax,4), %bx
# INTEL: movrs bx, word ptr [r17 + 4*rax + 291]
0x62,0xfc,0x7d,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00

# ATT:   movrsw  (%rip), %bx
# INTEL: movrs bx, word ptr [rip]
0x62,0xf4,0x7d,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00

# ATT:   movrsw  -32(,%rbp,2), %r18w
# INTEL: movrs r18w, word ptr [2*rbp - 32]
0x62,0xe4,0x7d,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff

# ATT:   movrsw  127(%r19), %bx
# INTEL: movrs bx, word ptr [r19 + 127]
0x62,0xfc,0x7d,0x08,0x8b,0x5b,0x7f

# ATT:   movrsw  -128(%r20,%riz), %bx
# INTEL: movrs bx, word ptr [r20 + riz - 128]
0x62,0xfc,0x7d,0x08,0x8b,0x5c,0x24,0x80

# ATT:   movrsl  268435456(%rbp,%r14,8), %r16d
# INTEL: movrs r16d, dword ptr [rbp + 8*r14 + 268435456]
0x62,0xa4,0x7c,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10

# ATT:   movrsl  291(%r17,%rax,4), %ebx
# INTEL: movrs ebx, dword ptr [r17 + 4*rax + 291]
0x62,0xfc,0x7c,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00

# ATT:   movrsl  (%rip), %ebx
# INTEL: movrs ebx, dword ptr [rip]
0x62,0xf4,0x7c,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00

# ATT:   movrsl  -32(,%rbp,2), %r18d
# INTEL: movrs r18d, dword ptr [2*rbp - 32]
0x62,0xe4,0x7c,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff

# ATT:   movrsl  127(%r19), %ebx
# INTEL: movrs ebx, dword ptr [r19 + 127]
0x62,0xfc,0x7c,0x08,0x8b,0x5b,0x7f

# ATT:   movrsl  -128(%r20,%riz), %ebx
# INTEL: movrs ebx, dword ptr [r20 + riz - 128]
0x62,0xfc,0x7c,0x08,0x8b,0x5c,0x24,0x80

# ATT:   movrsq  268435456(%rbp,%r14,8), %r16
# INTEL: movrs r16, qword ptr [rbp + 8*r14 + 268435456]
0x62,0xa4,0xfc,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10

# ATT:   movrsq  291(%r17,%rax,4), %rbx
# INTEL: movrs rbx, qword ptr [r17 + 4*rax + 291]
0x62,0xfc,0xfc,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00

# ATT:   movrsq  (%rip), %rbx
# INTEL: movrs rbx, qword ptr [rip]
0x62,0xf4,0xfc,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00

# ATT:   movrsq  -32(,%rbp,2), %r18
# INTEL: movrs r18, qword ptr [2*rbp - 32]
0x62,0xe4,0xfc,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff

# ATT:   movrsq  127(%r19), %rbx
# INTEL: movrs rbx, qword ptr [r19 + 127]
0x62,0xfc,0xfc,0x08,0x8b,0x5b,0x7f

# ATT:   movrsq  -128(%r20,%riz), %rbx
# INTEL: movrs rbx, qword ptr [r20 + riz - 128]
0x62,0xfc,0xfc,0x08,0x8b,0x5c,0x24,0x80
