summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/iamcu-abi.c
diff options
context:
space:
mode:
authorAndrey Turetskiy <andrey.turetskiy@gmail.com>2016-02-10 11:58:46 +0000
committerAndrey Turetskiy <andrey.turetskiy@gmail.com>2016-02-10 11:58:46 +0000
commitdb6655fd902a9f012e26b63033001e52dbbc1db6 (patch)
tree75b9c478e0eae6b6fd4cc6af72e3e2fb0ada16de /clang/test/CodeGen/iamcu-abi.c
parent2396c38a8a9962d23f66357b0932cf2795b0f360 (diff)
downloadbcm5719-llvm-db6655fd902a9f012e26b63033001e52dbbc1db6.tar.gz
bcm5719-llvm-db6655fd902a9f012e26b63033001e52dbbc1db6.zip
[X86] Fix stack alignment for MCU target (Clang part), by Anton Nadolskiy.
This patch fixes stack alignments for MCU (should be aligned to 4 bytes). Differential Revision: http://reviews.llvm.org/D15647 llvm-svn: 260376
Diffstat (limited to 'clang/test/CodeGen/iamcu-abi.c')
-rw-r--r--clang/test/CodeGen/iamcu-abi.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/clang/test/CodeGen/iamcu-abi.c b/clang/test/CodeGen/iamcu-abi.c
new file mode 100644
index 00000000000..897d475d497
--- /dev/null
+++ b/clang/test/CodeGen/iamcu-abi.c
@@ -0,0 +1,38 @@
+// RUN: %clang_cc1 -triple i386-pc-elfiamcu -emit-llvm -o - %s | FileCheck %s
+
+// CHECK: target datalayout = "e-m:e-p:32:32-i64:32-f64:32-f128:32-n8:16:32-a:0:32-S32"
+// CHECK: target triple = "i386-pc-elfiamcu"
+
+
+void food(double *d);
+void fooll(long long *ll);
+void fooull(unsigned long long *ull);
+void foold(long double *ld);
+
+// CHECK-LABEL: define void @testdouble()
+// CHECK: alloca double, align 4
+void testdouble() {
+ double d = 2.0;
+ food(&d);
+}
+
+// CHECK-LABEL: define void @testlonglong()
+// CHECK: alloca i64, align 4
+void testlonglong() {
+ long long ll = 2;
+ fooll(&ll);
+}
+
+// CHECK-LABEL: define void @testunsignedlonglong()
+// CHECK: alloca i64, align 4
+void testunsignedlonglong() {
+ unsigned long long ull = 2;
+ fooull(&ull);
+}
+
+// CHECK-LABEL: define void @testlongdouble()
+// CHECK: alloca double, align 4
+void testlongdouble() {
+ long double ld = 2.0;
+ foold(&ld);
+}
OpenPOWER on IntegriCloud