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