diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.h | 19 |
2 files changed, 20 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0e96388..c5bd5e7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-11-19 Renlin Li <renlin.li@arm.com> + + * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_FP_FAST, + __ARM_FEATURE_FMA, __ARM_FP, __ARM_FEATURE_NUMERIC_MAXMIN, __ARM_NEON_FP. + 2014-11-19 Marek Polacek <polacek@redhat.com> PR sanitizer/63879 diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h index c046b43..bbe33a9 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -38,6 +38,8 @@ builtin_define ("__ARM_FEATURE_CLZ"); \ builtin_define ("__ARM_FEATURE_IDIV"); \ builtin_define ("__ARM_FEATURE_UNALIGNED"); \ + if (flag_unsafe_math_optimizations) \ + builtin_define ("__ARM_FP_FAST"); \ builtin_define ("__ARM_PCS_AAPCS64"); \ builtin_define_with_int_value \ ("__ARM_SIZEOF_WCHAR_T", WCHAR_TYPE_SIZE / 8); \ @@ -52,10 +54,19 @@ else \ builtin_define ("__AARCH64EL__"); \ \ - if (TARGET_SIMD) \ - builtin_define ("__ARM_NEON"); \ - \ - if (TARGET_CRC32) \ + if (TARGET_FLOAT) \ + { \ + builtin_define ("__ARM_FEATURE_FMA"); \ + builtin_define_with_int_value ("__ARM_FP", 0x0C); \ + } \ + if (TARGET_SIMD) \ + { \ + builtin_define ("__ARM_FEATURE_NUMERIC_MAXMIN"); \ + builtin_define ("__ARM_NEON"); \ + builtin_define_with_int_value ("__ARM_NEON_FP", 0x0C);\ + } \ + \ + if (TARGET_CRC32) \ builtin_define ("__ARM_FEATURE_CRC32"); \ \ switch (aarch64_cmodel) \ |