diff options
author | Bob Wilson <bob.wilson@apple.com> | 2011-04-04 16:53:11 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2011-04-04 16:53:11 +0000 |
commit | e3a15fed08d3597831283d56d2bd31c19c0ea0e2 (patch) | |
tree | 46f124853da8b1f4be13fc6da267afcbcf480475 | |
parent | c94780c53997c6e7c36077b464a0e4a4f738a9a7 (diff) | |
download | bcm5719-llvm-e3a15fed08d3597831283d56d2bd31c19c0ea0e2.tar.gz bcm5719-llvm-e3a15fed08d3597831283d56d2bd31c19c0ea0e2.zip |
Change ARM data layout strings to match llvm-gcc.
Sandeep Patel noticed that the alignment was wrong for Neon vector types,
and this change is partly derived from his patch. For the APCS ABI, however,
additional changes were required: the maximum ABI alignment is 32 bits and
the preferred alignment for i64 and f64 types should be 64 bits.
llvm-svn: 128825
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 90b0ee0c87e..00c8657e2bb 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -1731,11 +1731,11 @@ public: if (IsThumb) { DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-" "i64:64:64-f32:32:32-f64:64:64-" - "v64:64:64-v128:128:128-a0:0:32-n32"); + "v64:64:64-v128:64:128-a0:0:32-n32"); } else { DescriptionString = ("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-" - "v64:64:64-v128:128:128-a0:0:64-n32"); + "v64:64:64-v128:64:128-a0:0:64-n32"); } // ARM targets default to using the ARM C++ ABI. @@ -1760,11 +1760,11 @@ public: if (IsThumb) { DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-" "i64:32:32-f32:32:32-f64:32:32-" - "v64:64:64-v128:128:128-a0:0:32-n32"); + "v64:32:64-v128:32:128-a0:0:32-n32"); } else { DescriptionString = ("e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-" - "i64:32:32-f32:32:32-f64:32:32-" - "v64:64:64-v128:128:128-a0:0:64-n32"); + "i64:32:64-f32:32:32-f64:32:64-" + "v64:32:64-v128:32:128-a0:0:32-n32"); } // FIXME: Override "preferred align" for double and long long. |