From: Andrea Corallo Date: Wed, 14 Sep 2022 15:38:30 +0000 (+0200) Subject: arm: Define __ARM_FEATURE_AES and __ARM_FEATURE_SHA2 when march +crypto is selected X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5e9c4ed903c39f82f28362d9411d4dbc491264ec;p=platform%2Fupstream%2Fgcc.git 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] gcc/ChangeLog 2022-09-14 Andrea Corallo * config/arm/arm-c.cc (arm_cpu_builtins): Define __ARM_FEATURE_AES and __ARM_FEATURE_SHA2. gcc/testsuite/ChangeLog 2022-09-14 Andrea Corallo * gcc.target/arm/attr-crypto.c: Update test. --- 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