sm3: ppc64x, fix general purpose register usage issue

This commit is contained in:
Sun Yimin 2024-09-06 15:19:23 +08:00 committed by GitHub
parent fa9aba2cd6
commit 2d3220793c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -225,18 +225,18 @@ TEXT ·blockMultBy4(SB), NOSPLIT, $0
MOVD blocks+24(FP), blockCount MOVD blocks+24(FP), blockCount
// load state // load state
MOVD (R0)(digPtr), R4 MOVD (R0)(digPtr), R19
LXVW4X (R0)(R4), a LXVW4X (R0)(R19), a
LXVW4X (R16)(R4), e LXVW4X (R16)(R19), e
MOVD (R15)(digPtr), R4 MOVD (R15)(digPtr), R19
LXVW4X (R0)(R4), b LXVW4X (R0)(R19), b
LXVW4X (R16)(R4), f LXVW4X (R16)(R19), f
MOVD (R16)(digPtr), R4 MOVD (R16)(digPtr), R19
LXVW4X (R0)(R4), c LXVW4X (R0)(R19), c
LXVW4X (R16)(R4), g LXVW4X (R16)(R19), g
MOVD (R17)(digPtr), R4 MOVD (R17)(digPtr), R19
LXVW4X (R0)(R4), d LXVW4X (R0)(R19), d
LXVW4X (R16)(R4), h LXVW4X (R16)(R19), h
TRANSPOSE_MATRIX(a, b, c, d) TRANSPOSE_MATRIX(a, b, c, d)
TRANSPOSE_MATRIX(e, f, g, h) TRANSPOSE_MATRIX(e, f, g, h)
@ -352,18 +352,18 @@ end:
TRANSPOSE_MATRIX(e, f, g, h) TRANSPOSE_MATRIX(e, f, g, h)
// save state // save state
MOVD (R0)(digPtr), R4 MOVD (R0)(digPtr), R19
STXVW4X a, (R0)(R4) STXVW4X a, (R0)(R19)
STXVW4X e, (R16)(R4) STXVW4X e, (R16)(R19)
MOVD (R15)(digPtr), R4 MOVD (R15)(digPtr), R19
STXVW4X b, (R0)(R4) STXVW4X b, (R0)(R19)
STXVW4X f, (R16)(R4) STXVW4X f, (R16)(R19)
MOVD (R16)(digPtr), R4 MOVD (R16)(digPtr), R19
STXVW4X c, (R0)(R4) STXVW4X c, (R0)(R19)
STXVW4X g, (R16)(R4) STXVW4X g, (R16)(R19)
MOVD (R17)(digPtr), R4 MOVD (R17)(digPtr), R19
STXVW4X d, (R0)(R4) STXVW4X d, (R0)(R19)
STXVW4X h, (R16)(R4) STXVW4X h, (R16)(R19)
RET RET