summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-11-14 22:48:15 +0000
committerChris Lattner <sabre@nondot.org>2010-11-14 22:48:15 +0000
commit7077efe894cd456e57763f05ffb51e544a2a147e (patch)
treec2b9cbf4ea27d7578fc91f2df5bebbb6fb90cceb /llvm/lib/Target/PowerPC/PPCInstr64Bit.td
parent239f9a35edfeca699e35112938b23c555065dbfd (diff)
downloadbcm5719-llvm-7077efe894cd456e57763f05ffb51e544a2a147e.tar.gz
bcm5719-llvm-7077efe894cd456e57763f05ffb51e544a2a147e.zip
move the pic base symbol stuff up to MachineFunction
since it is trivial and will be shared between ppc and x86. This substantially simplifies the X86 backend also. llvm-svn: 119089
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCInstr64Bit.td')
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstr64Bit.td3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCInstr64Bit.td b/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
index 3cae32642ca..131baae69fd 100644
--- a/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
+++ b/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
@@ -555,6 +555,8 @@ let canFoldAsLoad = 1, PPC970_Unit = 2 in {
def LD : DSForm_1<58, 0, (outs G8RC:$rD), (ins memrix:$src),
"ld $rD, $src", LdStLD,
[(set G8RC:$rD, (load ixaddr:$src))]>, isPPC64;
+// FIXME: This is a pseudo instruction. When the JIT switches to MC, remove its
+// encoding information.
def LDtoc: DSForm_1<58, 0, (outs G8RC:$rD), (ins tocentry:$disp, G8RC:$reg),
"ld $rD, $disp($reg)", LdStLD,
[(set G8RC:$rD,
@@ -563,6 +565,7 @@ let RST = 2, DS = 8 in
def LDinto_toc: DSForm_1<58, 0, (outs), (ins G8RC:$reg),
"ld 2, 8($reg)", LdStLD,
[(PPCload_toc G8RC:$reg)]>, isPPC64;
+
let RST = 2, DS = 40, RA = 1 in
def LDtoc_restore : DSForm_1<58, 0, (outs), (ins),
"ld 2, 40(1)", LdStLD,
OpenPOWER on IntegriCloud