Message ID | 20241108-arm64-selftest-asm-error-v1-1-7ce27b42a677@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | kselftest/arm64: Fix build with stricter assemblers | expand |
On Fri, Nov 08, 2024 at 03:20:46PM +0000, Mark Brown wrote: > While some assemblers (including the LLVM assembler I mostly use) will > happily accept SMSTART as an instruction by default others, specifically > gas, require that any architecture extensions be explicitly enabled. > The assembler SME test programs use manually encoded helpers for the new > instructions but no SMSTART helper is defined, only SM and ZA specific > variants. Unfortunately the irritators that were just added use plain > SMSTART so on stricter assemblers these fail to build: > > za-test.S:160: Error: selected processor does not support `smstart' > > Switch to using SMSTART ZA via the manually encoded smstart_za macro we > already have defined. > > Fixes: d65f27d240bb ("kselftest/arm64: Implement irritators for ZA and ZT") > Signed-off-by: Mark Brown <broonie@kernel.org> > --- > tools/testing/selftests/arm64/fp/za-test.S | 2 +- > tools/testing/selftests/arm64/fp/zt-test.S | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/arm64/fp/za-test.S b/tools/testing/selftests/arm64/fp/za-test.S > index 95fdc1c1f228221bc812087a528e4b7c99767bba..9c33e13e9dc4a6f084649fe7d0fb838d9171e3aa 100644 > --- a/tools/testing/selftests/arm64/fp/za-test.S > +++ b/tools/testing/selftests/arm64/fp/za-test.S > @@ -157,7 +157,7 @@ function irritator_handler > > // This will reset ZA to all bits 0 > smstop > - smstart > + smstart_za And is smstop ok for assemblers? I think I got the error first on smstop with my toolchain.
On Fri, Nov 08, 2024 at 03:27:58PM +0000, Catalin Marinas wrote: > On Fri, Nov 08, 2024 at 03:20:46PM +0000, Mark Brown wrote: > > While some assemblers (including the LLVM assembler I mostly use) will > > happily accept SMSTART as an instruction by default others, specifically > > gas, require that any architecture extensions be explicitly enabled. > > The assembler SME test programs use manually encoded helpers for the new > > instructions but no SMSTART helper is defined, only SM and ZA specific > > variants. Unfortunately the irritators that were just added use plain > > SMSTART so on stricter assemblers these fail to build: > > > > za-test.S:160: Error: selected processor does not support `smstart' > > > > Switch to using SMSTART ZA via the manually encoded smstart_za macro we > > already have defined. > > > > Fixes: d65f27d240bb ("kselftest/arm64: Implement irritators for ZA and ZT") > > Signed-off-by: Mark Brown <broonie@kernel.org> > > --- > > tools/testing/selftests/arm64/fp/za-test.S | 2 +- > > tools/testing/selftests/arm64/fp/zt-test.S | 2 +- > > 2 files changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/tools/testing/selftests/arm64/fp/za-test.S b/tools/testing/selftests/arm64/fp/za-test.S > > index 95fdc1c1f228221bc812087a528e4b7c99767bba..9c33e13e9dc4a6f084649fe7d0fb838d9171e3aa 100644 > > --- a/tools/testing/selftests/arm64/fp/za-test.S > > +++ b/tools/testing/selftests/arm64/fp/za-test.S > > @@ -157,7 +157,7 @@ function irritator_handler > > > > // This will reset ZA to all bits 0 > > smstop > > - smstart > > + smstart_za > > And is smstop ok for assemblers? I think I got the error first on > smstop with my toolchain. Ah, we already have a macro for that. Let me check the error I got, maybe I got confused (with the multitude of other warnings ;)).
On Fri, Nov 08, 2024 at 03:29:37PM +0000, Catalin Marinas wrote: > On Fri, Nov 08, 2024 at 03:27:58PM +0000, Catalin Marinas wrote: > > > - smstart > > > + smstart_za > > And is smstop ok for assemblers? I think I got the error first on > > smstop with my toolchain. > Ah, we already have a macro for that. Let me check the error I got, > maybe I got confused (with the multitude of other warnings ;)). Yeah, smstop is already used in those programs (in 'barf') so they should never have complied if the macro wasn't working.
diff --git a/tools/testing/selftests/arm64/fp/za-test.S b/tools/testing/selftests/arm64/fp/za-test.S index 95fdc1c1f228221bc812087a528e4b7c99767bba..9c33e13e9dc4a6f084649fe7d0fb838d9171e3aa 100644 --- a/tools/testing/selftests/arm64/fp/za-test.S +++ b/tools/testing/selftests/arm64/fp/za-test.S @@ -157,7 +157,7 @@ function irritator_handler // This will reset ZA to all bits 0 smstop - smstart + smstart_za ret endfunction diff --git a/tools/testing/selftests/arm64/fp/zt-test.S b/tools/testing/selftests/arm64/fp/zt-test.S index a90712802801efb97dc6bf8027fb9ceac8f0a895..38080f3c328042af6b3e2d7c3300162ea6efa4ea 100644 --- a/tools/testing/selftests/arm64/fp/zt-test.S +++ b/tools/testing/selftests/arm64/fp/zt-test.S @@ -126,7 +126,7 @@ function irritator_handler // This will reset ZT to all bits 0 smstop - smstart + smstart_za ret endfunction
While some assemblers (including the LLVM assembler I mostly use) will happily accept SMSTART as an instruction by default others, specifically gas, require that any architecture extensions be explicitly enabled. The assembler SME test programs use manually encoded helpers for the new instructions but no SMSTART helper is defined, only SM and ZA specific variants. Unfortunately the irritators that were just added use plain SMSTART so on stricter assemblers these fail to build: za-test.S:160: Error: selected processor does not support `smstart' Switch to using SMSTART ZA via the manually encoded smstart_za macro we already have defined. Fixes: d65f27d240bb ("kselftest/arm64: Implement irritators for ZA and ZT") Signed-off-by: Mark Brown <broonie@kernel.org> --- tools/testing/selftests/arm64/fp/za-test.S | 2 +- tools/testing/selftests/arm64/fp/zt-test.S | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) --- base-commit: 95ad089d464da2a4cd4511fb077f25994104c8f1 change-id: 20241108-arm64-selftest-asm-error-d78570e50b3b Best regards,