summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp4
-rw-r--r--llvm/test/CodeGen/PowerPC/tls-pic.ll4
2 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp b/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
index b0e1dfa52a4..1b74c4e76e7 100644
--- a/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
+++ b/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
@@ -56,7 +56,9 @@ protected:
MachineInstr *MI = I;
if (MI->getOpcode() != PPC::GETtlsADDR &&
- MI->getOpcode() != PPC::GETtlsldADDR)
+ MI->getOpcode() != PPC::GETtlsldADDR &&
+ MI->getOpcode() != PPC::GETtlsADDR32 &&
+ MI->getOpcode() != PPC::GETtlsldADDR32)
continue;
DEBUG(dbgs() << "TLS Dynamic Call Fixup:\n " << *MI;);
diff --git a/llvm/test/CodeGen/PowerPC/tls-pic.ll b/llvm/test/CodeGen/PowerPC/tls-pic.ll
index b6782142c7f..549cd1927a7 100644
--- a/llvm/test/CodeGen/PowerPC/tls-pic.ll
+++ b/llvm/test/CodeGen/PowerPC/tls-pic.ll
@@ -25,12 +25,12 @@ entry:
; OPT0: addis [[REG2:[0-9]+]], 3, a@dtprel@ha
; OPT0: addi {{[0-9]+}}, [[REG2]], a@dtprel@l
; OPT0-32-LABEL: main
-; OPT0-32: addi {{[0-9]+}}, {{[0-9]+}}, a@got@tlsld
+; OPT0-32: addi 3, {{[0-9]+}}, a@got@tlsld
; OPT0-32: bl __tls_get_addr(a@tlsld)@PLT
; OPT0-32: addis [[REG:[0-9]+]], 3, a@dtprel@ha
; OPT0-32: addi {{[0-9]+}}, [[REG]], a@dtprel@l
; OPT1-32-LABEL: main
-; OPT1-32: addi {{[0-9]+}}, {{[0-9]+}}, a@got@tlsld
+; OPT1-32: addi 3, {{[0-9]+}}, a@got@tlsld
; OPT1-32: bl __tls_get_addr(a@tlsld)@PLT
; OPT1-32: addis [[REG:[0-9]+]], 3, a@dtprel@ha
; OPT1-32: addi {{[0-9]+}}, [[REG]], a@dtprel@l
OpenPOWER on IntegriCloud