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

Chris Lattner lattner at cs.uiuc.edu
Fri Oct 28 13:32:55 PDT 2005



Changes in directory llvm/lib/Target/PowerPC:

PPCISelDAGToDAG.cpp updated: 1.122 -> 1.123
PPCInstrInfo.td updated: 1.137 -> 1.138
---
Log message:

add support for branch on ordered/unordered.


---
Diffs of the changes:  (+21 -0)

 PPCISelDAGToDAG.cpp |   17 +++++++++++++++++
 PPCInstrInfo.td     |    4 ++++
 2 files changed, 21 insertions(+)


Index: llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
diff -u llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp:1.122 llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp:1.123
--- llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp:1.122	Tue Oct 25 16:03:41 2005
+++ llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp	Fri Oct 28 15:32:44 2005
@@ -489,6 +489,15 @@
   case ISD::SETGT:  return PPC::BGT;
   case ISD::SETUGE:
   case ISD::SETGE:  return PPC::BGE;
+    
+  case ISD::SETO:   return PPC::BUN;
+  case ISD::SETUO:  return PPC::BNU;
+  case ISD::SETOEQ:
+  case ISD::SETOGT:
+  case ISD::SETOGE:
+  case ISD::SETOLT:
+  case ISD::SETOLE:
+  case ISD::SETONE: assert(0 && "Unknown condition!"); abort();
   }
   return 0;
 }
@@ -509,6 +518,14 @@
   case ISD::SETLE:  Inv = true;   return 1;
   case ISD::SETEQ:  Inv = false;  return 2;
   case ISD::SETNE:  Inv = true;   return 2;
+  case ISD::SETO:   Inv = true;   return 3;
+  case ISD::SETUO:  Inv = false;  return 3;
+  case ISD::SETOEQ:
+  case ISD::SETOGT:
+  case ISD::SETOGE:
+  case ISD::SETOLT:
+  case ISD::SETOLE:
+  case ISD::SETONE: assert(0 && "Unknown condition!"); abort();
   }
   return 0;
 }


Index: llvm/lib/Target/PowerPC/PPCInstrInfo.td
diff -u llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.137 llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.138
--- llvm/lib/Target/PowerPC/PPCInstrInfo.td:1.137	Tue Oct 25 16:03:41 2005
+++ llvm/lib/Target/PowerPC/PPCInstrInfo.td	Fri Oct 28 15:32:44 2005
@@ -204,6 +204,10 @@
                   "bgt $crS, $block", BrB>;
   def BNE : BForm<16, 0, 0, 4,  2, (ops CRRC:$crS, target:$block),
                   "bne $crS, $block", BrB>;
+  def BUN : BForm<16, 0, 0, 12, 3, (ops CRRC:$crS, target:$block),
+                  "bun $crS, $block", BrB>;
+  def BNU : BForm<16, 0, 0, 4,  3, (ops CRRC:$crS, target:$block),
+                  "bnu $crS, $block", BrB>;
 }
 
 let isCall = 1, 






More information about the llvm-commits mailing list