// RUN: llvm-mc -triple x86_64 --show-encoding %s | FileCheck %s

// CHECK: movrsb  268435456(%rbp,%r14,8), %bl
// CHECK: encoding: [0x42,0x0f,0x38,0x8a,0x9c,0xf5,0x00,0x00,0x00,0x10]
          movrs  268435456(%rbp,%r14,8), %bl

// CHECK: movrsb  291(%r8,%rax,4), %bl
// CHECK: encoding: [0x41,0x0f,0x38,0x8a,0x9c,0x80,0x23,0x01,0x00,0x00]
          movrs  291(%r8,%rax,4), %bl

// CHECK: movrsb  (%rip), %bl
// CHECK: encoding: [0x0f,0x38,0x8a,0x1d,0x00,0x00,0x00,0x00]
          movrs  (%rip), %bl

// CHECK: movrsb  -32(,%rbp,2), %bl
// CHECK: encoding: [0x0f,0x38,0x8a,0x1c,0x6d,0xe0,0xff,0xff,0xff]
          movrs  -32(,%rbp,2), %bl

// CHECK: movrsb  127(%rcx), %bl
// CHECK: encoding: [0x0f,0x38,0x8a,0x59,0x7f]
          movrs  127(%rcx), %bl

// CHECK: movrsb  -128(%rdx), %bl
// CHECK: encoding: [0x0f,0x38,0x8a,0x5a,0x80]
          movrs  -128(%rdx), %bl

// CHECK: movrsw  268435456(%rbp,%r14,8), %bx
// CHECK: encoding: [0x66,0x42,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10]
          movrs  268435456(%rbp,%r14,8), %bx

// CHECK: movrsw  291(%r8,%rax,4), %bx
// CHECK: encoding: [0x66,0x41,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00]
          movrs  291(%r8,%rax,4), %bx

// CHECK: movrsw  (%rip), %bx
// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00]
          movrs  (%rip), %bx

// CHECK: movrsw  -32(,%rbp,2), %bx
// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
          movrs  -32(,%rbp,2), %bx

// CHECK: movrsw  127(%rcx), %bx
// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x59,0x7f]
          movrs  127(%rcx), %bx

// CHECK: movrsw  -128(%rdx), %bx
// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x5a,0x80]
          movrs  -128(%rdx), %bx

// CHECK: movrsl  268435456(%rbp,%r14,8), %ebx
// CHECK: encoding: [0x42,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10]
          movrs  268435456(%rbp,%r14,8), %ebx

// CHECK: movrsl  291(%r8,%rax,4), %ebx
// CHECK: encoding: [0x41,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00]
          movrs  291(%r8,%rax,4), %ebx

// CHECK: movrsl  (%rip), %ebx
// CHECK: encoding: [0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00]
          movrs  (%rip), %ebx

// CHECK: movrsl  -32(,%rbp,2), %ebx
// CHECK: encoding: [0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
          movrs  -32(,%rbp,2), %ebx

// CHECK: movrsl  127(%rcx), %ebx
// CHECK: encoding: [0x0f,0x38,0x8b,0x59,0x7f]
          movrs  127(%rcx), %ebx

// CHECK: movrsl  -128(%rdx), %ebx
// CHECK: encoding: [0x0f,0x38,0x8b,0x5a,0x80]
          movrs  -128(%rdx), %ebx

// CHECK: movrsq  268435456(%rbp,%r14,8), %rbx
// CHECK: encoding: [0x4a,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10]
          movrs  268435456(%rbp,%r14,8), %rbx

// CHECK: movrsq  291(%r8,%rax,4), %rbx
// CHECK: encoding: [0x49,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00]
          movrs  291(%r8,%rax,4), %rbx

// CHECK: movrsq  (%rip), %rbx
// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00]
          movrs  (%rip), %rbx

// CHECK: movrsq  -32(,%rbp,2), %rbx
// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
          movrs  -32(,%rbp,2), %rbx

// CHECK: movrsq  127(%rcx), %rbx
// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x59,0x7f]
          movrs  127(%rcx), %rbx

// CHECK: movrsq  -128(%rdx), %rbx
// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x5a,0x80]
          movrs  -128(%rdx), %rbx

// CHECK: movrsb  268435456(%rbp,%r14,8), %r16b
// CHECK: encoding: [0x62,0xa4,0x7c,0x08,0x8a,0x84,0xf5,0x00,0x00,0x00,0x10]
          movrs  268435456(%rbp,%r14,8), %r16b

