summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-12-22 22:45:38 +0000
committerChris Lattner <sabre@nondot.org>2007-12-22 22:45:38 +0000
commit91f3379660de293a0e59afd2a981cb9946707688 (patch)
tree958b11773fa9b2284b28996b4781d6d89a42fcde
parentde272b1b63bd4f63b2bf1958e58514fd93237318 (diff)
downloadbcm5719-llvm-91f3379660de293a0e59afd2a981cb9946707688.tar.gz
bcm5719-llvm-91f3379660de293a0e59afd2a981cb9946707688.zip
fix strict-aliasing violation
llvm-svn: 45324
-rw-r--r--llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp b/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
index 59de205f945..b3c910a3d74 100644
--- a/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
+++ b/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
@@ -143,9 +143,7 @@ namespace {
{
MVT::ValueType vt = FPN->getValueType(0);
if (vt == MVT::f32) {
- const APFloat &apf = FPN->getValueAPF();
- float fval = apf.convertToFloat();
- int val = *((int *) &fval);
+ int val = FloatToBits(FPN->getValueAPF().convertToFloat());
int sval = (int) ((val << 16) >> 16);
Imm = (short) val;
return val == sval;
OpenPOWER on IntegriCloud