internal/sm2ec: ppc64le, p256Sqr, remove stange code

This commit is contained in:
Sun Yimin 2024-09-03 08:58:47 +08:00 committed by GitHub
parent c88486ea0a
commit 236f23b24c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1693,10 +1693,13 @@ TEXT ·p256Mul(SB), NOSPLIT, $0-24
TEXT ·p256Sqr(SB), NOSPLIT, $0-24 TEXT ·p256Sqr(SB), NOSPLIT, $0-24
MOVD res+0(FP), res_ptr MOVD res+0(FP), res_ptr
MOVD in+8(FP), x_ptr MOVD in+8(FP), x_ptr
MOVD n+16(FP), N
MOVD $16, R16 MOVD $16, R16
MOVD $32, R17 MOVD $32, R17
MOVD $p256mul<>+0x00(SB), CPOOL MOVD $p256mul<>+0x00(SB), CPOOL
LXVD2X (R16)(CPOOL), P1
LXVD2X (R0)(CPOOL), P0
LXVD2X (R0)(x_ptr), X0 LXVD2X (R0)(x_ptr), X0
LXVD2X (R16)(x_ptr), X1 LXVD2X (R16)(x_ptr), X1
@ -1710,23 +1713,16 @@ sqrLoop:
VOR X0, X0, Y0 VOR X0, X0, Y0
VOR X1, X1, Y1 VOR X1, X1, Y1
LXVD2X (R16)(CPOOL), P1
LXVD2X (R0)(CPOOL), P0
CALL sm2p256MulInternal<>(SB) CALL sm2p256MulInternal<>(SB)
MOVD n+16(FP), N
ADD $-1, N ADD $-1, N
CMP $0, N CMP $0, N
BEQ done BEQ done
MOVD N, n+16(FP) // Save counter to avoid clobber
VOR T0, T0, X0 VOR T0, T0, X0
VOR T1, T1, X1 VOR T1, T1, X1
BR sqrLoop BR sqrLoop
done: done:
MOVD $p256mul<>+0x00(SB), CPOOL // What's the purpose of this?
XXPERMDI T0, T0, $2, T0 XXPERMDI T0, T0, $2, T0
XXPERMDI T1, T1, $2, T1 XXPERMDI T1, T1, $2, T1
STXVD2X T0, (R0)(res_ptr) STXVD2X T0, (R0)(res_ptr)