diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-10-25 20:41:46 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-10-25 20:41:46 +0000 | 
| commit | cd7f101c9a69c45bf502665a201f6d870476cc9a (patch) | |
| tree | d338d680c62e4434aad9d3069e931f699e9bd902 /llvm/lib | |
| parent | 26ee5953f7c6a6b31b6f865b709e3747cf6a1f59 (diff) | |
| download | bcm5719-llvm-cd7f101c9a69c45bf502665a201f6d870476cc9a.tar.gz bcm5719-llvm-cd7f101c9a69c45bf502665a201f6d870476cc9a.zip | |
Autogen a few new ppc-specific nodes
llvm-svn: 23985
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp | 12 | ||||
| -rw-r--r-- | llvm/lib/Target/PowerPC/PPCInstrInfo.td | 14 | 
2 files changed, 11 insertions, 15 deletions
| diff --git a/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp b/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp index d299b79104b..138ac9d3699 100644 --- a/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp +++ b/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp @@ -903,18 +903,6 @@ SDOperand PPCDAGToDAGISel::Select(SDOperand Op) {                           Select(N->getOperand(1)), Select(N->getOperand(2)));      return SDOperand(N, 0);    } -  case PPCISD::FCFID: -    CurDAG->SelectNodeTo(N, PPC::FCFID, N->getValueType(0), -                         Select(N->getOperand(0))); -    return SDOperand(N, 0); -  case PPCISD::FCTIDZ: -    CurDAG->SelectNodeTo(N, PPC::FCTIDZ, N->getValueType(0), -                         Select(N->getOperand(0))); -    return SDOperand(N, 0); -  case PPCISD::FCTIWZ: -    CurDAG->SelectNodeTo(N, PPC::FCTIWZ, N->getValueType(0), -                         Select(N->getOperand(0))); -    return SDOperand(N, 0);    case ISD::FADD: {      MVT::ValueType Ty = N->getValueType(0);      if (!NoExcessFPPrecision) {  // Match FMA ops diff --git a/llvm/lib/Target/PowerPC/PPCInstrInfo.td b/llvm/lib/Target/PowerPC/PPCInstrInfo.td index 0ca271d6317..62a2d28a90d 100644 --- a/llvm/lib/Target/PowerPC/PPCInstrInfo.td +++ b/llvm/lib/Target/PowerPC/PPCInstrInfo.td @@ -14,6 +14,14 @@  include "PPCInstrFormats.td" +//===----------------------------------------------------------------------===// +// PowerPC specific DAG Nodes. +// + +def PPCfcfid  : SDNode<"PPCISD::FCFID" , SDTFPUnaryOp, []>; +def PPCfctidz : SDNode<"PPCISD::FCTIDZ", SDTFPUnaryOp, []>; +def PPCfctiwz : SDNode<"PPCISD::FCTIWZ", SDTFPUnaryOp, []>; +  //===----------------------------------------------------------------------===//  // PowerPC specific transformation functions and pattern fragments. @@ -449,13 +457,13 @@ def LFDX   : XForm_25<31, 599, (ops F8RC:$dst, GPRC:$base, GPRC:$index),  }  def FCFID  : XForm_26<63, 846, (ops F8RC:$frD, F8RC:$frB),                        "fcfid $frD, $frB", FPGeneral, -                      []>, isPPC64; +                      [(set F8RC:$frD, (PPCfcfid F8RC:$frB))]>, isPPC64;  def FCTIDZ : XForm_26<63, 815, (ops F8RC:$frD, F8RC:$frB),                        "fctidz $frD, $frB", FPGeneral, -                      []>, isPPC64; +                      [(set F8RC:$frD, (PPCfctidz F8RC:$frB))]>, isPPC64;  def FCTIWZ : XForm_26<63, 15, (ops F8RC:$frD, F8RC:$frB),                        "fctiwz $frD, $frB", FPGeneral, -                      []>; +                      [(set F8RC:$frD, (PPCfctiwz F8RC:$frB))]>;  def FRSP   : XForm_26<63, 12, (ops F4RC:$frD, F8RC:$frB),                        "frsp $frD, $frB", FPGeneral,                        [(set F4RC:$frD, (fround F8RC:$frB))]>; | 

