forked from OSchip/llvm-project
TLS_addr64 and TLS_addr32 define RDI and EAX. They don't use them.
This fixes PR4002. llvm-svn: 69672
This commit is contained in:
parent
3501d43a10
commit
47ed1f5293
|
@ -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…
Reference in New Issue