Commit b6aada16 by Renlin Li Committed by Renlin Li

[PATCH][AARCH64]Add ACLE predefined marcos: __ARM_ALIGN_MAX_PWR and

__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
parent a2055cc9
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> 2015-06-24 Richard Biener <rguenther@suse.de>
* genmatch.c (enum tree_code): Add VIEW_CONVERT[012]. * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
......
...@@ -29,6 +29,10 @@ ...@@ -29,6 +29,10 @@
builtin_define ("__aarch64__"); \ builtin_define ("__aarch64__"); \
builtin_define ("__ARM_64BIT_STATE"); \ builtin_define ("__ARM_64BIT_STATE"); \
builtin_define_with_int_value \ 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); \ ("__ARM_ARCH", aarch64_architecture_version); \
cpp_define_formatted \ cpp_define_formatted \
(parse_in, "__ARM_ARCH_%dA", aarch64_architecture_version); \ (parse_in, "__ARM_ARCH_%dA", aarch64_architecture_version); \
......
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> 2015-06-24 Patrick Palka <ppalka@gcc.gnu.org>
Revert: Revert:
......
/* { 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;
}
/* { 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;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment