mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-27 04:36:19 +08:00
optimize sm3 arm64
This commit is contained in:
parent
4d21a43a59
commit
ec02d6afc6
@ -11,10 +11,15 @@
|
|||||||
#define hlp1 R9
|
#define hlp1 R9
|
||||||
|
|
||||||
// Wt = Mt; for 0 <= t <= 3
|
// Wt = Mt; for 0 <= t <= 3
|
||||||
#define MSGSCHEDULE0(index) \
|
#define MSGSCHEDULE0() \
|
||||||
MOVW (index*4)(SI), AX; \
|
LDPW (0*8)(SI), (AX, BX); \
|
||||||
|
LDPW (1*8)(SI), (CX, DX); \
|
||||||
REVW AX, AX; \
|
REVW AX, AX; \
|
||||||
MOVW AX, (index*4)(BP)
|
REVW BX, BX; \
|
||||||
|
REVW CX, CX; \
|
||||||
|
REVW DX, DX; \
|
||||||
|
STPW (AX, BX), (0*8)(BP); \
|
||||||
|
STPW (CX, DX), (1*8)(BP)
|
||||||
|
|
||||||
// Wt+4 = Mt+4; for 0 <= t <= 11
|
// Wt+4 = Mt+4; for 0 <= t <= 11
|
||||||
#define MSGSCHEDULE01(index) \
|
#define MSGSCHEDULE01(index) \
|
||||||
@ -178,10 +183,7 @@ loop:
|
|||||||
MOVW R25, R16
|
MOVW R25, R16
|
||||||
MOVW R26, R17
|
MOVW R26, R17
|
||||||
|
|
||||||
MSGSCHEDULE0(0)
|
MSGSCHEDULE0()
|
||||||
MSGSCHEDULE0(1)
|
|
||||||
MSGSCHEDULE0(2)
|
|
||||||
MSGSCHEDULE0(3)
|
|
||||||
|
|
||||||
SM3ROUND0(0, 0x79cc4519, R19, R20, R21, R22, R23, R24, R25, R26)
|
SM3ROUND0(0, 0x79cc4519, R19, R20, R21, R22, R23, R24, R25, R26)
|
||||||
SM3ROUND0(1, 0xf3988a32, R26, R19, R20, R21, R22, R23, R24, R25)
|
SM3ROUND0(1, 0xf3988a32, R26, R19, R20, R21, R22, R23, R24, R25)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user