diff options
author | Dale Johannesen <dalej@apple.com> | 2007-08-31 04:03:46 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2007-08-31 04:03:46 +0000 |
commit | eaf089430e7681fcddc3465c3b33b9645273ab02 (patch) | |
tree | 426df38ac585285c3b18e3b4575b297fcd4d9e59 /lib/Target/IA64/IA64ISelDAGToDAG.cpp | |
parent | 8c132633c86a7e496f84e3458c47520d0cc4d938 (diff) | |
download | external_llvm-eaf089430e7681fcddc3465c3b33b9645273ab02.zip external_llvm-eaf089430e7681fcddc3465c3b33b9645273ab02.tar.gz external_llvm-eaf089430e7681fcddc3465c3b33b9645273ab02.tar.bz2 |
Enhance APFloat to retain bits of NaNs (fixes oggenc).
Use APFloat interfaces for more references, mostly
of ConstantFPSDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41632 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/IA64/IA64ISelDAGToDAG.cpp')
-rw-r--r-- | lib/Target/IA64/IA64ISelDAGToDAG.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/IA64/IA64ISelDAGToDAG.cpp b/lib/Target/IA64/IA64ISelDAGToDAG.cpp index 53b704e..7421978 100644 --- a/lib/Target/IA64/IA64ISelDAGToDAG.cpp +++ b/lib/Target/IA64/IA64ISelDAGToDAG.cpp @@ -404,9 +404,9 @@ SDNode *IA64DAGToDAGISel::Select(SDOperand Op) { SDOperand Chain = CurDAG->getEntryNode(); // this is a constant, so.. SDOperand V; - if (cast<ConstantFPSDNode>(N)->isExactlyValue(+0.0)) { + if (cast<ConstantFPSDNode>(N)->getValueAPF().isPosZero()) { V = CurDAG->getCopyFromReg(Chain, IA64::F0, MVT::f64); - } else if (cast<ConstantFPSDNode>(N)->isExactlyValue(+1.0)) { + } else if (cast<ConstantFPSDNode>(N)->isExactlyValue(APFloat(+1.0))) { V = CurDAG->getCopyFromReg(Chain, IA64::F1, MVT::f64); } else assert(0 && "Unexpected FP constant!"); |