[PATCH v1] kselftest/arm64: Use preferred form for predicate load/stores

Mark Rutland mark.rutland at arm.com
Thu Nov 17 03:52:22 PST 2022


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 at 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 at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list