diff mbox series

[v2,2/2] arch-armv8,arch-armv9: Add sve based tune options

Message ID 20230821063049.3296008-2-raj.khem@gmail.com
State Accepted, archived
Commit d388bf00314639f82cd9143e786c482731d2719b
Headers show
Series [v2,1/2] tunes: Add support for sve instructions on armv8/armv9 | expand

Commit Message

Khem Raj Aug. 21, 2023, 6:30 a.m. UTC
(From OE-Core rev: 3109a48740546f6defc652fa1a6736dc484e6021)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
---
v2: Limit to armv8.4a and newer based on
    https://marcin.juszkiewicz.com.pl/download/tables/arm-socs.html

 meta/conf/machine/include/arm/arch-armv8-4a.inc | 7 ++++++-
 meta/conf/machine/include/arm/arch-armv8-5a.inc | 7 ++++++-
 meta/conf/machine/include/arm/arch-armv9a.inc   | 7 ++++++-
 3 files changed, 18 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/meta/conf/machine/include/arm/arch-armv8-4a.inc b/meta/conf/machine/include/arm/arch-armv8-4a.inc
index 29feddb64c5..b61d50daa5e 100644
--- a/meta/conf/machine/include/arm/arch-armv8-4a.inc
+++ b/meta/conf/machine/include/arm/arch-armv8-4a.inc
@@ -6,14 +6,19 @@  TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', ' -march
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', 'armv8-4a:', '', d)}"
 
 require conf/machine/include/arm/arch-armv8a.inc
+require conf/machine/include/arm/feature-arm-sve.inc
 
 # Little Endian base configs
-AVAILTUNES += "armv8-4a armv8-4a-crypto"
+AVAILTUNES += "armv8-4a armv8-4a-crypto armv8-4a-crypto-sve"
 ARMPKGARCH:tune-armv8-4a                    ?= "armv8-4a"
 ARMPKGARCH:tune-armv8-4a-crypto             ?= "armv8-4a"
+ARMPKGARCH:tune-armv8-4a-crypto-sve         ?= "armv8-4a"
 TUNE_FEATURES:tune-armv8-4a                  = "aarch64 armv8-4a"
 TUNE_FEATURES:tune-armv8-4a-crypto           = "${TUNE_FEATURES:tune-armv8-4a} crypto"
+TUNE_FEATURES:tune-armv8-4a-crypto-sve       = "${TUNE_FEATURES:tune-armv8-4a-crypto} sve"
 PACKAGE_EXTRA_ARCHS:tune-armv8-4a            = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-4a"
 PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto     = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a} armv8-4a-crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-4a-crypto} armv8-4a-crypto-sve"
 BASE_LIB:tune-armv8-4a                       = "lib64"
 BASE_LIB:tune-armv8-4a-crypto                = "lib64"
+BASE_LIB:tune-armv8-4a-crypto-sve            = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv8-5a.inc b/meta/conf/machine/include/arm/arch-armv8-5a.inc
index a1bcb7fb9a1..176bc9033c9 100644
--- a/meta/conf/machine/include/arm/arch-armv8-5a.inc
+++ b/meta/conf/machine/include/arm/arch-armv8-5a.inc
@@ -6,14 +6,19 @@  TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', ' -march
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-5a', 'armv8-5a:', '', d)}"
 
 require conf/machine/include/arm/arch-armv8a.inc
+require conf/machine/include/arm/feature-arm-sve.inc
 
 # Little Endian base configs
-AVAILTUNES += "armv8-5a armv8-5a-crypto"
+AVAILTUNES += "armv8-5a armv8-5a-crypto armv8-5a-crypto-sve"
 ARMPKGARCH:tune-armv8-5a                    ?= "armv8-5a"
 ARMPKGARCH:tune-armv8-5a-crypto             ?= "armv8-5a"
+ARMPKGARCH:tune-armv8-5a-crypto-sve         ?= "armv8-5a"
 TUNE_FEATURES:tune-armv8-5a                  = "aarch64 armv8-5a"
 TUNE_FEATURES:tune-armv8-5a-crypto           = "${TUNE_FEATURES:tune-armv8-5a} crypto"
+TUNE_FEATURES:tune-armv8-5a-crypto-sve       = "${TUNE_FEATURES:tune-armv8-5a-crypto} sve"
 PACKAGE_EXTRA_ARCHS:tune-armv8-5a            = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-5a"
 PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto     = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a} armv8-5a-crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-5a-crypto} armv8-5a-crypto-sve"
 BASE_LIB:tune-armv8-5a                       = "lib64"
 BASE_LIB:tune-armv8-5a-crypto                = "lib64"
+BASE_LIB:tune-armv8-5a-crypto-sve            = "lib64"
diff --git a/meta/conf/machine/include/arm/arch-armv9a.inc b/meta/conf/machine/include/arm/arch-armv9a.inc
index c38d6cfdf60..6945dea333b 100644
--- a/meta/conf/machine/include/arm/arch-armv9a.inc
+++ b/meta/conf/machine/include/arm/arch-armv9a.inc
@@ -7,22 +7,27 @@  MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9a', 'armv9a:',
 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
+require conf/machine/include/arm/feature-arm-sve.inc
 
 # Little Endian base configs
-AVAILTUNES += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crypto"
+AVAILTUNES += "armv9a armv9a-crc armv9a-crc-crypto armv9a-crc-crypto-sve armv9a-crypto"
 ARMPKGARCH:tune-armv9a                    ?= "armv9a"
 ARMPKGARCH:tune-armv9a-crc                ?= "armv9a"
 ARMPKGARCH:tune-armv9a-crypto             ?= "armv9a"
 ARMPKGARCH:tune-armv9a-crc-crypto         ?= "armv9a"
+ARMPKGARCH:tune-armv9a-crc-crypto-sve     ?= "armv9a"
 TUNE_FEATURES:tune-armv9a                  = "aarch64 armv9a"
 TUNE_FEATURES:tune-armv9a-crc              = "${TUNE_FEATURES:tune-armv9a} crc"
 TUNE_FEATURES:tune-armv9a-crypto           = "${TUNE_FEATURES:tune-armv9a} crypto"
 TUNE_FEATURES:tune-armv9a-crc-crypto       = "${TUNE_FEATURES:tune-armv9a-crc} crypto"
+TUNE_FEATURES:tune-armv9a-crc-crypto-sve   = "${TUNE_FEATURES:tune-armv9a-crc-crypto} sve"
 PACKAGE_EXTRA_ARCHS:tune-armv9a            = "aarch64 armv9a"
 PACKAGE_EXTRA_ARCHS:tune-armv9a-crc        = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crc"
 PACKAGE_EXTRA_ARCHS:tune-armv9a-crypto     = "${PACKAGE_EXTRA_ARCHS:tune-armv9a} armv9a-crypto"
 PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc} armv9a-crypto armv9a-crc-crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv9a-crc-crypto} armv9a-crc-crypto-sve"
 BASE_LIB:tune-armv9a                       = "lib64"
 BASE_LIB:tune-armv9a-crc                   = "lib64"
 BASE_LIB:tune-armv9a-crypto                = "lib64"
 BASE_LIB:tune-armv9a-crc-crypto            = "lib64"
+BASE_LIB:tune-armv9a-crc-crypto-sve        = "lib64"