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:53:03 +0100 |
| commit | ff0ea5633a8f1d9e5d709cae9b16482c6be4adcf (patch) | |
| tree | 822c29ffc23f869a738f0f9ea1c1fcf2433d76e8 /meta/conf/machine/include/arm/arch-armv8a.inc | |
| parent | a3c1be72af66ba8dd1b1393f10dd1c13c7cb9509 (diff) | |
| download | poky-ff0ea5633a8f1d9e5d709cae9b16482c6be4adcf.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.
(From OE-Core rev: 794eb617bfd1997e7a3498812c63a20c58a10554)
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 @@ | |||
| 1 | DEFAULTTUNE ?= "armv8a-crc" | 1 | DEFAULTTUNE ?= "armv8a-crc" |
| 2 | 2 | ||
| 3 | TUNEVALID[armv8a] = "Enable instructions for ARMv8-a" | 3 | TUNEVALID[armv8a] = "Enable instructions for ARMv8-a" |
| 4 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}" | 4 | TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}" |
| 5 | TUNEVALID[crc] = "Enable instructions for ARMv8-a Cyclic Redundancy Check (CRC)" | ||
| 6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}" | ||
| 7 | TUNEVALID[crypto] = "Enable instructions for ARMv8-a cryptographic" | ||
| 8 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}" | ||
| 9 | MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', d)}" | 5 | MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '', d)}" |
| 10 | 6 | ||
| 11 | require conf/machine/include/arm/arch-arm64.inc | 7 | require conf/machine/include/arm/arch-arm64.inc |
| 8 | require conf/machine/include/arm/feature-arm-crc.inc | ||
| 9 | require conf/machine/include/arm/feature-arm-crypto.inc | ||
| 12 | 10 | ||
| 13 | # Little Endian base configs | 11 | # Little Endian base configs |
| 14 | AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto" | 12 | AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto" |
