More updates to datalayout description in llvm BE
authorDavid Terei <davidterei@gmail.com>
Tue, 22 Jun 2010 16:53:39 +0000 (16:53 +0000)
committerDavid Terei <davidterei@gmail.com>
Tue, 22 Jun 2010 16:53:39 +0000 (16:53 +0000)
compiler/llvmGen/LlvmCodeGen/Ppr.hs

index b31e6ff..8137713 100644 (file)
@@ -30,7 +30,7 @@ moduleLayout =
 #if i386_TARGET_ARCH
 
 #if darwin_TARGET_OS
-    text "target datalayout = \"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128\""
+    text "target datalayout = \"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128-n8:16:32\""
     $+$ text "target triple = \"i386-apple-darwin9.8\""
 #elif mingw32_TARGET_OS
     text "target datalayout = \"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32\""
@@ -40,19 +40,21 @@ moduleLayout =
     $+$ text "target triple = \"i386-pc-linux-gnu\""
 #endif
 
-#else
+#elif x86_64_TARGET_ARCH
 
-#ifdef x86_64_TARGET_ARCH
-    text "target datalayout = \"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128\""
+#if darwin_TARGET_OS
+    text "target datalayout = \"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64\""
+    $+$ text "target triple = \"x86_64-apple-darwin10.0.0\""
+#else /* Linux */
+    text "target datalayout = \"e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64\""
     $+$ text "target triple = \"x86_64-linux-gnu\""
+#endif
 
-#else /* Not i386 */
+#else /* Not x86 */
     -- FIX: Other targets
     empty
 #endif
 
-#endif
-
 
 -- | Header code for LLVM modules
 pprLlvmHeader :: Doc