mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-11 13:37:07 +00:00
[X86]Enable the use of 'mov' with a 64bit GPR and a large immediate
Enable the next form (intel style): "mov <reg64>, <largeImm>" which is should be available, where <largeImm> stands for immediates which exceed the range of a singed 32bit integer Differential Revision: https://reviews.llvm.org/D28988 llvm-svn: 293030
This commit is contained in:
parent
a678e82c94
commit
00c1f58b67
@ -2984,7 +2984,7 @@ def : InstAlias<"mov\t{$mem, $seg|$seg, $mem}", (MOV32sm SEGMENT_REG:$seg, i32me
|
||||
def : InstAlias<"mov\t{$seg, $mem|$mem, $seg}", (MOV32ms i32mem:$mem, SEGMENT_REG:$seg), 0>;
|
||||
|
||||
// Match 'movq <largeimm>, <reg>' as an alias for movabsq.
|
||||
def : InstAlias<"movq\t{$imm, $reg|$reg, $imm}", (MOV64ri GR64:$reg, i64imm:$imm), 0>;
|
||||
def : InstAlias<"mov{q}\t{$imm, $reg|$reg, $imm}", (MOV64ri GR64:$reg, i64imm:$imm), 0>;
|
||||
|
||||
// Match 'movq GR64, MMX' as an alias for movd.
|
||||
def : InstAlias<"movq\t{$src, $dst|$dst, $src}",
|
||||
|
@ -19,6 +19,8 @@ _main:
|
||||
mov EAX, DWORD PTR [RSP - 4]
|
||||
// CHECK: movq (%rsp), %rax
|
||||
mov RAX, QWORD PTR [RSP]
|
||||
// CHECK: movabsq $4294967289, %rax
|
||||
mov RAX, 4294967289
|
||||
// CHECK: movl $-4, -4(%rsp)
|
||||
mov DWORD PTR [RSP - 4], -4
|
||||
// CHECK: movq 0, %rcx
|
||||
|
Loading…
Reference in New Issue
Block a user