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

Jon Mason <[email protected]>
Newsgroups org.yoctoproject.lists.meta-arm
Message-ID <[email protected]>
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 <[email protected]>
---
 .../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

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"
-- 
2.39.5 (Apple Git-154)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.