[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp PPCISelLowering.cpp PPCInstrInfo.td

Chris Lattner lattner at cs.uiuc.edu
Sat Apr 8 15:45:21 PDT 2006



Changes in directory llvm/lib/Target/PowerPC:

PPCISelDAGToDAG.cpp updated: 1.178 -> 1.179
PPCISelLowering.cpp updated: 1.140 -> 1.141
PPCInstrInfo.td updated: 1.214 -> 1.215
---
Log message:

Add VRRC select support


---
Diffs of the changes:  (+8 -2)

 PPCISelDAGToDAG.cpp |    5 ++++-
 PPCISelLowering.cpp |    3 ++-
 PPCInstrInfo.td     |    2 ++
 3 files changed, 8 insertions(+), 2 deletions(-)


Index: llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
diff -u llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp:1.178 llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp:1.179
--- llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp:1.178	Sun Mar 26 04:06:40 2006
+++ llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp	Sat Apr  8 17:45:08 2006
@@ -1219,8 +1219,11 @@
       SelectCCOp = PPC::SELECT_CC_Int;
     else if (N->getValueType(0) == MVT::f32)
       SelectCCOp = PPC::SELECT_CC_F4;
-    else
+    else if (N->getValueType(0) == MVT::f64)
       SelectCCOp = PPC::SELECT_CC_F8;
+    else
+      SelectCCOp = PPC::SELECT_CC_VRRC;
+
     SDOperand N2, N3;
     Select(N2, N->getOperand(2));
     Select(N3, N->getOperand(3));


Index: llvm/lib/Target/PowerPC/PPCISelLowering.cpp
diff -u llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.140 llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.141
--- llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1.140	Sat Apr  8 02:14:26 2006
+++ llvm/lib/Target/PowerPC/PPCISelLowering.cpp	Sat Apr  8 17:45:08 2006
@@ -1484,7 +1484,8 @@
                                            MachineBasicBlock *BB) {
   assert((MI->getOpcode() == PPC::SELECT_CC_Int ||
           MI->getOpcode() == PPC::SELECT_CC_F4 ||
-          MI->getOpcode() == PPC::SELECT_CC_F8) &&
+          MI->getOpcode() == PPC::SELECT_CC_F8 ||
+          MI->getOpcode() == PPC::SELECT_CC_VRRC) &&
          "Unexpected instr type to insert");
   
   // To "insert" a SELECT_CC instruction, we actually have to insert the diamond


Index: llvm/lib/Target/PowerPC/PPCInstrInfo.td
diff -u llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.214 llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.215
--- llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.214	Thu Mar 30 23:13:27 2006
+++ llvm/lib/Target/PowerPC/PPCInstrInfo.td	Sat Apr  8 17:45:08 2006
@@ -247,6 +247,8 @@
                               i32imm:$BROPC), "; SELECT_CC PSEUDO!", []>;
   def SELECT_CC_F8  : Pseudo<(ops F8RC:$dst, CRRC:$cond, F8RC:$T, F8RC:$F,
                               i32imm:$BROPC), "; SELECT_CC PSEUDO!", []>;
+  def SELECT_CC_VRRC: Pseudo<(ops VRRC:$dst, CRRC:$cond, VRRC:$T, VRRC:$F,
+                              i32imm:$BROPC), "; SELECT_CC PSEUDO!", []>;
 }
 
 let isTerminator = 1, noResults = 1, PPC970_Unit = 7 in {






More information about the llvm-commits mailing list