diff options
author | Jon Mason <jdmason@kudzu.us> | 2021-08-18 22:52:20 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-08-20 08:52:59 +0100 |
commit | 794eb617bfd1997e7a3498812c63a20c58a10554 (patch) | |
tree | 8a49a7749822e3af92720e181cf1cd091203502b /meta/conf/machine/include/arm/arch-armv8a.inc | |
parent | 2a7f5843c4ad2a3bd44bf9c262aacab2931b5677 (diff) | |
download | openembedded-core-contrib-794eb617bfd1997e7a3498812c63a20c58a10554.tar.gz |
arch-arm*: add better support for gcc march extensions
GCC has the ability to pass extensions to the march parameter, which
expand the funcationality of the march. For example
"-march=armv7ve+simd" adds SIMD to ARMv7. Currently, there is no way to
expand the march setting without modifying each instance, as you can't
guarantee the ordering when using the existing TUNE_CCARGS. By
introducing two new variables, TUNE_CCARGS_MARCH and
TUNE_CCARGS_MARCH_OPT, we can enforce that these two go together.
Also, expand existing and create new feature files that use these
variables to expand the functionality.
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include/arm/arch-armv8a.inc')
-rw-r--r-- | meta/conf/machine/include/arm/arch-armv8a.inc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc b/meta/conf/machine/include/arm/arch-armv8a.inc index 819dffbeba..97c944dfa5 100644 --- a/meta/conf/machine/include/arm/arch-armv8a.inc +++ b/meta/conf/machine/include/arm/arch-armv8a.inc @@ -1,14 +1,12 @@ DEFAULTTUNE ?= "armv8a-crc" TUNEVALID[armv8a] = "Enable instructions for ARMv8-a" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}" -TUNEVALID[crc] = "Enable instructions for ARMv8-a Cyclic Redundancy Check (CRC)" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}" -TUNEVALID[crypto] = "Enable instructions for ARMv8-a cryptographic" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}" +TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}" MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', d)}" require conf/machine/include/arm/arch-arm64.inc +require conf/machine/include/arm/feature-arm-crc.inc +require conf/machine/include/arm/feature-arm-crypto.inc # Little Endian base configs AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto" |