mirror of
https://github.com/emmansun/gmsm.git
synced 2025-05-13 20:46:17 +08:00
sm4: xts sm4ni arm64, fix register confliction #151
This commit is contained in:
parent
d28883e2c7
commit
d3c19c171a
@ -25,14 +25,17 @@
|
||||
#define T6 V17
|
||||
#define T7 V18
|
||||
|
||||
#define K0 V19
|
||||
#define K1 V20
|
||||
#define K2 V21
|
||||
#define K3 V22
|
||||
#define K4 V23
|
||||
#define K5 V24
|
||||
#define K6 V25
|
||||
#define K7 V26
|
||||
#define RK0 V19
|
||||
#define RK1 V20
|
||||
#define RK2 V21
|
||||
#define RK3 V22
|
||||
#define RK4 V23
|
||||
#define RK5 V24
|
||||
#define RK6 V25
|
||||
#define RK7 V26
|
||||
|
||||
#define K0 V27
|
||||
#define K1 V28
|
||||
|
||||
#include "sm4ni_macros_arm64.s"
|
||||
#include "xts_macros_arm64.s"
|
||||
@ -93,9 +96,9 @@ TEXT ·encryptSm4NiXts(SB),0,$128-64
|
||||
MOVD $0x87, I
|
||||
VMOV I, POLY.D[0]
|
||||
|
||||
// For SM4 round keys are stored in: K0 .. K7
|
||||
VLD1.P 64(rk), [K0.S4, K1.S4, K2.S4, K3.S4]
|
||||
VLD1.P 64(rk), [K4.S4, K5.S4, K6.S4, K7.S4]
|
||||
// For SM4 round keys are stored in: RK0 .. RK7
|
||||
VLD1.P 64(rk), [RK0.S4, RK1.S4, RK2.S4, RK3.S4]
|
||||
VLD1.P 64(rk), [RK4.S4, RK5.S4, RK6.S4, RK7.S4]
|
||||
|
||||
VLD1 (twPtr), [TW.B16]
|
||||
|
||||
@ -187,9 +190,9 @@ TEXT ·encryptSm4NiXtsGB(SB),0,$128-64
|
||||
LSL $56, I
|
||||
VMOV I, POLY.D[1]
|
||||
|
||||
// For SM4 round keys are stored in: K0 .. K7
|
||||
VLD1.P 64(rk), [K0.S4, K1.S4, K2.S4, K3.S4]
|
||||
VLD1.P 64(rk), [K4.S4, K5.S4, K6.S4, K7.S4]
|
||||
// For SM4 round keys are stored in: RK0 .. RK7
|
||||
VLD1.P 64(rk), [RK0.S4, RK1.S4, RK2.S4, RK3.S4]
|
||||
VLD1.P 64(rk), [RK4.S4, RK5.S4, RK6.S4, RK7.S4]
|
||||
|
||||
VLD1 (twPtr), [TW.B16]
|
||||
|
||||
@ -280,9 +283,9 @@ TEXT ·decryptSm4NiXts(SB),0,$128-64
|
||||
MOVD $0x87, I
|
||||
VMOV I, POLY.D[0]
|
||||
|
||||
// For SM4 round keys are stored in: K0 .. K7
|
||||
VLD1.P 64(rk), [K0.S4, K1.S4, K2.S4, K3.S4]
|
||||
VLD1.P 64(rk), [K4.S4, K5.S4, K6.S4, K7.S4]
|
||||
// For SM4 round keys are stored in: RK0 .. RK7
|
||||
VLD1.P 64(rk), [RK0.S4, RK1.S4, RK2.S4, RK3.S4]
|
||||
VLD1.P 64(rk), [RK4.S4, RK5.S4, RK6.S4, RK7.S4]
|
||||
|
||||
VLD1 (twPtr), [TW.B16]
|
||||
|
||||
@ -399,9 +402,9 @@ TEXT ·decryptSm4NiXtsGB(SB),0,$128-64
|
||||
LSL $56, I
|
||||
VMOV I, POLY.D[1]
|
||||
|
||||
// For SM4 round keys are stored in: K0 .. K7
|
||||
VLD1.P 64(rk), [K0.S4, K1.S4, K2.S4, K3.S4]
|
||||
VLD1.P 64(rk), [K4.S4, K5.S4, K6.S4, K7.S4]
|
||||
// For SM4 round keys are stored in: RK0 .. RK7
|
||||
VLD1.P 64(rk), [RK0.S4, RK1.S4, RK2.S4, RK3.S4]
|
||||
VLD1.P 64(rk), [RK4.S4, RK5.S4, RK6.S4, RK7.S4]
|
||||
|
||||
VLD1 (twPtr), [TW.B16]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user