mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
"mov[zs]x (mem), GR16" are not ambiguous: the mem
must be 8 bits. Support this memory form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117902 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b501d4f673
commit
acc473fcf9
@ -1262,6 +1262,9 @@ include "X86InstrCompiler.td"
|
||||
def : InstAlias<(outs GR16:$dst), (ins GR8 :$src),
|
||||
"movsx $src, $dst",
|
||||
(MOVSX16rr8W GR16:$dst, GR8:$src)>;
|
||||
def : InstAlias<(outs GR16:$dst), (ins i8mem:$src),
|
||||
"movsx $src, $dst",
|
||||
(MOVSX16rm8W GR16:$dst, i8mem:$src)>;
|
||||
|
||||
def : InstAlias<(outs GR32:$dst), (ins GR8 :$src),
|
||||
"movsx $src, $dst",
|
||||
@ -1284,6 +1287,9 @@ def : InstAlias<(outs GR64:$dst), (ins GR32:$src),
|
||||
def : InstAlias<(outs GR16:$dst), (ins GR8 :$src),
|
||||
"movzx $src, $dst",
|
||||
(MOVZX16rr8W GR16:$dst, GR8:$src)>;
|
||||
def : InstAlias<(outs GR16:$dst), (ins i8mem:$src),
|
||||
"movzx $src, $dst",
|
||||
(MOVZX16rm8W GR16:$dst, i8mem:$src)>;
|
||||
|
||||
def : InstAlias<(outs GR32:$dst), (ins GR8 :$src),
|
||||
"movzx $src, $dst",
|
||||
|
@ -692,7 +692,13 @@ movzx %bl, %rax
|
||||
// CHECK: encoding: [0x48,0x0f,0xb7,0xc1]
|
||||
movzx %cx, %rax
|
||||
|
||||
// CHECK: movsbw (%rax), %ax
|
||||
// CHECK: encoding: [0x66,0x0f,0xbe,0x00]
|
||||
movsx (%rax), %ax
|
||||
|
||||
// CHECK: movzbw (%rax), %ax
|
||||
// CHECK: encoding: [0x66,0x0f,0xb6,0x00]
|
||||
movzx (%rax), %ax
|
||||
|
||||
|
||||
// rdar://7873482
|
||||
|
Loading…
Reference in New Issue
Block a user