When promoting the result of fp_to_uint/fp_to_sint,
[oota-llvm.git] / lib / CodeGen / SelectionDAG / LegalizeFloatTypes.cpp
index 9e31699c559f280e1b6ed445f133f5fb8a84689c..87951cc6922671ec867fae5ab537167b434d0c0b 100644 (file)
@@ -950,10 +950,13 @@ void DAGTypeLegalizer::ExpandFloatRes_XINT_TO_FP(SDNode *N, SDValue &Lo,
     assert(false && "Unsupported UINT_TO_FP!");
   case MVT::i32:
     Parts = TwoE32;
+    break;
   case MVT::i64:
     Parts = TwoE64;
+    break;
   case MVT::i128:
     Parts = TwoE128;
+    break;
   }
 
   Lo = DAG.getNode(ISD::FADD, VT, Hi,
@@ -1183,7 +1186,7 @@ SDValue DAGTypeLegalizer::ExpandFloatOp_STORE(SDNode *N, unsigned OpNo) {
   SDValue Lo, Hi;
   GetExpandedOp(ST->getValue(), Lo, Hi);
 
-  return DAG.getTruncStore(Chain, Lo, Ptr,
+  return DAG.getTruncStore(Chain, Hi, Ptr,
                            ST->getSrcValue(), ST->getSrcValueOffset(),
                            ST->getMemoryVT(),
                            ST->isVolatile(), ST->getAlignment());