From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2092) id 3BC523858C83; Wed, 28 Sep 2022 13:10:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3BC523858C83 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1664370643; bh=Rv4EtAaSCwsIMkDjKPiaiPQXBNfWuHIpgpJhgf10g/w=; h=From:To:Subject:Date:From; b=Qws/n3zbP6LJHw/gkQcY4F9DHaJd27w7qUipgECI0GOZxdCp1C/c1rOUM5QrepUBk aI+AKNU28GmDlTWxZ9PLqF1txESnn7hq9rbMZZjrJkghz07FVO4rcRoA0Z/aOsnA3O A4Od/0CqJAG6BPqc4h7X+FArGWxLldarbYMUYE7g= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Andrea Corallo To: gcc-cvs@gcc.gnu.org Subject: [gcc r13-2915] arm: Define __ARM_FEATURE_AES and __ARM_FEATURE_SHA2 when march +crypto is selected X-Act-Checkin: gcc X-Git-Author: Andrea Corallo X-Git-Refname: refs/heads/trunk X-Git-Oldrev: b48d7ff3570fa0ebe7790275cf020d8885120338 X-Git-Newrev: 5e9c4ed903c39f82f28362d9411d4dbc491264ec Message-Id: <20220928131043.3BC523858C83@sourceware.org> Date: Wed, 28 Sep 2022 13:10:43 +0000 (GMT) List-Id: https://gcc.gnu.org/g:5e9c4ed903c39f82f28362d9411d4dbc491264ec commit r13-2915-g5e9c4ed903c39f82f28362d9411d4dbc491264ec Author: Andrea Corallo Date: Wed Sep 14 17:38:30 2022 +0200 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: --- gcc/config/arm/arm-c.cc | 2 ++ gcc/testsuite/gcc.target/arm/attr-crypto.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/gcc/config/arm/arm-c.cc b/gcc/config/arm/arm-c.cc index a8697b8c62f..86c56bf2680 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 cbd13a757d8..05e458f36b6 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