diff --git a/lib/Target/X86/X86Instr64bit.td b/lib/Target/X86/X86Instr64bit.td index 69c74b2c985..e84d1368f46 100644 --- a/lib/Target/X86/X86Instr64bit.td +++ b/lib/Target/X86/X86Instr64bit.td @@ -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)]>, diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index 7cf1ad31fcb..462433bb27b 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -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)]>,