194 lines · plain
1// RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s2 3// CHECK: movrs bl, byte ptr [rbp + 8*r14 + 268435456]4// CHECK: encoding: [0x42,0x0f,0x38,0x8a,0x9c,0xf5,0x00,0x00,0x00,0x10]5 movrs bl, byte ptr [rbp + 8*r14 + 268435456]6 7// CHECK: movrs bl, byte ptr [r8 + 4*rax + 291]8// CHECK: encoding: [0x41,0x0f,0x38,0x8a,0x9c,0x80,0x23,0x01,0x00,0x00]9 movrs bl, byte ptr [r8 + 4*rax + 291]10 11// CHECK: movrs bl, byte ptr [rip]12// CHECK: encoding: [0x0f,0x38,0x8a,0x1d,0x00,0x00,0x00,0x00]13 movrs bl, byte ptr [rip]14 15// CHECK: movrs bl, byte ptr [2*rbp - 32]16// CHECK: encoding: [0x0f,0x38,0x8a,0x1c,0x6d,0xe0,0xff,0xff,0xff]17 movrs bl, byte ptr [2*rbp - 32]18 19// CHECK: movrs bl, byte ptr [rcx + 127]20// CHECK: encoding: [0x0f,0x38,0x8a,0x59,0x7f]21 movrs bl, byte ptr [rcx + 127]22 23// CHECK: movrs bl, byte ptr [rdx - 128]24// CHECK: encoding: [0x0f,0x38,0x8a,0x5a,0x80]25 movrs bl, byte ptr [rdx - 128]26 27// CHECK: movrs bx, word ptr [rbp + 8*r14 + 268435456]28// CHECK: encoding: [0x66,0x42,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10]29 movrs bx, word ptr [rbp + 8*r14 + 268435456]30 31// CHECK: movrs bx, word ptr [r8 + 4*rax + 291]32// CHECK: encoding: [0x66,0x41,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00]33 movrs bx, word ptr [r8 + 4*rax + 291]34 35// CHECK: movrs bx, word ptr [rip]36// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00]37 movrs bx, word ptr [rip]38 39// CHECK: movrs bx, word ptr [2*rbp - 32]40// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff]41 movrs bx, word ptr [2*rbp - 32]42 43// CHECK: movrs bx, word ptr [rcx + 127]44// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x59,0x7f]45 movrs bx, word ptr [rcx + 127]46 47// CHECK: movrs bx, word ptr [rdx - 128]48// CHECK: encoding: [0x66,0x0f,0x38,0x8b,0x5a,0x80]49 movrs bx, word ptr [rdx - 128]50 51// CHECK: movrs ebx, dword ptr [rbp + 8*r14 + 268435456]52// CHECK: encoding: [0x42,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10]53 movrs ebx, dword ptr [rbp + 8*r14 + 268435456]54 55// CHECK: movrs ebx, dword ptr [r8 + 4*rax + 291]56// CHECK: encoding: [0x41,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00]57 movrs ebx, dword ptr [r8 + 4*rax + 291]58 59// CHECK: movrs ebx, dword ptr [rip]60// CHECK: encoding: [0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00]61 movrs ebx, dword ptr [rip]62 63// CHECK: movrs ebx, dword ptr [2*rbp - 32]64// CHECK: encoding: [0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff]65 movrs ebx, dword ptr [2*rbp - 32]66 67// CHECK: movrs ebx, dword ptr [rcx + 127]68// CHECK: encoding: [0x0f,0x38,0x8b,0x59,0x7f]69 movrs ebx, dword ptr [rcx + 127]70 71// CHECK: movrs ebx, dword ptr [rdx - 128]72// CHECK: encoding: [0x0f,0x38,0x8b,0x5a,0x80]73 movrs ebx, dword ptr [rdx - 128]74 75// CHECK: movrs rbx, qword ptr [rbp + 8*r14 + 268435456]76// CHECK: encoding: [0x4a,0x0f,0x38,0x8b,0x9c,0xf5,0x00,0x00,0x00,0x10]77 movrs rbx, qword ptr [rbp + 8*r14 + 268435456]78 79// CHECK: movrs rbx, qword ptr [r8 + 4*rax + 291]80// CHECK: encoding: [0x49,0x0f,0x38,0x8b,0x9c,0x80,0x23,0x01,0x00,0x00]81 movrs rbx, qword ptr [r8 + 4*rax + 291]82 83// CHECK: movrs rbx, qword ptr [rip]84// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x1d,0x00,0x00,0x00,0x00]85 movrs rbx, qword ptr [rip]86 87// CHECK: movrs rbx, qword ptr [2*rbp - 32]88// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x1c,0x6d,0xe0,0xff,0xff,0xff]89 movrs rbx, qword ptr [2*rbp - 32]90 91// CHECK: movrs rbx, qword ptr [rcx + 127]92// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x59,0x7f]93 movrs rbx, qword ptr [rcx + 127]94 95// CHECK: movrs rbx, qword ptr [rdx - 128]96// CHECK: encoding: [0x48,0x0f,0x38,0x8b,0x5a,0x80]97 movrs rbx, qword ptr [rdx - 128]98 99// CHECK: movrs r16b, byte ptr [rbp + 8*r14 + 268435456]100// CHECK: encoding: [0x62,0xa4,0x7c,0x08,0x8a,0x84,0xf5,0x00,0x00,0x00,0x10]101 movrs r16b, byte ptr [rbp + 8*r14 + 268435456]102 103// CHECK: movrs bl, byte ptr [r17 + 4*rax + 291]104// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8a,0x9c,0x81,0x23,0x01,0x00,0x00]105 movrs bl, byte ptr [r17 + 4*rax + 291]106 107// CHECK: {evex} movrs bl, byte ptr [rip]108// CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x8a,0x1d,0x00,0x00,0x00,0x00]109 {evex} movrs bl, byte ptr [rip]110 111// CHECK: movrs r18b, byte ptr [2*rbp - 32]112// CHECK: encoding: [0x62,0xe4,0x7c,0x08,0x8a,0x14,0x6d,0xe0,0xff,0xff,0xff]113 movrs r18b, byte ptr [2*rbp - 32]114 115// CHECK: movrs bl, byte ptr [r19 + 127]116// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8a,0x5b,0x7f]117 movrs bl, byte ptr [r19 + 127]118 119// CHECK: movrs bl, byte ptr [r20 - 128]120// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8a,0x5c,0x24,0x80]121 movrs bl, byte ptr [r20 - 128]122 123// CHECK: movrs r16w, word ptr [rbp + 8*r14 + 268435456]124// CHECK: encoding: [0x62,0xa4,0x7d,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10]125 movrs r16w, word ptr [rbp + 8*r14 + 268435456]126 127// CHECK: movrs bx, word ptr [r17 + 4*rax + 291]128// CHECK: encoding: [0x62,0xfc,0x7d,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00]129 movrs bx, word ptr [r17 + 4*rax + 291]130 131// CHECK: {evex} movrs bx, word ptr [rip]132// CHECK: encoding: [0x62,0xf4,0x7d,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00]133 {evex} movrs bx, word ptr [rip]134 135// CHECK: movrs r18w, word ptr [2*rbp - 32]136// CHECK: encoding: [0x62,0xe4,0x7d,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff]137 movrs r18w, word ptr [2*rbp - 32]138 139// CHECK: movrs bx, word ptr [r19 + 127]140// CHECK: encoding: [0x62,0xfc,0x7d,0x08,0x8b,0x5b,0x7f]141 movrs bx, word ptr [r19 + 127]142 143// CHECK: movrs bx, word ptr [r20 - 128]144// CHECK: encoding: [0x62,0xfc,0x7d,0x08,0x8b,0x5c,0x24,0x80]145 movrs bx, word ptr [r20 - 128]146 147// CHECK: movrs r16d, dword ptr [rbp + 8*r14 + 268435456]148// CHECK: encoding: [0x62,0xa4,0x7c,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10]149 movrs r16d, dword ptr [rbp + 8*r14 + 268435456]150 151// CHECK: movrs ebx, dword ptr [r17 + 4*rax + 291]152// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00]153 movrs ebx, dword ptr [r17 + 4*rax + 291]154 155// CHECK: {evex} movrs ebx, dword ptr [rip]156// CHECK: encoding: [0x62,0xf4,0x7c,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00]157 {evex} movrs ebx, dword ptr [rip]158 159// CHECK: movrs r18d, dword ptr [2*rbp - 32]160// CHECK: encoding: [0x62,0xe4,0x7c,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff]161 movrs r18d, dword ptr [2*rbp - 32]162 163// CHECK: movrs ebx, dword ptr [r19 + 127]164// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8b,0x5b,0x7f]165 movrs ebx, dword ptr [r19 + 127]166 167// CHECK: movrs ebx, dword ptr [r20 - 128]168// CHECK: encoding: [0x62,0xfc,0x7c,0x08,0x8b,0x5c,0x24,0x80]169 movrs ebx, dword ptr [r20 - 128]170 171// CHECK: movrs r16, qword ptr [rbp + 8*r14 + 268435456]172// CHECK: encoding: [0x62,0xa4,0xfc,0x08,0x8b,0x84,0xf5,0x00,0x00,0x00,0x10]173 movrs r16, qword ptr [rbp + 8*r14 + 268435456]174 175// CHECK: movrs rbx, qword ptr [r17 + 4*rax + 291]176// CHECK: encoding: [0x62,0xfc,0xfc,0x08,0x8b,0x9c,0x81,0x23,0x01,0x00,0x00]177 movrs rbx, qword ptr [r17 + 4*rax + 291]178 179// CHECK: {evex} movrs rbx, qword ptr [rip]180// CHECK: encoding: [0x62,0xf4,0xfc,0x08,0x8b,0x1d,0x00,0x00,0x00,0x00]181 {evex} movrs rbx, qword ptr [rip]182 183// CHECK: movrs r18, qword ptr [2*rbp - 32]184// CHECK: encoding: [0x62,0xe4,0xfc,0x08,0x8b,0x14,0x6d,0xe0,0xff,0xff,0xff]185 movrs r18, qword ptr [2*rbp - 32]186 187// CHECK: movrs rbx, qword ptr [r19 + 127]188// CHECK: encoding: [0x62,0xfc,0xfc,0x08,0x8b,0x5b,0x7f]189 movrs rbx, qword ptr [r19 + 127]190 191// CHECK: movrs rbx, qword ptr [r20 - 128]192// CHECK: encoding: [0x62,0xfc,0xfc,0x08,0x8b,0x5c,0x24,0x80]193 movrs rbx, qword ptr [r20 - 128]194