diff mbox series

[v2,2/3] arm64/sve: Use the sve_flush macros in sve_load_from_fpsimd_state()

Message ID 20210511160446.42871-3-broonie@kernel.org (mailing list archive)
State New, archived
Headers show
Series arm64/sve: Trivial optimisation for 128 bit SVE vectors | expand

Commit Message

Mark Brown May 11, 2021, 4:04 p.m. UTC
This makes the code a bit clearer and as a result we can also make the
indentation more normal, there is no change to the generated code.

Signed-off-by: Mark Brown <broonie@kernel.org>
---
 arch/arm64/kernel/entry-fpsimd.S | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

Comments

Dave Martin May 12, 2021, 1:40 p.m. UTC | #1
On Tue, May 11, 2021 at 05:04:45PM +0100, Mark Brown wrote:
> This makes the code a bit clearer and as a result we can also make the
> indentation more normal, there is no change to the generated code.
> 
> Signed-off-by: Mark Brown <broonie@kernel.org>

Reviewed-by: Dave Martin <Dave.Martin@arm.com>

> ---
>  arch/arm64/kernel/entry-fpsimd.S | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/arm64/kernel/entry-fpsimd.S b/arch/arm64/kernel/entry-fpsimd.S
> index 7921d58427c2..dd8382e5ce82 100644
> --- a/arch/arm64/kernel/entry-fpsimd.S
> +++ b/arch/arm64/kernel/entry-fpsimd.S
> @@ -63,11 +63,10 @@ SYM_FUNC_END(sve_set_vq)
>   * and the rest zeroed. All the other SVE registers will be zeroed.
>   */
>  SYM_FUNC_START(sve_load_from_fpsimd_state)
> -		sve_load_vq	x1, x2, x3
> -		fpsimd_restore	x0, 8
> - _for n, 0, 15, _sve_pfalse	\n
> -		_sve_wrffr	0
> -		ret
> +	sve_load_vq	x1, x2, x3
> +	fpsimd_restore	x0, 8
> +	sve_flush_p_ffr
> +	ret
>  SYM_FUNC_END(sve_load_from_fpsimd_state)
>  
>  /* Zero all SVE registers but the first 128-bits of each vector */
> -- 
> 2.20.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff mbox series

Patch

diff --git a/arch/arm64/kernel/entry-fpsimd.S b/arch/arm64/kernel/entry-fpsimd.S
index 7921d58427c2..dd8382e5ce82 100644
--- a/arch/arm64/kernel/entry-fpsimd.S
+++ b/arch/arm64/kernel/entry-fpsimd.S
@@ -63,11 +63,10 @@  SYM_FUNC_END(sve_set_vq)
  * and the rest zeroed. All the other SVE registers will be zeroed.
  */
 SYM_FUNC_START(sve_load_from_fpsimd_state)
-		sve_load_vq	x1, x2, x3
-		fpsimd_restore	x0, 8
- _for n, 0, 15, _sve_pfalse	\n
-		_sve_wrffr	0
-		ret
+	sve_load_vq	x1, x2, x3
+	fpsimd_restore	x0, 8
+	sve_flush_p_ffr
+	ret
 SYM_FUNC_END(sve_load_from_fpsimd_state)
 
 /* Zero all SVE registers but the first 128-bits of each vector */