1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-06-08 15:30:08 +00:00

arm/arch-armv*: Add basic tunes for newly added ARM ISAs

Add some basic tunes for the newly added Arm architectures in GCC.
These will need to be further fleshed out before submitting this to OE
Core, but should be sufficient to use for machines that need them in the
interim.

Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
Jon Mason
2025-07-14 09:57:40 -04:00
parent acb62de3a7
commit a9b75c7e20
8 changed files with 107 additions and 0 deletions
@@ -0,0 +1,14 @@
DEFAULTTUNE ?= "armv8-7a"
TUNEVALID[armv8-7a] = "Enable instructions for ARMv8.7-a"
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-7a', ' -march=armv8.7-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-7a', 'armv8-7a:', '', d)}"
require conf/machine/include/arm/arch-armv8a.inc
# Little Endian base configs
AVAILTUNES += "armv8-7a"
ARMPKGARCH:tune-armv8-7a ?= "armv8-7a"
TUNE_FEATURES:tune-armv8-7a = "aarch64 armv8-7a"
PACKAGE_EXTRA_ARCHS:tune-armv8-7a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-7a"
BASE_LIB:tune-armv8-7a = "lib64"
@@ -0,0 +1,14 @@
DEFAULTTUNE ?= "armv8-8a"
TUNEVALID[armv8-8a] = "Enable instructions for ARMv8.8-a"
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-8a', ' -march=armv8.8-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-8a', 'armv8-8a:', '', d)}"
require conf/machine/include/arm/arch-armv8a.inc
# Little Endian base configs
AVAILTUNES += "armv8-8a"
ARMPKGARCH:tune-armv8-8a ?= "armv8-8a"
TUNE_FEATURES:tune-armv8-8a = "aarch64 armv8-8a"
PACKAGE_EXTRA_ARCHS:tune-armv8-8a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-8a"
BASE_LIB:tune-armv8-8a = "lib64"
@@ -0,0 +1,14 @@
DEFAULTTUNE ?= "armv8-9a"
TUNEVALID[armv8-9a] = "Enable instructions for ARMv8.9-a"
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-9a', ' -march=armv8.9-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-9a', 'armv8-9a:', '', d)}"
require conf/machine/include/arm/arch-armv8a.inc
# Little Endian base configs
AVAILTUNES += "armv8-9a"
ARMPKGARCH:tune-armv8-9a ?= "armv8-9a"
TUNE_FEATURES:tune-armv8-9a = "aarch64 armv8-9a"
PACKAGE_EXTRA_ARCHS:tune-armv8-9a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-9a"
BASE_LIB:tune-armv8-9a = "lib64"
@@ -0,0 +1,13 @@
DEFAULTTUNE ?= "armv9-1a"
TUNEVALID[armv9-1a] = "Enable instructions for ARMv9.1-a"
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9-1a', ' -march=armv9.1-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9-1a', 'armv9-1a:', '', d)}"
require conf/machine/include/arm/arch-armv9a.inc
AVAILTUNES += "armv9-1a"
ARMPKGARCH:tune-armv9-1a ?= "armv9-1a"
TUNE_FEATURES:tune-armv9-1a = "aarch64 armv9-1a"
PACKAGE_EXTRA_ARCHS:tune-armv9-1a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv9-1a"
BASE_LIB:tune-armv9-1a = "lib64"
@@ -0,0 +1,13 @@
DEFAULTTUNE ?= "armv9-2a"
TUNEVALID[armv9-2a] = "Enable instructions for ARMv9.2-a"
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9-2a', ' -march=armv9.2-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9-2a', 'armv9-2a:', '', d)}"
require conf/machine/include/arm/arch-armv9a.inc
AVAILTUNES += "armv9-2a"
ARMPKGARCH:tune-armv9-2a ?= "armv9-2a"
TUNE_FEATURES:tune-armv9-2a = "aarch64 armv9-2a"
PACKAGE_EXTRA_ARCHS:tune-armv9-2a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv9-2a"
BASE_LIB:tune-armv9-2a = "lib64"
@@ -0,0 +1,13 @@
DEFAULTTUNE ?= "armv9-3a"
TUNEVALID[armv9-3a] = "Enable instructions for ARMv9.3-a"
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9-3a', ' -march=armv9.3-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9-3a', 'armv9-3a:', '', d)}"
require conf/machine/include/arm/arch-armv9a.inc
AVAILTUNES += "armv9-3a"
ARMPKGARCH:tune-armv9-3a ?= "armv9-3a"
TUNE_FEATURES:tune-armv9-3a = "aarch64 armv9-3a"
PACKAGE_EXTRA_ARCHS:tune-armv9-3a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv9-3a"
BASE_LIB:tune-armv9-3a = "lib64"
@@ -0,0 +1,13 @@
DEFAULTTUNE ?= "armv9-4a"
TUNEVALID[armv9-4a] = "Enable instructions for ARMv9.4-a"
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9-4a', ' -march=armv9.4-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9-4a', 'armv9-4a:', '', d)}"
require conf/machine/include/arm/arch-armv9a.inc
AVAILTUNES += "armv9-4a"
ARMPKGARCH:tune-armv9-4a ?= "armv9-4a"
TUNE_FEATURES:tune-armv9-4a = "aarch64 armv9-4a"
PACKAGE_EXTRA_ARCHS:tune-armv9-4a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv9-4a"
BASE_LIB:tune-armv9-4a = "lib64"
@@ -0,0 +1,13 @@
DEFAULTTUNE ?= "armv9-5a"
TUNEVALID[armv9-5a] = "Enable instructions for ARMv9.5-a"
TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv9-5a', ' -march=armv9.5-a', '', d)}"
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv9-5a', 'armv9-5a:', '', d)}"
require conf/machine/include/arm/arch-armv9a.inc
AVAILTUNES += "armv9-5a"
ARMPKGARCH:tune-armv9-5a ?= "armv9-5a"
TUNE_FEATURES:tune-armv9-5a = "aarch64 armv9-5a"
PACKAGE_EXTRA_ARCHS:tune-armv9-5a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv9-5a"
BASE_LIB:tune-armv9-5a = "lib64"