* [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9
@ 2023-07-11 20:10 Khem Raj
2023-07-11 20:10 ` [PATCH 2/2] arch-armv8,arch-armv9: Add sve based tune options Khem Raj
2023-07-12 10:29 ` [OE-core] [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9 Ross Burton
0 siblings, 2 replies; 6+ messages in thread
From: Khem Raj @ 2023-07-11 20:10 UTC (permalink / raw)
To: openembedded-core; +Cc: Khem Raj
This helps in defining correct compiler options and configure options
for glibc and overall ABI for toolchain
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/conf/machine/include/arm/feature-arm-sve.inc | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 meta/conf/machine/include/arm/feature-arm-sve.inc
diff --git a/meta/conf/machine/include/arm/feature-arm-sve.inc b/meta/conf/machine/include/arm/feature-arm-sve.inc
new file mode 100644
index 00000000000..279bf8c4862
--- /dev/null
+++ b/meta/conf/machine/include/arm/feature-arm-sve.inc
@@ -0,0 +1,5 @@
+# Scalable Vector Extension (SVE) for:
+# armv8.2-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, armv8-r, armv9a
+
+TUNEVALID[sve] = "Enable SVE instructions for ARMv8 and ARMv9"
+TUNE_CCARGS_MARCH_OPTS .= "${@bb.utils.contains('TUNE_FEATURES', 'sve', '+sve', '', d)}"
--
2.41.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] arch-armv8,arch-armv9: Add sve based tune options
2023-07-11 20:10 [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9 Khem Raj
@ 2023-07-11 20:10 ` Khem Raj
2023-07-12 10:29 ` [OE-core] [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9 Ross Burton
1 sibling, 0 replies; 6+ messages in thread
From: Khem Raj @ 2023-07-11 20:10 UTC (permalink / raw)
To: openembedded-core; +Cc: Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
meta/conf/machine/include/arm/arch-armv8-2a.inc | 7 ++++++-
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 ++++++-
4 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/meta/conf/machine/include/arm/arch-armv8-2a.inc b/meta/conf/machine/include/arm/arch-armv8-2a.inc
index 95368b0af79..6f31e26e34f 100644
--- a/meta/conf/machine/include/arm/arch-armv8-2a.inc
+++ b/meta/conf/machine/include/arm/arch-armv8-2a.inc
@@ -6,14 +6,19 @@ TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march
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"
+AVAILTUNES += "armv8-2a armv8-2a-crypto armv8-2a-crypto-sve"
ARMPKGARCH:tune-armv8-2a ?= "armv8-2a"
ARMPKGARCH:tune-armv8-2a-crypto ?= "armv8-2a"
+ARMPKGARCH:tune-armv8-2a-crypto-sve ?= "armv8-2a"
TUNE_FEATURES:tune-armv8-2a = "aarch64 armv8-2a"
TUNE_FEATURES:tune-armv8-2a-crypto = "${TUNE_FEATURES:tune-armv8-2a} crypto"
+TUNE_FEATURES:tune-armv8-2a-crypto-sve = "${TUNE_FEATURES:tune-armv8-2a-crypto} sve"
PACKAGE_EXTRA_ARCHS:tune-armv8-2a = "${PACKAGE_EXTRA_ARCHS:tune-armv8a} armv8-2a"
PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} armv8-2a-crypto"
+PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto-sve = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} armv8-2a-crypto-sve"
BASE_LIB:tune-armv8-2a = "lib64"
BASE_LIB:tune-armv8-2a-crypto = "lib64"
+BASE_LIB:tune-armv8-2a-crypto-sve = "lib64"
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"
--
2.41.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9
2023-07-11 20:10 [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9 Khem Raj
2023-07-11 20:10 ` [PATCH 2/2] arch-armv8,arch-armv9: Add sve based tune options Khem Raj
@ 2023-07-12 10:29 ` Ross Burton
2023-07-12 16:12 ` Khem Raj
1 sibling, 1 reply; 6+ messages in thread
From: Ross Burton @ 2023-07-12 10:29 UTC (permalink / raw)
To: raj.khem@gmail.com; +Cc: openembedded-core@lists.openembedded.org
On 11 Jul 2023, at 21:10, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote:
>
> This helps in defining correct compiler options and configure options
> for glibc and overall ABI for toolchain
Given this, shouldn’t the glibc patch respect the tune flags instead of forcibly turning sve off?
Ross
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9
2023-07-12 10:29 ` [OE-core] [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9 Ross Burton
@ 2023-07-12 16:12 ` Khem Raj
2023-07-21 14:34 ` Alexandre Belloni
0 siblings, 1 reply; 6+ messages in thread
From: Khem Raj @ 2023-07-12 16:12 UTC (permalink / raw)
To: Ross Burton; +Cc: openembedded-core@lists.openembedded.org
On Wed, Jul 12, 2023 at 3:29 AM Ross Burton <Ross.Burton@arm.com> wrote:
>
> On 11 Jul 2023, at 21:10, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote:
> >
> > This helps in defining correct compiler options and configure options
> > for glibc and overall ABI for toolchain
>
> Given this, shouldn’t the glibc patch respect the tune flags instead of forcibly turning sve off?
It will as a follow up.
>
> Ross
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9
2023-07-12 16:12 ` Khem Raj
@ 2023-07-21 14:34 ` Alexandre Belloni
2023-07-23 3:09 ` Khem Raj
0 siblings, 1 reply; 6+ messages in thread
From: Alexandre Belloni @ 2023-07-21 14:34 UTC (permalink / raw)
To: Khem Raj; +Cc: Ross Burton, openembedded-core@lists.openembedded.org
Hello Khem,
On 12/07/2023 09:12:54-0700, Khem Raj wrote:
> On Wed, Jul 12, 2023 at 3:29 AM Ross Burton <Ross.Burton@arm.com> wrote:
> >
> > On 11 Jul 2023, at 21:10, Khem Raj via lists.openembedded.org <raj.khem=gmail.com@lists.openembedded.org> wrote:
> > >
> > > This helps in defining correct compiler options and configure options
> > > for glibc and overall ABI for toolchain
> >
> > Given this, shouldn’t the glibc patch respect the tune flags instead of forcibly turning sve off?
>
> It will as a follow up.
I think we are still waiting for the follow up.
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [OE-core] [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9
2023-07-21 14:34 ` Alexandre Belloni
@ 2023-07-23 3:09 ` Khem Raj
0 siblings, 0 replies; 6+ messages in thread
From: Khem Raj @ 2023-07-23 3:09 UTC (permalink / raw)
To: Alexandre Belloni; +Cc: Ross Burton, openembedded-core@lists.openembedded.org
[-- Attachment #1: Type: text/plain, Size: 982 bytes --]
On Fri, Jul 21, 2023 at 7:34 AM Alexandre Belloni <
alexandre.belloni@bootlin.com> wrote:
> Hello Khem,
>
> On 12/07/2023 09:12:54-0700, Khem Raj wrote:
> > On Wed, Jul 12, 2023 at 3:29 AM Ross Burton <Ross.Burton@arm.com> wrote:
> > >
> > > On 11 Jul 2023, at 21:10, Khem Raj via lists.openembedded.org
> <raj.khem=gmail.com@lists.openembedded.org> wrote:
> > > >
> > > > This helps in defining correct compiler options and configure options
> > > > for glibc and overall ABI for toolchain
> > >
> > > Given this, shouldn’t the glibc patch respect the tune flags instead
> of forcibly turning sve off?
> >
> > It will as a follow up.
>
> I think we are still waiting for the follow up.
Hmm I was thinking of sending it separate since it does not impact this
pull I am away this week perhaps will do upon return next week
>
>
> --
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
[-- Attachment #2: Type: text/html, Size: 1798 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-07-23 3:09 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-11 20:10 [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9 Khem Raj
2023-07-11 20:10 ` [PATCH 2/2] arch-armv8,arch-armv9: Add sve based tune options Khem Raj
2023-07-12 10:29 ` [OE-core] [PATCH 1/2] tunes: Add support for sve instructions on armv8/armv9 Ross Burton
2023-07-12 16:12 ` Khem Raj
2023-07-21 14:34 ` Alexandre Belloni
2023-07-23 3:09 ` Khem Raj
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox