mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-28 13:16:19 +08:00
sm4: use new method to load global data
This commit is contained in:
parent
c256f1d257
commit
80e88ea2b2
@ -33,24 +33,18 @@ GLOBL fk_mask<>(SB), (16+8), $16
|
|||||||
#define LOAD_SM4_AESNI_CONSTS() \
|
#define LOAD_SM4_AESNI_CONSTS() \
|
||||||
MOVW $0x0F0F0F0F, R20 \
|
MOVW $0x0F0F0F0F, R20 \
|
||||||
VMOV R20, NIBBLE_MASK.S4 \
|
VMOV R20, NIBBLE_MASK.S4 \
|
||||||
LDP m1_low<>(SB), (R20, R21) \
|
MOVD $m1_low<>(SB), R20 \
|
||||||
VMOV R20, M1L.D[0] \
|
VLD1 (R20), [M1L.B16] \
|
||||||
VMOV R21, M1L.D[1] \
|
MOVD $m1_high<>(SB), R20 \
|
||||||
LDP m1_high<>(SB), (R20, R21) \
|
VLD1 (R20), [M1H.B16] \
|
||||||
VMOV R20, M1H.D[0] \
|
MOVD $m2_low<>(SB), R20 \
|
||||||
VMOV R21, M1H.D[1] \
|
VLD1 (R20), [M2L.B16] \
|
||||||
LDP m2_low<>(SB), (R20, R21) \
|
MOVD $m2_high<>(SB), R20 \
|
||||||
VMOV R20, M2L.D[0] \
|
VLD1 (R20), [M2H.B16] \
|
||||||
VMOV R21, M2L.D[1] \
|
MOVD $inverse_shift_rows<>(SB), R20 \
|
||||||
LDP m2_high<>(SB), (R20, R21) \
|
VLD1 (R20), [INVERSE_SHIFT_ROWS.B16] \
|
||||||
VMOV R20, M2H.D[0] \
|
MOVD $r08_mask<>(SB), R20 \
|
||||||
VMOV R21, M2H.D[1] \
|
VLD1 (R20), [R08_MASK.B16] \
|
||||||
LDP inverse_shift_rows<>(SB), (R20, R21) \
|
|
||||||
VMOV R20, INVERSE_SHIFT_ROWS.D[0] \
|
|
||||||
VMOV R21, INVERSE_SHIFT_ROWS.D[1] \
|
|
||||||
LDP r08_mask<>(SB), (R20, R21) \
|
|
||||||
VMOV R20, R08_MASK.D[0] \
|
|
||||||
VMOV R21, R08_MASK.D[1]
|
|
||||||
|
|
||||||
// input: from high to low
|
// input: from high to low
|
||||||
// t0 = t0.S3, t0.S2, t0.S1, t0.S0
|
// t0 = t0.S3, t0.S2, t0.S1, t0.S0
|
||||||
|
@ -52,30 +52,24 @@
|
|||||||
#define load_global_data_1() \
|
#define load_global_data_1() \
|
||||||
MOVW $0x0F0F0F0F, R0 \
|
MOVW $0x0F0F0F0F, R0 \
|
||||||
VMOV R0, NIBBLE_MASK.S4 \
|
VMOV R0, NIBBLE_MASK.S4 \
|
||||||
LDP m1_low<>(SB), (R0, R1) \
|
MOVD $m1_low<>(SB), R0 \
|
||||||
VMOV R0, M1L.D[0] \
|
VLD1 (R0), [M1L.B16] \
|
||||||
VMOV R1, M1L.D[1] \
|
MOVD $m1_high<>(SB), R0 \
|
||||||
LDP m1_high<>(SB), (R0, R1) \
|
VLD1 (R0), [M1H.B16] \
|
||||||
VMOV R0, M1H.D[0] \
|
MOVD $m2_low<>(SB), R0 \
|
||||||
VMOV R1, M1H.D[1] \
|
VLD1 (R0), [M2L.B16] \
|
||||||
LDP m2_low<>(SB), (R0, R1) \
|
MOVD $m2_high<>(SB), R0 \
|
||||||
VMOV R0, M2L.D[0] \
|
VLD1 (R0), [M2H.B16] \
|
||||||
VMOV R1, M2L.D[1] \
|
MOVD $fk_mask<>(SB), R0 \
|
||||||
LDP m2_high<>(SB), (R0, R1) \
|
VLD1 (R0), [FK_MASK.B16] \
|
||||||
VMOV R0, M2H.D[0] \
|
MOVD $inverse_shift_rows<>(SB), R0 \
|
||||||
VMOV R1, M2H.D[1] \
|
VLD1 (R0), [INVERSE_SHIFT_ROWS.B16] \
|
||||||
LDP fk_mask<>(SB), (R0, R1) \
|
|
||||||
VMOV R0, FK_MASK.D[0] \
|
|
||||||
VMOV R1, FK_MASK.D[1] \
|
|
||||||
LDP inverse_shift_rows<>(SB), (R0, R1) \
|
|
||||||
VMOV R0, INVERSE_SHIFT_ROWS.D[0] \
|
|
||||||
VMOV R1, INVERSE_SHIFT_ROWS.D[1]
|
|
||||||
|
|
||||||
#define load_global_data_2() \
|
#define load_global_data_2() \
|
||||||
load_global_data_1() \
|
load_global_data_1() \
|
||||||
LDP r08_mask<>(SB), (R0, R1) \
|
MOVD $r08_mask<>(SB), R0 \
|
||||||
VMOV R0, R08_MASK.D[0] \
|
VLD1 (R0), [R08_MASK.B16] \
|
||||||
VMOV R1, R08_MASK.D[1]
|
|
||||||
|
|
||||||
#define SM4EKEY_EXPORT_KEYS() \
|
#define SM4EKEY_EXPORT_KEYS() \
|
||||||
VMOV V9.S[3], V10.S[0] \
|
VMOV V9.S[3], V10.S[0] \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user