// CHECK: movrsb  291(%r17,%rax,4), %bl
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8a,0x9c,0x81,0x23,0x01,0x00,0x00]
          movrs  291(%r17,%rax,4), %bl

// CHECK: {evex}  movrsb  (%rip), %bl
// CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x8a,0x1d,0x00,0x00,0x00,0x00]
          {evex} movrs  (%rip), %bl

// CHECK: movrsb  -32(,%rbp,2), %r18b
// CHECK: encoding: [0x62,0xe4,0x7c,0x08,0x8a,0x14,0x6d,0xe0,0xff,0xff,0xff]
          movrs  -32(,%rbp,2), %r18b

// CHECK: movrsb  127(%r19), %bl
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8a,0x5b,0x7f]
          movrs 127(%r19), %bl

// CHECK: movrsb  -128(%r20), %bl
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8a,0x5c,0x24,0x80]
          movrs  -128(%r20), %bl

// CHECK: movrsw  268435456(%rbp,%r14,8), %r16w
// CHECK: encoding: [0x62,0xa4,0x7d,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10]
          movrs  268435456(%rbp,%r14,8), %r16w

// CHECK: movrsw  291(%r17,%rax,4), %bx
// CHECK: encoding: [0x62,0xfc,0x7d,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00]
          movrs  291(%r17,%rax,4), %bx

// CHECK: {evex}  movrsw  (%rip), %bx
// CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00]
          {evex} movrs  (%rip), %bx

// CHECK: movrsw  -32(,%rbp,2), %r18w
// CHECK: encoding: [0x62,0xe4,0x7d,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff]
          movrs  -32(,%rbp,2), %r18w

// CHECK: movrsw  127(%r19), %bx
// CHECK: encoding: [0x62,0xfc,0x7d,0x08,0x8b,0x5b,0x7f]
          movrs 127(%r19), %bx

// CHECK: movrsw  -128(%r20), %bx
// CHECK: encoding: [0x62,0xfc,0x7d,0x08,0x8b,0x5c,0x24,0x80]
          movrs  -128(%r20), %bx

// CHECK: movrsl  268435456(%rbp,%r14,8), %r16d
// CHECK: encoding: [0x62,0xa4,0x7c,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10]
          movrs  268435456(%rbp,%r14,8), %r16d

// CHECK: movrsl  291(%r17,%rax,4), %ebx
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00]
          movrs  291(%r17,%rax,4), %ebx

// CHECK: {evex}  movrsl  (%rip), %ebx
// CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00]
          {evex} movrs  (%rip), %ebx

// CHECK: movrsl  -32(,%rbp,2), %r18d
// CHECK: encoding: [0x62,0xe4,0x7c,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff]
          movrs  -32(,%rbp,2), %r18d

// CHECK: movrsl  127(%r19), %ebx
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8b,0x5b,0x7f]
          movrs 127(%r19), %ebx

// CHECK: movrsl  -128(%r20), %ebx
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8b,0x5c,0x24,0x80]
          movrs  -128(%r20), %ebx

// CHECK: movrsq  268435456(%rbp,%r14,8), %r16
// CHECK: encoding: [0x62,0xa4,0xfc,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10]
          movrs  268435456(%rbp,%r14,8), %r16

// CHECK: movrsq  291(%r17,%rax,4), %rbx
// CHECK: encoding: [0x62,0xfc,0xfc,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00]
          movrs  291(%r17,%rax,4), %rbx

// CHECK: {evex}  movrsq  (%rip), %rbx
// CHECK: encoding: [0x62,0xf4,0xfc,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00]
          {evex} movrs  (%rip), %rbx

// CHECK: movrsq  -32(,%rbp,2), %r18
// CHECK: encoding: [0x62,0xe4,0xfc,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff]
          movrs  -32(,%rbp,2), %r18

// CHECK: movrsq  127(%r19), %rbx
// CHECK: encoding: [0x62,0xfc,0xfc,0x08,0x8b,0x5b,0x7f]
          movrs 127(%r19), %rbx

// CHECK: movrsq  -128(%r20), %rbx
// CHECK: encoding: [0x62,0xfc,0xfc,0x08,0x8b,0x5c,0x24,0x80]
          movrs  -128(%r20), %rbx
