fix strict-aliasing violation
authorChris Lattner <sabre@nondot.org>
Sat, 22 Dec 2007 22:45:38 +0000 (22:45 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 22 Dec 2007 22:45:38 +0000 (22:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45324 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/CellSPU/SPUISelDAGToDAG.cpp

index 59de205f945e70a4b92fd5ec9ae79de1208a3199..b3c910a3d74d7450f3b6f667e732561f66a8dc6a 100644 (file)
@@ -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;