aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/IA64/IA64ISelDAGToDAG.cpp
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2007-08-31 04:03:46 +0000
committerDale Johannesen <dalej@apple.com>2007-08-31 04:03:46 +0000
commiteaf089430e7681fcddc3465c3b33b9645273ab02 (patch)
tree426df38ac585285c3b18e3b4575b297fcd4d9e59 /lib/Target/IA64/IA64ISelDAGToDAG.cpp
parent8c132633c86a7e496f84e3458c47520d0cc4d938 (diff)
downloadexternal_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.cpp4
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!");