[PATCH][AARCH64]Add ACLE predefined marcos: __ARM_ALIGN_MAX_PWR and
authorRenlin Li <renlin.li@arm.com>
Wed, 24 Jun 2015 13:36:53 +0000 (13:36 +0000)
committerRenlin Li <renlin@gcc.gnu.org>
Wed, 24 Jun 2015 13:36:53 +0000 (13:36 +0000)
__ARM_ALIGN_MAX_STACK_PWR

gcc/

2015-06-24 Renlin Li <renlin.li@arm.com>

* config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
__ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.

gcc/testsuite/

2015-06-24  Renlin Li  <renlin.li@arm.com>

* gcc.target/aarch64/arm_align_max_pwr.c: New.
* gcc.target/aarch64/arm_align_max_stack_pwr.c: New.

From-SVN: r224898

gcc/ChangeLog
gcc/config/aarch64/aarch64.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/arm_align_max_pwr.c [new file with mode: 0644]
gcc/testsuite/gcc.target/aarch64/arm_align_max_stack_pwr.c [new file with mode: 0644]

index b4694b1..6c4a267 100644 (file)
@@ -1,3 +1,8 @@
+2015-06-24 Renlin Li <renlin.li@arm.com>
+
+       * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
+       __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
+
 2015-06-24  Richard Biener  <rguenther@suse.de>
 
        * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
index a22c6e4..8b2d2ca 100644 (file)
       builtin_define ("__aarch64__");                   \
       builtin_define ("__ARM_64BIT_STATE");             \
       builtin_define_with_int_value                     \
+        ("__ARM_ALIGN_MAX_PWR", 28);                    \
+      builtin_define_with_int_value                     \
+        ("__ARM_ALIGN_MAX_STACK_PWR", 16);              \
+      builtin_define_with_int_value                     \
         ("__ARM_ARCH", aarch64_architecture_version);   \
       cpp_define_formatted                                              \
         (parse_in, "__ARM_ARCH_%dA", aarch64_architecture_version);     \
index 7040593..4de4285 100644 (file)
@@ -1,3 +1,8 @@
+2015-06-24  Renlin Li  <renlin.li@arm.com>
+
+       * gcc.target/aarch64/arm_align_max_pwr.c: New.
+       * gcc.target/aarch64/arm_align_max_stack_pwr.c: New.
+
 2015-06-24  Patrick Palka  <ppalka@gcc.gnu.org>
 
        Revert:
diff --git a/gcc/testsuite/gcc.target/aarch64/arm_align_max_pwr.c b/gcc/testsuite/gcc.target/aarch64/arm_align_max_pwr.c
new file mode 100644 (file)
index 0000000..bbb4c6f
--- /dev/null
@@ -0,0 +1,15 @@
+/* { dg-do run } */
+
+#include <stdio.h>
+#include <assert.h>
+
+#define align (1ul << __ARM_ALIGN_MAX_PWR)
+static int x __attribute__ ((aligned (align)));
+
+int
+main ()
+{
+  assert ((((unsigned long)&x) & (align - 1)) == 0);
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/aarch64/arm_align_max_stack_pwr.c b/gcc/testsuite/gcc.target/aarch64/arm_align_max_stack_pwr.c
new file mode 100644 (file)
index 0000000..7a6355b
--- /dev/null
@@ -0,0 +1,15 @@
+/* { dg-do run } */
+
+#include <stdio.h>
+#include <assert.h>
+
+#define align (1ul << __ARM_ALIGN_MAX_STACK_PWR)
+
+int
+main ()
+{
+  int x __attribute__ ((aligned (align)));
+
+  assert ((((unsigned long)&x) & (align - 1)) == 0);
+  return 0;
+}