blob: f698f1c440442fdfa06658258c9ef598bf3dab48 [file] [log] [blame] [edit]
// RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
// CHECK: movrs bl, byte ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x42,0x0f,0x38,0x8a,0x9c,0xf5,0x00,0x00,0x00,0x10]
movrs bl, byte ptr [rbp + 8*r14 + 268435456]
// CHECK: movrs bl, byte ptr [r8 + 4*rax + 291]
// CHECK: encoding: [0x41,0x0f,0x38,0x8a,0x9c,0x80,0x23,0x01,0x00,0x00]
movrs bl, byte ptr [r8 + 4*rax + 291]
// CHECK: movrs bl, byte ptr [rip]
// CHECK: encoding: [0x0f,0x38,0x8a,0x1d,0x00,0x00,0x00,0x00]
movrs bl, byte ptr [rip]
// CHECK: movrs bl, byte ptr [2*rbp - 32]
// CHECK: encoding: [0x0f,0x38,0x8a,0x1c,0x6d,0xe0,0xff,0xff,0xff]
movrs bl, byte ptr [2*rbp - 32]
// CHECK: movrs bl, byte ptr [rcx + 127]
// CHECK: encoding: [0x0f,0x38,0x8a,0x59,0x7f]
movrs bl, byte ptr [rcx + 127]
// CHECK: movrs bl, byte ptr [rdx - 128]
// CHECK: encoding: [0x0f,0x38,0x8a,0x5a,0x80]
movrs bl, byte ptr [rdx - 128]
// CHECK: movrs bx, word ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x66,0x42,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10]
movrs bx, word ptr [rbp + 8*r14 + 268435456]
// CHECK: movrs bx, word ptr [r8 + 4*rax + 291]
// CHECK: encoding: [0x66,0x41,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00]
movrs bx, word ptr [r8 + 4*rax + 291]
// CHECK: movrs bx, word ptr [rip]
// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00]
movrs bx, word ptr [rip]
// CHECK: movrs bx, word ptr [2*rbp - 32]
// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
movrs bx, word ptr [2*rbp - 32]
// CHECK: movrs bx, word ptr [rcx + 127]
// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x59,0x7f]
movrs bx, word ptr [rcx + 127]
// CHECK: movrs bx, word ptr [rdx - 128]
// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x5a,0x80]
movrs bx, word ptr [rdx - 128]
// CHECK: movrs ebx, dword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x42,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10]
movrs ebx, dword ptr [rbp + 8*r14 + 268435456]
// CHECK: movrs ebx, dword ptr [r8 + 4*rax + 291]
// CHECK: encoding: [0x41,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00]
movrs ebx, dword ptr [r8 + 4*rax + 291]
// CHECK: movrs ebx, dword ptr [rip]
// CHECK: encoding: [0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00]
movrs ebx, dword ptr [rip]
// CHECK: movrs ebx, dword ptr [2*rbp - 32]
// CHECK: encoding: [0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
movrs ebx, dword ptr [2*rbp - 32]
// CHECK: movrs ebx, dword ptr [rcx + 127]
// CHECK: encoding: [0x0f,0x38,0x8b,0x59,0x7f]
movrs ebx, dword ptr [rcx + 127]
// CHECK: movrs ebx, dword ptr [rdx - 128]
// CHECK: encoding: [0x0f,0x38,0x8b,0x5a,0x80]
movrs ebx, dword ptr [rdx - 128]
// CHECK: movrs rbx, qword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x4a,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10]
movrs rbx, qword ptr [rbp + 8*r14 + 268435456]
// CHECK: movrs rbx, qword ptr [r8 + 4*rax + 291]
// CHECK: encoding: [0x49,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00]
movrs rbx, qword ptr [r8 + 4*rax + 291]
// CHECK: movrs rbx, qword ptr [rip]
// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00]
movrs rbx, qword ptr [rip]
// CHECK: movrs rbx, qword ptr [2*rbp - 32]
// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
movrs rbx, qword ptr [2*rbp - 32]
// CHECK: movrs rbx, qword ptr [rcx + 127]
// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x59,0x7f]
movrs rbx, qword ptr [rcx + 127]
// CHECK: movrs rbx, qword ptr [rdx - 128]
// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x5a,0x80]
movrs rbx, qword ptr [rdx - 128]
// CHECK: movrs r16b, byte ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa4,0x7c,0x08,0x8a,0x84,0xf5,0x00,0x00,0x00,0x10]
movrs r16b, byte ptr [rbp + 8*r14 + 268435456]
// CHECK: movrs bl, byte ptr [r17 + 4*rax + 291]
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8a,0x9c,0x81,0x23,0x01,0x00,0x00]
movrs bl, byte ptr [r17 + 4*rax + 291]
// CHECK: {evex} movrs bl, byte ptr [rip]
// CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x8a,0x1d,0x00,0x00,0x00,0x00]
{evex} movrs bl, byte ptr [rip]
// CHECK: movrs r18b, byte ptr [2*rbp - 32]
// CHECK: encoding: [0x62,0xe4,0x7c,0x08,0x8a,0x14,0x6d,0xe0,0xff,0xff,0xff]
movrs r18b, byte ptr [2*rbp - 32]
// CHECK: movrs bl, byte ptr [r19 + 127]
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8a,0x5b,0x7f]
movrs bl, byte ptr [r19 + 127]
// CHECK: movrs bl, byte ptr [r20 - 128]
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8a,0x5c,0x24,0x80]
movrs bl, byte ptr [r20 - 128]
// CHECK: movrs r16w, word ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa4,0x7d,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10]
movrs r16w, word ptr [rbp + 8*r14 + 268435456]
// CHECK: movrs bx, word ptr [r17 + 4*rax + 291]
// CHECK: encoding: [0x62,0xfc,0x7d,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00]
movrs bx, word ptr [r17 + 4*rax + 291]
// CHECK: {evex} movrs bx, word ptr [rip]
// CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00]
{evex} movrs bx, word ptr [rip]
// CHECK: movrs r18w, word ptr [2*rbp - 32]
// CHECK: encoding: [0x62,0xe4,0x7d,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff]
movrs r18w, word ptr [2*rbp - 32]
// CHECK: movrs bx, word ptr [r19 + 127]
// CHECK: encoding: [0x62,0xfc,0x7d,0x08,0x8b,0x5b,0x7f]
movrs bx, word ptr [r19 + 127]
// CHECK: movrs bx, word ptr [r20 - 128]
// CHECK: encoding: [0x62,0xfc,0x7d,0x08,0x8b,0x5c,0x24,0x80]
movrs bx, word ptr [r20 - 128]
// CHECK: movrs r16d, dword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa4,0x7c,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10]
movrs r16d, dword ptr [rbp + 8*r14 + 268435456]
// CHECK: movrs ebx, dword ptr [r17 + 4*rax + 291]
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00]
movrs ebx, dword ptr [r17 + 4*rax + 291]
// CHECK: {evex} movrs ebx, dword ptr [rip]
// CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00]
{evex} movrs ebx, dword ptr [rip]
// CHECK: movrs r18d, dword ptr [2*rbp - 32]
// CHECK: encoding: [0x62,0xe4,0x7c,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff]
movrs r18d, dword ptr [2*rbp - 32]
// CHECK: movrs ebx, dword ptr [r19 + 127]
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8b,0x5b,0x7f]
movrs ebx, dword ptr [r19 + 127]
// CHECK: movrs ebx, dword ptr [r20 - 128]
// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8b,0x5c,0x24,0x80]
movrs ebx, dword ptr [r20 - 128]
// CHECK: movrs r16, qword ptr [rbp + 8*r14 + 268435456]
// CHECK: encoding: [0x62,0xa4,0xfc,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10]
movrs r16, qword ptr [rbp + 8*r14 + 268435456]
// CHECK: movrs rbx, qword ptr [r17 + 4*rax + 291]
// CHECK: encoding: [0x62,0xfc,0xfc,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00]
movrs rbx, qword ptr [r17 + 4*rax + 291]
// CHECK: {evex} movrs rbx, qword ptr [rip]
// CHECK: encoding: [0x62,0xf4,0xfc,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00]
{evex} movrs rbx, qword ptr [rip]
// CHECK: movrs r18, qword ptr [2*rbp - 32]
// CHECK: encoding: [0x62,0xe4,0xfc,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff]
movrs r18, qword ptr [2*rbp - 32]
// CHECK: movrs rbx, qword ptr [r19 + 127]
// CHECK: encoding: [0x62,0xfc,0xfc,0x08,0x8b,0x5b,0x7f]
movrs rbx, qword ptr [r19 + 127]
// CHECK: movrs rbx, qword ptr [r20 - 128]
// CHECK: encoding: [0x62,0xfc,0xfc,0x08,0x8b,0x5c,0x24,0x80]
movrs rbx, qword ptr [r20 - 128]