mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-13 23:18:58 +00:00
MC/X86: Add movq alias for movabsq, to allow matching 64-bit immediates with movq.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104275 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6ed0ce3240
commit
4e7f8390c0
@ -354,6 +354,13 @@ def MOV64ri32 : RIi32<0xC7, MRM0r, (outs GR64:$dst), (ins i64i32imm:$src),
|
||||
[(set GR64:$dst, i64immSExt32:$src)]>;
|
||||
}
|
||||
|
||||
// The assembler accepts movq of a 64-bit immediate as an alternate spelling of
|
||||
// movabsq.
|
||||
let isAsmParserOnly = 1 in {
|
||||
def MOV64ri_alt : RIi64<0xB8, AddRegFrm, (outs GR64:$dst), (ins i64imm:$src),
|
||||
"mov{q}\t{$src, $dst|$dst, $src}", []>;
|
||||
}
|
||||
|
||||
def MOV64rr_REV : RI<0x8B, MRMSrcReg, (outs GR64:$dst), (ins GR64:$src),
|
||||
"mov{q}\t{$src, $dst|$dst, $src}", []>;
|
||||
|
||||
|
@ -84,3 +84,23 @@ movl 0, %eax // CHECK: movl 0, %eax # encoding: [0x8b,0x04,0x25,A,A,A,A]
|
||||
popf
|
||||
// CHECK: popfq # encoding: [0x9d]
|
||||
popfq
|
||||
|
||||
// CHECK: movabsq $-281474976710654, %rax
|
||||
// CHECK: encoding: [0x48,0xb8,0x02,0x00,0x00,0x00,0x00,0x00,0xff,0xff]
|
||||
movabsq $0xFFFF000000000002, %rax
|
||||
|
||||
// CHECK: movq $-281474976710654, %rax
|
||||
// CHECK: encoding: [0x48,0xb8,0x02,0x00,0x00,0x00,0x00,0x00,0xff,0xff]
|
||||
movq $0xFFFF000000000002, %rax
|
||||
|
||||
// CHECK: movq $-65536, %rax
|
||||
// CHECK: encoding: [0x48,0xc7,0xc0,0x00,0x00,0xff,0xff]
|
||||
movq $0xFFFFFFFFFFFF0000, %rax
|
||||
|
||||
// CHECK: movq $-256, %rax
|
||||
// CHECK: encoding: [0x48,0xc7,0xc0,0x00,0xff,0xff,0xff]
|
||||
movq $0xFFFFFFFFFFFFFF00, %rax
|
||||
|
||||
// CHECK: movq $10, %rax
|
||||
// CHECK: encoding: [0x48,0xc7,0xc0,0x0a,0x00,0x00,0x00]
|
||||
movq $10, %rax
|
||||
|
Loading…
Reference in New Issue
Block a user