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.
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);
#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