diff mbox series

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

Message ID 20250714135740.56280-1-jon.mason@arm.com
State New
Headers show
Series arm/arch-armv*: Add basic tunes for newly added ARM ISAs | expand

Commit Message

Jon Mason July 14, 2025, 1:57 p.m. UTC
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>
---
 .../conf/machine/include/arm/arch-armv8-7a.inc     | 14 ++++++++++++++
 .../conf/machine/include/arm/arch-armv8-8a.inc     | 14 ++++++++++++++
 .../conf/machine/include/arm/arch-armv8-9a.inc     | 14 ++++++++++++++
 .../conf/machine/include/arm/arch-armv9-1a.inc     | 13 +++++++++++++
 .../conf/machine/include/arm/arch-armv9-2a.inc     | 13 +++++++++++++
 .../conf/machine/include/arm/arch-armv9-3a.inc     | 13 +++++++++++++
 .../conf/machine/include/arm/arch-armv9-4a.inc     | 13 +++++++++++++
 .../conf/machine/include/arm/arch-armv9-5a.inc     | 13 +++++++++++++
 8 files changed, 107 insertions(+)
 create mode 100644 meta-arm/conf/machine/include/arm/arch-armv8-7a.inc
 create mode 100644 meta-arm/conf/machine/include/arm/arch-armv8-8a.inc
 create mode 100644 meta-arm/conf/machine/include/arm/arch-armv8-9a.inc
 create mode 100644 meta-arm/conf/machine/include/arm/arch-armv9-1a.inc
 create mode 100644 meta-arm/conf/machine/include/arm/arch-armv9-2a.inc
 create mode 100644 meta-arm/conf/machine/include/arm/arch-armv9-3a.inc
 create mode 100644 meta-arm/conf/machine/include/arm/arch-armv9-4a.inc
 create mode 100644 meta-arm/conf/machine/include/arm/arch-armv9-5a.inc

Comments

Jon Mason July 15, 2025, 2:31 a.m. UTC | #1
On Mon, 14 Jul 2025 09:57:40 -0400, Jon Mason wrote:
> 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.
> 
> 

Applied, thanks!

[1/1] arm/arch-armv*: Add basic tunes for newly added ARM ISAs
      commit: ad4cefeb514f3bddf7f4f415cf9a32845868904a

Best regards,
diff mbox series

Patch

diff --git a/meta-arm/conf/machine/include/arm/arch-armv8-7a.inc b/meta-arm/conf/machine/include/arm/arch-armv8-7a.inc
new file mode 100644
index 000000000000..6039baca3568
--- /dev/null
+++ b/meta-arm/conf/machine/include/arm/arch-armv8-7a.inc
@@ -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"
diff --git a/meta-arm/conf/machine/include/arm/arch-armv8-8a.inc b/meta-arm/conf/machine/include/arm/arch-armv8-8a.inc
new file mode 100644
index 000000000000..5694330a1d22
--- /dev/null
+++ b/meta-arm/conf/machine/include/arm/arch-armv8-8a.inc
@@ -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"
diff --git a/meta-arm/conf/machine/include/arm/arch-armv8-9a.inc b/meta-arm/conf/machine/include/arm/arch-armv8-9a.inc
new file mode 100644
index 000000000000..9c79658d3077
--- /dev/null
+++ b/meta-arm/conf/machine/include/arm/arch-armv8-9a.inc
@@ -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"
diff --git a/meta-arm/conf/machine/include/arm/arch-armv9-1a.inc b/meta-arm/conf/machine/include/arm/arch-armv9-1a.inc
new file mode 100644
index 000000000000..c42b5c00a9e4
--- /dev/null
+++ b/meta-arm/conf/machine/include/arm/arch-armv9-1a.inc
@@ -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"
diff --git a/meta-arm/conf/machine/include/arm/arch-armv9-2a.inc b/meta-arm/conf/machine/include/arm/arch-armv9-2a.inc
new file mode 100644
index 000000000000..211dac527f85
--- /dev/null
+++ b/meta-arm/conf/machine/include/arm/arch-armv9-2a.inc
@@ -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"
diff --git a/meta-arm/conf/machine/include/arm/arch-armv9-3a.inc b/meta-arm/conf/machine/include/arm/arch-armv9-3a.inc
new file mode 100644
index 000000000000..bdd8bb95388a
--- /dev/null
+++ b/meta-arm/conf/machine/include/arm/arch-armv9-3a.inc
@@ -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"
diff --git a/meta-arm/conf/machine/include/arm/arch-armv9-4a.inc b/meta-arm/conf/machine/include/arm/arch-armv9-4a.inc
new file mode 100644
index 000000000000..88c907c85d14
--- /dev/null
+++ b/meta-arm/conf/machine/include/arm/arch-armv9-4a.inc
@@ -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"
diff --git a/meta-arm/conf/machine/include/arm/arch-armv9-5a.inc b/meta-arm/conf/machine/include/arm/arch-armv9-5a.inc
new file mode 100644
index 000000000000..7202418b5dce
--- /dev/null
+++ b/meta-arm/conf/machine/include/arm/arch-armv9-5a.inc
@@ -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"