zuc: try to arm64

This commit is contained in:
Sun Yimin 2022-07-07 13:44:10 +08:00 committed by GitHub
parent d79c799dad
commit f169de84de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -305,21 +305,21 @@ GLOBL mask_S1<>(SB), RODATA, $16
VST1 [V0.B16, V1.B16], (SI) \ VST1 [V0.B16, V1.B16], (SI) \
SUB $32, SI SUB $32, SI
#define LOAD_STATE() \ #define LOAD_STATE(r) \
MOVW OFFSET_FR1(SI), R10 \ MOVW 64+r, R10 \
MOVW OFFSET_FR2(SI), R11 \ MOVW 68+r, R11 \
MOVW OFFSET_BRC_X0(SI), R12 \ MOVW 72+r, R12 \
MOVW OFFSET_BRC_X1(SI), R13 \ MOVW 76+r, R13 \
MOVW OFFSET_BRC_X2(SI), R14 \ MOVW 80+r, R14 \
MOVW OFFSET_BRC_X3(SI), R15 MOVW 84+r, R15
#define SAVE_STATE() \ #define SAVE_STATE(r) \
MOVW R10, OFFSET_FR1(SI) \ MOVW R10, 64+r \
MOVW R11, OFFSET_FR2(SI) \ MOVW R11, 68+r \
MOVW R12, OFFSET_BRC_X0(SI) \ MOVW R12, 72+r \
MOVW R13, OFFSET_BRC_X1(SI) \ MOVW R13, 76+r \
MOVW R14, OFFSET_BRC_X2(SI) \ MOVW R14, 80+r \
MOVW R15, OFFSET_BRC_X3(SI) MOVW R15, 84+r
// func genKeywordAsm(s *zucState32) uint32 // func genKeywordAsm(s *zucState32) uint32
TEXT ·genKeywordAsm(SB),NOSPLIT,$0 TEXT ·genKeywordAsm(SB),NOSPLIT,$0
@ -328,7 +328,7 @@ TEXT ·genKeywordAsm(SB),NOSPLIT,$0
LOAD_GLOBAL_DATA() LOAD_GLOBAL_DATA()
VEOR ZERO.B16, ZERO.B16, ZERO.B16 VEOR ZERO.B16, ZERO.B16, ZERO.B16
LOAD_STATE() LOAD_STATE(0(SI))
BITS_REORG(0) BITS_REORG(0)
NONLIN_FUN() NONLIN_FUN()
@ -337,7 +337,7 @@ TEXT ·genKeywordAsm(SB),NOSPLIT,$0
MOVW AX, ret+8(FP) MOVW AX, ret+8(FP)
EOR AX, AX EOR AX, AX
LFSR_UPDT(0) LFSR_UPDT(0)
SAVE_STATE() SAVE_STATE(0(SI))
RESTORE_LFSR_0() RESTORE_LFSR_0()
RET RET
@ -368,7 +368,7 @@ TEXT ·genKeyStreamAsm(SB),NOSPLIT,$0
LOAD_GLOBAL_DATA() LOAD_GLOBAL_DATA()
VEOR ZERO.B16, ZERO.B16, ZERO.B16 VEOR ZERO.B16, ZERO.B16, ZERO.B16
LOAD_STATE() LOAD_STATE(0(SI))
zucSixteens: zucSixteens:
CMP $16, BP CMP $16, BP
@ -430,7 +430,7 @@ zucSingle:
ONEROUND(0) ONEROUND(0)
RESTORE_LFSR_0() RESTORE_LFSR_0()
zucRet: zucRet:
SAVE_STATE() SAVE_STATE(0(SI))
RET RET
// func genKeyStreamRev32Asm(keyStream []byte, pState *zucState32) // func genKeyStreamRev32Asm(keyStream []byte, pState *zucState32)
@ -443,7 +443,7 @@ TEXT ·genKeyStreamRev32Asm(SB),NOSPLIT,$0
VEOR ZERO.B16, ZERO.B16, ZERO.B16 VEOR ZERO.B16, ZERO.B16, ZERO.B16
LSR $2, BP LSR $2, BP
LOAD_STATE() LOAD_STATE(0(SI))
zucSixteens: zucSixteens:
CMP $16, BP CMP $16, BP
@ -505,5 +505,5 @@ zucSingle:
ROUND_REV32(0) ROUND_REV32(0)
RESTORE_LFSR_0() RESTORE_LFSR_0()
zucRet: zucRet:
SAVE_STATE() SAVE_STATE(0(SI))
RET RET