Commit 26d53a9c authored by Nicholas Piggin's avatar Nicholas Piggin Committed by Michael Ellerman
Browse files

crypto: powerpc - Use address generation helper for asm



Replace open-coded toc-relative address calculation with helper macros,
commit dab3b8f4 ("powerpc/64: asm use consistent global variable
declaration and access") made similar conversions already but missed
this one.

This allows data addressing model to be changed more easily.

Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230203113858.1152093-2-npiggin@gmail.com
parent e64e7105
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -113,9 +113,7 @@ FUNC_START(CRC_FUNCTION_NAME)
#endif

#ifdef BYTESWAP_DATA
	addis	r3,r2,.byteswap_constant@toc@ha
	addi	r3,r3,.byteswap_constant@toc@l

	LOAD_REG_ADDR(r3, .byteswap_constant)
	lvx	byteswap,0,r3
	addi	r3,r3,16
#endif
@@ -150,8 +148,7 @@ FUNC_START(CRC_FUNCTION_NAME)
	addi	r7,r7,-1
	mtctr	r7

	addis	r3,r2,.constants@toc@ha
	addi	r3,r3,.constants@toc@l
	LOAD_REG_ADDR(r3, .constants)

	/* Find the start of our constants */
	add	r3,r3,r8
@@ -506,8 +503,7 @@ FUNC_START(CRC_FUNCTION_NAME)

.Lbarrett_reduction:
	/* Barrett constants */
	addis	r3,r2,.barrett_constants@toc@ha
	addi	r3,r3,.barrett_constants@toc@l
	LOAD_REG_ADDR(r3, .barrett_constants)

	lvx	const1,0,r3
	lvx	const2,off16,r3
@@ -610,8 +606,7 @@ FUNC_START(CRC_FUNCTION_NAME)
	cmpdi	r5,0
	beq	.Lzero

	addis	r3,r2,.short_constants@toc@ha
	addi	r3,r3,.short_constants@toc@l
	LOAD_REG_ADDR(r3, .short_constants)

	/* Calculate where in the constant table we need to start */
	subfic	r6,r5,256