diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp
index fcf2e51..8715f89 100644
--- a/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -626,7 +626,7 @@
       if (Record.empty())
         return Error("Invalid FLOAT record");
       if (CurTy == Type::FloatTy)
-        V = ConstantFP::get(CurTy, APFloat((float)BitsToDouble(Record[0])));
+        V = ConstantFP::get(CurTy, APFloat(BitsToFloat(Record[0])));
       else if (CurTy == Type::DoubleTy)
         V = ConstantFP::get(CurTy, APFloat(BitsToDouble(Record[0])));
       // FIXME: Make long double constants work.  BitsToDouble does not make it.
diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp
index ab3d983..73f5338 100644
--- a/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -526,10 +526,9 @@
     } else if (const ConstantFP *CFP = dyn_cast<ConstantFP>(C)) {
       Code = bitc::CST_CODE_FLOAT;
       const Type *Ty = CFP->getType();
-      if (Ty == Type::FloatTy) {
-        Record.push_back(DoubleToBits((double)CFP->getValueAPF().
-                          convertToFloat()));
-      } else if (Ty == Type::DoubleTy) {
+      if (Ty == Type::FloatTy)
+        Record.push_back(FloatToBits(CFP->getValueAPF().convertToFloat()));
+      else if (Ty == Type::DoubleTy) {
         Record.push_back(DoubleToBits(CFP->getValueAPF().convertToDouble()));
       // FIXME: make long double constants work.
       } else if (Ty == Type::X86_FP80Ty ||
