Revise previous patch per review comments.
Next round of x87 long double stuff.
Getting close now, basically works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41875 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 85a76f4..ed1777e 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -109,12 +109,12 @@
} else if (isa<ConstantFPSDNode>(NotZero)) {
MVT::ValueType VT = NotZero.getValueType();
if (VT== MVT::f64) {
- if (*((cast<ConstantFPSDNode>(NotZero)->getValueAPF().
- convertToAPInt().getRawData())) != (uint64_t)-1)
+ if (((cast<ConstantFPSDNode>(NotZero)->getValueAPF().
+ convertToAPInt().getZExtValue())) != (uint64_t)-1)
return false;
} else {
- if ((uint32_t)*cast<ConstantFPSDNode>(NotZero)->
- getValueAPF().convertToAPInt().getRawData() !=
+ if ((uint32_t)cast<ConstantFPSDNode>(NotZero)->
+ getValueAPF().convertToAPInt().getZExtValue() !=
(uint32_t)-1)
return false;
}
@@ -1697,9 +1697,9 @@
}
case ISD::BIT_CONVERT:
if (VT == MVT::i32 && C->getValueType(0) == MVT::f32)
- return getConstant((uint32_t)*V.convertToAPInt().getRawData(), VT);
+ return getConstant((uint32_t)V.convertToAPInt().getZExtValue(), VT);
else if (VT == MVT::i64 && C->getValueType(0) == MVT::f64)
- return getConstant(*V.convertToAPInt().getRawData(), VT);
+ return getConstant(V.convertToAPInt().getZExtValue(), VT);
break;
}
}