summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp b/llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp
index d3487f27862..9b26a25e9a2 100644
--- a/llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp
+++ b/llvm/lib/Target/IA64/IA64ISelDAGToDAG.cpp
@@ -322,10 +322,12 @@ SDOperand IA64DAGToDAGISel::Select(SDOperand Op) {
* case ISD::DYNAMIC_STACKALLOC:
*/
case ISD::ConstantFP: {
+ SDOperand Chain = CurDAG->getEntryNode(); // this is a constant, so..
+
if (cast<ConstantFPSDNode>(N)->isExactlyValue(+0.0))
- return CurDAG->getRegister(IA64::F0, MVT::f64); // load 0.0
+ return CurDAG->getCopyFromReg(Chain, IA64::F0, MVT::f64);
else if (cast<ConstantFPSDNode>(N)->isExactlyValue(+1.0))
- return CurDAG->getRegister(IA64::F1, MVT::f64); // load 1.0
+ return CurDAG->getCopyFromReg(Chain, IA64::F1, MVT::f64);
else
assert(0 && "Unexpected FP constant!");
}
OpenPOWER on IntegriCloud