MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', 'armv8-2a:', '', d)}"
require conf/machine/include/arm/arch-armv8a.inc
+require conf/machine/include/arm/feature-arm-sve.inc
# Little Endian base configs
AVAILTUNES += "armv8-2a armv8-2a-crypto"
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
# All ARMv8 has floating point hardware built in. Null it here to avoid any confusion for 32bit.
TARGET_FPU_32 = ""
-# Scalable Vector Extension (SVE) for:
-# armv8.2-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, armv8-r, armv9a
+# Scalable Vector Extension (SVE) for Armv8-A and R
+# Enabled by default for Armv9
-TUNEVALID[sve] = "Enable SVE instructions for ARMv8 and ARMv9"
+TUNEVALID[sve] = "Enable SVE instructions for ARMv8"
TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'sve', '+sve', '', d)}"
+
+TUNEVALID[sve2] = "Enable SVE2 instructions for ARMv8"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'sve2', '+sve2', '', d)}"