[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCInstr64Bit.td PPCInstrInfo.td
Chris Lattner
lattner at cs.uiuc.edu
Tue Jun 27 11:36:56 PDT 2006
Changes in directory llvm/lib/Target/PowerPC:
PPCInstr64Bit.td updated: 1.14 -> 1.15
PPCInstrInfo.td updated: 1.236 -> 1.237
---
Log message:
Add 64-bit MTCTR so that indirect calls work.
---
Diffs of the changes: (+6 -2)
PPCInstr64Bit.td | 4 ++++
PPCInstrInfo.td | 4 ++--
2 files changed, 6 insertions(+), 2 deletions(-)
Index: llvm/lib/Target/PowerPC/PPCInstr64Bit.td
diff -u llvm/lib/Target/PowerPC/PPCInstr64Bit.td:1.14 llvm/lib/Target/PowerPC/PPCInstr64Bit.td:1.15
--- llvm/lib/Target/PowerPC/PPCInstr64Bit.td:1.14 Tue Jun 27 13:22:50 2006
+++ llvm/lib/Target/PowerPC/PPCInstr64Bit.td Tue Jun 27 13:36:44 2006
@@ -60,6 +60,10 @@
def IMPLICIT_DEF_G8RC : Pseudo<(ops G8RC:$rD), "; $rD = IMPLICIT_DEF_G8RC",
[(set G8RC:$rD, (undef))]>;
+let Pattern = [(PPCmtctr G8RC:$rS)] in {
+def MTCTR8 : XFXForm_7_ext<31, 467, 9, (ops G8RC:$rS), "mtctr $rS", SprMTSPR>,
+ PPC970_DGroup_First, PPC970_Unit_FXU;
+}
//===----------------------------------------------------------------------===//
// Fixed point instructions.
Index: llvm/lib/Target/PowerPC/PPCInstrInfo.td
diff -u llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.236 llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.237
--- llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.236 Tue Jun 27 13:18:41 2006
+++ llvm/lib/Target/PowerPC/PPCInstrInfo.td Tue Jun 27 13:36:44 2006
@@ -71,7 +71,7 @@
def callseq_start : SDNode<"ISD::CALLSEQ_START", SDT_PPCCallSeq,[SDNPHasChain]>;
def callseq_end : SDNode<"ISD::CALLSEQ_END", SDT_PPCCallSeq,[SDNPHasChain]>;
-def SDT_PPCCall : SDTypeProfile<0, -1, [SDTCisVT<0, i32>]>;
+def SDT_PPCCall : SDTypeProfile<0, -1, [SDTCisInt<0>]>;
def PPCcall : SDNode<"PPCISD::CALL", SDT_PPCCall,
[SDNPHasChain, SDNPOptInFlag, SDNPOutFlag]>;
def PPCmtctr : SDNode<"PPCISD::MTCTR", SDT_PPCCall,
@@ -323,7 +323,7 @@
def BL : IForm<18, 0, 1, (ops calltarget:$func, variable_ops),
"bl $func", BrB, []>; // See Pat patterns below.
def BLA : IForm<18, 1, 1, (ops aaddr:$func, variable_ops),
- "bla $func", BrB, [(PPCcall imm:$func)]>;
+ "bla $func", BrB, [(PPCcall (i32 imm:$func))]>;
def BCTRL : XLForm_2_ext<19, 528, 20, 0, 1, (ops variable_ops), "bctrl", BrB,
[(PPCbctrl)]>;
}
More information about the llvm-commits
mailing list