diff --git a/lib/CodeGen/CodeGenTypes.cpp b/lib/CodeGen/CodeGenTypes.cpp
index b640c91..aa0d2ed 100644
--- a/lib/CodeGen/CodeGenTypes.cpp
+++ b/lib/CodeGen/CodeGenTypes.cpp
@@ -161,6 +161,21 @@
   }
 }
 
+static const llvm::Type* getTypeForFormat(const llvm::fltSemantics * format) {
+  if (format == &llvm::APFloat::IEEEsingle)
+    return llvm::Type::FloatTy;
+  if (format == &llvm::APFloat::IEEEdouble)
+    return llvm::Type::DoubleTy;
+  if (format == &llvm::APFloat::IEEEquad)
+    return llvm::Type::FP128Ty;
+  if (format == &llvm::APFloat::PPCDoubleDouble)
+    return llvm::Type::PPC_FP128Ty;
+  if (format == &llvm::APFloat::x87DoubleExtended)
+    return llvm::Type::X86_FP80Ty;
+  assert(9 && "Unknown float format!");
+  return 0;
+}
+
 const llvm::Type *CodeGenTypes::ConvertNewType(QualType T) {
   const clang::Type &Ty = *T.getCanonicalType();
   
@@ -195,13 +210,12 @@
       return llvm::IntegerType::get(
         static_cast<unsigned>(Context.getTypeSize(T)));
       
-    case BuiltinType::Float:      return llvm::Type::FloatTy;
+    case BuiltinType::Float:
+      return getTypeForFormat(Context.Target.getFloatFormat());
     case BuiltinType::Double:
-      return (Context.Target.getDoubleFormat() == &llvm::APFloat::IEEEdouble) ? 
-        llvm::Type::DoubleTy : llvm::Type::FloatTy;
+      return getTypeForFormat(Context.Target.getDoubleFormat());
     case BuiltinType::LongDouble:
-      // FIXME: mapping long double onto double.
-      return llvm::Type::DoubleTy;
+      return getTypeForFormat(Context.Target.getLongDoubleFormat());
     }
     break;
   }
diff --git a/test/CodeGen/long-double-x86.c b/test/CodeGen/long-double-x86.c
new file mode 100644
index 0000000..88ac0c9
--- /dev/null
+++ b/test/CodeGen/long-double-x86.c
@@ -0,0 +1,4 @@
+// RUN: clang %s -emit-llvm -o - -triple=i686-apple-darwin9 | grep x86_fp80
+
+long double x = 0;
+int checksize[sizeof(x) == 12 ? 1 : -1];
