Message ID | 20221117114130.687261-1-broonie@kernel.org |
---|---|
State | Accepted |
Commit | 284d2b44a8cc0df8ed25596092fa864bc57b5bab |
Headers | show |
Series | [v1] kselftest/arm64: Use preferred form for predicate load/stores | expand |
On Thu, Nov 17, 2022 at 11:41:30AM +0000, Mark Brown wrote: > The preferred form of the str/ldr for predicate registers with an immediate > of zero is to omit the zero, and the clang built in assembler rejects the > zero immediate. Drop the immediate. Rejecting that outright seems like a bug in clang, given there are legitimate reasons to write code that way (e.g. using asm-offsets style definitions); has that been reported so that it can be fixed? Regardless, the patch itself looks fine, and I don't mean to block this as-is! Thanks, Mark. > > Signed-off-by: Mark Brown <broonie@kernel.org> > --- > tools/testing/selftests/arm64/abi/syscall-abi-asm.S | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/arm64/abi/syscall-abi-asm.S b/tools/testing/selftests/arm64/abi/syscall-abi-asm.S > index b523c21c2278..acd5e9f3bc0b 100644 > --- a/tools/testing/selftests/arm64/abi/syscall-abi-asm.S > +++ b/tools/testing/selftests/arm64/abi/syscall-abi-asm.S > @@ -153,7 +153,7 @@ do_syscall: > // Only set a non-zero FFR, test patterns must be zero since the > // syscall should clear it - this lets us handle FA64. > ldr x2, =ffr_in > - ldr p0, [x2, #0] > + ldr p0, [x2] > ldr x2, [x2, #0] > cbz x2, 2f > wrffr p0.b > @@ -298,7 +298,7 @@ do_syscall: > cbz x2, 1f > ldr x2, =ffr_out > rdffr p0.b > - str p0, [x2, #0] > + str p0, [x2] > 1: > > // Restore callee saved registers x19-x30 > > base-commit: 30a0b95b1335e12efef89dd78518ed3e4a71a763 > -- > 2.30.2 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Thu, 17 Nov 2022 11:41:30 +0000, Mark Brown wrote: > The preferred form of the str/ldr for predicate registers with an immediate > of zero is to omit the zero, and the clang built in assembler rejects the > zero immediate. Drop the immediate. > > Applied to arm64 (for-next/selftests), thanks! [1/1] kselftest/arm64: Use preferred form for predicate load/stores https://git.kernel.org/arm64/c/284d2b44a8cc Cheers,
diff --git a/tools/testing/selftests/arm64/abi/syscall-abi-asm.S b/tools/testing/selftests/arm64/abi/syscall-abi-asm.S index b523c21c2278..acd5e9f3bc0b 100644 --- a/tools/testing/selftests/arm64/abi/syscall-abi-asm.S +++ b/tools/testing/selftests/arm64/abi/syscall-abi-asm.S @@ -153,7 +153,7 @@ do_syscall: // Only set a non-zero FFR, test patterns must be zero since the // syscall should clear it - this lets us handle FA64. ldr x2, =ffr_in - ldr p0, [x2, #0] + ldr p0, [x2] ldr x2, [x2, #0] cbz x2, 2f wrffr p0.b @@ -298,7 +298,7 @@ do_syscall: cbz x2, 1f ldr x2, =ffr_out rdffr p0.b - str p0, [x2, #0] + str p0, [x2] 1: // Restore callee saved registers x19-x30
The preferred form of the str/ldr for predicate registers with an immediate of zero is to omit the zero, and the clang built in assembler rejects the zero immediate. Drop the immediate. Signed-off-by: Mark Brown <broonie@kernel.org> --- tools/testing/selftests/arm64/abi/syscall-abi-asm.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) base-commit: 30a0b95b1335e12efef89dd78518ed3e4a71a763