diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 750f0bb..f04f401 100644
--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -3035,17 +3035,20 @@
   }
   
   // Turn 'store float 1.0, Ptr' -> 'store int 0x12345678, Ptr'
-  // FIXME: We shouldn't do this for TargetConstantFP's.
   if (ConstantFPSDNode *CFP = dyn_cast<ConstantFPSDNode>(Value)) {
-    SDOperand Tmp;
-    if (CFP->getValueType(0) == MVT::f32) {
-      Tmp = DAG.getConstant(FloatToBits(CFP->getValue()), MVT::i32);
-    } else {
-      assert(CFP->getValueType(0) == MVT::f64 && "Unknown FP type!");
-      Tmp = DAG.getConstant(DoubleToBits(CFP->getValue()), MVT::i64);
+    if (Value.getOpcode() != ISD::TargetConstantFP) {
+      SDOperand Tmp;
+      if (CFP->getValueType(0) == MVT::f32) {
+        Tmp = DAG.getConstant(FloatToBits(CFP->getValue()), MVT::i32);
+        return DAG.getStore(Chain, Tmp, Ptr, ST->getSrcValue(),
+                            ST->getSrcValueOffset());
+      } else if (TLI.isTypeLegal(MVT::i64)) {
+        assert(CFP->getValueType(0) == MVT::f64 && "Unknown FP type!");
+        Tmp = DAG.getConstant(DoubleToBits(CFP->getValue()), MVT::i64);
+        return DAG.getStore(Chain, Tmp, Ptr, ST->getSrcValue(),
+                            ST->getSrcValueOffset());
+      }
     }
-    return DAG.getStore(Chain, Tmp, Ptr, ST->getSrcValue(),
-                        ST->getSrcValueOffset());
   }
 
   if (CombinerAA) { 
