From 5d9aa05746b8a48ad084a8fcc7a1a5886788d472 Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Thu, 12 Sep 2024 16:08:15 +0800 Subject: [PATCH] sm4: ppc64x, fix bug #249 --- sm4/asm_ppc64x.s | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sm4/asm_ppc64x.s b/sm4/asm_ppc64x.s index e039d79..55e97f6 100644 --- a/sm4/asm_ppc64x.s +++ b/sm4/asm_ppc64x.s @@ -212,6 +212,10 @@ TEXT ·encryptBlocksAsm(SB),NOSPLIT,$0 BEQ enc8blocks enc4blocks: + // prepare counter + MOVD $8, R7 + MOVD R7, CTR + MOVD $16, R7 MOVD $32, R8 MOVD $48, R9 @@ -220,9 +224,6 @@ enc4blocks: PPC64X_LXVW4X(R5, R8, V2) PPC64X_LXVW4X(R5, R9, V3) PRE_TRANSPOSE_MATRIX(V0, V1, V2, V3) - // prepare counter - MOVD $8, R7 - MOVD R7, CTR enc4blocksLoop: // load xk @@ -239,6 +240,10 @@ enc4blocksLoop: RET enc8blocks: + // prepare counter + MOVD $8, R7 + MOVD R7, CTR + MOVD $16, R7 MOVD $32, R8 MOVD $48, R9 @@ -256,9 +261,6 @@ enc8blocks: PPC64X_LXVW4X(R5, R14, V7) PRE_TRANSPOSE_MATRIX(V0, V1, V2, V3) PRE_TRANSPOSE_MATRIX(V4, V5, V6, V7) - // prepare counter - MOVD $8, R7 - MOVD R7, CTR enc8blocksLoop: LXVW4X (R3), V8