Mercurial > hg > CbC > CbC_gcc
diff gcc/config/aarch64/aarch64-c.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/config/aarch64/aarch64-c.c Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/config/aarch64/aarch64-c.c Thu Oct 25 07:37:49 2018 +0900 @@ -1,5 +1,5 @@ /* Target-specific code for C family languages. - Copyright (C) 2015-2017 Free Software Foundation, Inc. + Copyright (C) 2015-2018 Free Software Foundation, Inc. This file is part of GCC. @@ -17,6 +17,8 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ +#define IN_TARGET_CODE 1 + #include "config.h" #include "system.h" #include "coretypes.h" @@ -134,6 +136,23 @@ aarch64_def_or_undef (TARGET_CRYPTO, "__ARM_FEATURE_CRYPTO", pfile); aarch64_def_or_undef (TARGET_SIMD_RDMA, "__ARM_FEATURE_QRDMX", pfile); + aarch64_def_or_undef (TARGET_SVE, "__ARM_FEATURE_SVE", pfile); + cpp_undef (pfile, "__ARM_FEATURE_SVE_BITS"); + if (TARGET_SVE) + { + int bits; + if (!BITS_PER_SVE_VECTOR.is_constant (&bits)) + bits = 0; + builtin_define_with_int_value ("__ARM_FEATURE_SVE_BITS", bits); + } + + aarch64_def_or_undef (TARGET_AES, "__ARM_FEATURE_AES", pfile); + aarch64_def_or_undef (TARGET_SHA2, "__ARM_FEATURE_SHA2", pfile); + aarch64_def_or_undef (TARGET_SHA3, "__ARM_FEATURE_SHA3", pfile); + aarch64_def_or_undef (TARGET_SHA3, "__ARM_FEATURE_SHA512", pfile); + aarch64_def_or_undef (TARGET_SM4, "__ARM_FEATURE_SM3", pfile); + aarch64_def_or_undef (TARGET_SM4, "__ARM_FEATURE_SM4", pfile); + aarch64_def_or_undef (TARGET_F16FML, "__ARM_FEATURE_FP16_FML", pfile); /* Not for ACLE, but required to keep "float.h" correct if we switch target between implementations that do or do not support ARMv8.2-A @@ -166,7 +185,7 @@ information that it specifies. */ if (args) { - if (!aarch64_process_target_attr (args, "pragma")) + if (!aarch64_process_target_attr (args)) return false; aarch64_override_options_internal (&global_options);