summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2011-04-04 16:53:11 +0000
committerBob Wilson <bob.wilson@apple.com>2011-04-04 16:53:11 +0000
commite3a15fed08d3597831283d56d2bd31c19c0ea0e2 (patch)
tree46f124853da8b1f4be13fc6da267afcbcf480475
parentc94780c53997c6e7c36077b464a0e4a4f738a9a7 (diff)
downloadbcm5719-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.cpp10
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.
OpenPOWER on IntegriCloud