aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrea Corallo <andrea.corallo@arm.com>2022-09-14 17:38:30 +0200
committerAndrea Corallo <andrea.corallo@arm.com>2022-09-28 15:10:17 +0200
commit5e9c4ed903c39f82f28362d9411d4dbc491264ec (patch)
tree94837eae718ff631c6db58abbdff1d080e0646ba /gcc
parentb48d7ff3570fa0ebe7790275cf020d8885120338 (diff)
downloadgcc-5e9c4ed903c39f82f28362d9411d4dbc491264ec.zip
gcc-5e9c4ed903c39f82f28362d9411d4dbc491264ec.tar.gz
gcc-5e9c4ed903c39f82f28362d9411d4dbc491264ec.tar.bz2
arm: Define __ARM_FEATURE_AES and __ARM_FEATURE_SHA2 when march +crypto is selected
Hi all, this patch fixes the missing definition of __ARM_FEATURE_AES and __ARM_FEATURE_SHA2 when AES SHA1 & SHA2 crypto instructions are available [1] (read when march +crypto is selected). Okay for master? Thanks Andrea [1] <https://raw.githubusercontent.com/ARM-software/acle/main/main/acle.md> gcc/ChangeLog 2022-09-14 Andrea Corallo <andrea.corallo@arm.com> * config/arm/arm-c.cc (arm_cpu_builtins): Define __ARM_FEATURE_AES and __ARM_FEATURE_SHA2. gcc/testsuite/ChangeLog 2022-09-14 Andrea Corallo <andrea.corallo@arm.com> * gcc.target/arm/attr-crypto.c: Update test.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/arm/arm-c.cc2
-rw-r--r--gcc/testsuite/gcc.target/arm/attr-crypto.c8
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config/arm/arm-c.cc b/gcc/config/arm/arm-c.cc
index a8697b8..86c56bf 100644
--- a/gcc/config/arm/arm-c.cc
+++ b/gcc/config/arm/arm-c.cc
@@ -202,6 +202,8 @@ arm_cpu_builtins (struct cpp_reader* pfile)
def_or_undef_macro (pfile, "__ARM_FEATURE_QBIT", TARGET_ARM_QBIT);
def_or_undef_macro (pfile, "__ARM_FEATURE_SAT", TARGET_ARM_SAT);
def_or_undef_macro (pfile, "__ARM_FEATURE_CRYPTO", TARGET_CRYPTO);
+ def_or_undef_macro (pfile, "__ARM_FEATURE_AES", TARGET_CRYPTO);
+ def_or_undef_macro (pfile, "__ARM_FEATURE_SHA2", TARGET_CRYPTO);
def_or_undef_macro (pfile, "__ARM_FEATURE_UNALIGNED", unaligned_access);
diff --git a/gcc/testsuite/gcc.target/arm/attr-crypto.c b/gcc/testsuite/gcc.target/arm/attr-crypto.c
index cbd13a7..05e458f 100644
--- a/gcc/testsuite/gcc.target/arm/attr-crypto.c
+++ b/gcc/testsuite/gcc.target/arm/attr-crypto.c
@@ -16,6 +16,14 @@
#error __ARM_FEATURE_CRYPTO not defined.
#endif
+#ifndef __ARM_FEATURE_AES
+#error __ARM_FEATURE_AES not defined.
+#endif
+
+#ifndef __ARM_FEATURE_SHA2
+#error __ARM_FEATURE_SHA2 not defined.
+#endif
+
#ifndef __ARM_NEON
#error __ARM_NEON not defined.
#endif