mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-05 14:34:55 +00:00
TLS_addr64 and TLS_addr32 define RDI and EAX. They don't use them.
This fixes PR4002. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69672 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e16178b75f
commit
7daa13c2a4
@ -1303,7 +1303,7 @@ def MOV64ri64i32 : Ii32<0xB8, AddRegFrm, (outs GR64:$dst), (ins i64i32imm:$src),
|
||||
// Thread Local Storage Instructions
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
let hasSideEffects = 1, Uses = [RDI] in
|
||||
let hasSideEffects = 1, Defs = [RDI] in
|
||||
def TLS_addr64 : I<0, Pseudo, (outs), (ins i64imm:$sym),
|
||||
".byte\t0x66; leaq\t${sym:mem}(%rip), %rdi; .word\t0x6666; rex64",
|
||||
[(X86tlsaddr tglobaltlsaddr:$sym)]>,
|
||||
|
@ -2977,7 +2977,7 @@ def MOV32r0 : I<0x31, MRMInitReg, (outs GR32:$dst), (ins),
|
||||
// Thread Local Storage Instructions
|
||||
//
|
||||
|
||||
let hasSideEffects = 1, Uses = [EAX, EBX] in
|
||||
let hasSideEffects = 1, Uses = [EBX], Defs = [EAX] in
|
||||
def TLS_addr32 : I<0, Pseudo, (outs), (ins i32imm:$sym),
|
||||
"leal\t${sym:mem}(,%ebx,1), %eax",
|
||||
[(X86tlsaddr tglobaltlsaddr:$sym)]>,
|
||||
|
Loading…
x
Reference in New Issue
Block a user