Commit 483dbf6a authored by Mark Brown's avatar Mark Brown Committed by Will Deacon
Browse files

arm64/sve: Split _sve_flush macro into separate Z and predicate flushes



Trivial refactoring to support further work, no change to generated code.

Signed-off-by: default avatarMark Brown <broonie@kernel.org>
Reviewed-by: default avatarDave Martin <Dave.Martin@arm.com>
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20210512151131.27877-2-broonie@kernel.org


Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent c4681547
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -213,8 +213,10 @@
	mov	v\nz\().16b, v\nz\().16b
	mov	v\nz\().16b, v\nz\().16b
.endm
.endm


.macro sve_flush
.macro sve_flush_z
 _for n, 0, 31, _sve_flush_z	\n
 _for n, 0, 31, _sve_flush_z	\n
.endm
.macro sve_flush_p_ffr
 _for n, 0, 15, _sve_pfalse	\n
 _for n, 0, 15, _sve_pfalse	\n
		_sve_wrffr	0
		_sve_wrffr	0
.endm
.endm
+2 −1
Original line number Original line Diff line number Diff line
@@ -72,7 +72,8 @@ SYM_FUNC_END(sve_load_from_fpsimd_state)


/* Zero all SVE registers but the first 128-bits of each vector */
/* Zero all SVE registers but the first 128-bits of each vector */
SYM_FUNC_START(sve_flush_live)
SYM_FUNC_START(sve_flush_live)
	sve_flush
	sve_flush_z
	sve_flush_p_ffr
	ret
	ret
SYM_FUNC_END(sve_flush_live)
SYM_FUNC_END(sve_flush_live)