Add a couple more nodes that are easy to handle
authorNate Begeman <natebegeman@mac.com>
Thu, 18 Aug 2005 00:53:47 +0000 (00:53 +0000)
committerNate Begeman <natebegeman@mac.com>
Thu, 18 Aug 2005 00:53:47 +0000 (00:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22850 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCISelDAGToDAG.cpp

index fded5bc373c58a84b8b6e06afa991fcbdb65275a..4b1c63e2b27bd5ee4e4c8fde8634a078c61eda06 100644 (file)
@@ -310,6 +310,11 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
                          Select(N->getOperand(0)), Select(N->getOperand(1)));
     break;
   }
+  case ISD::FABS: {
+    CurDAG->SelectNodeTo(N, N->getValueType(0), PPC::FABS, 
+                         Select(N->getOperand(0)));
+    break;
+  }
   case ISD::FNEG: {
     SDOperand Val = Select(N->getOperand(0));
     MVT::ValueType Ty = N->getValueType(0);
@@ -338,6 +343,12 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
     CurDAG->SelectNodeTo(N, Ty, PPC::FNEG, Val);
     break;
   }
+  case ISD::FSQRT: {
+    MVT::ValueType Ty = N->getValueType(0);
+    CurDAG->SelectNodeTo(N, Ty, Ty == MVT::f64 ? PPC::FSQRT : PPC::FSQRTS,
+                         Select(N->getOperand(0)));
+    break;
+  }
   case ISD::RET: {
     SDOperand Chain = Select(N->getOperand(0));     // Token chain.