diff --git a/sm4/asm_arm64.s b/sm4/asm_arm64.s index a405c1b..baa97ec 100644 --- a/sm4/asm_arm64.s +++ b/sm4/asm_arm64.s @@ -170,6 +170,21 @@ TEXT ·expandKeyAsm(SB),NOSPLIT,$0 ADD $124, R11 VEOR ZERO.B16, ZERO.B16, ZERO.B16 + MOVW.P 4(R9), R19 + VMOV R19, x.S[0] + VEOR t1.B16, x.B16, x.B16 + VEOR t2.B16, x.B16, x.B16 + VEOR t3.B16, x.B16, x.B16 + VAND x.B16, NIBBLE_MASK.B16, XTMP7.B16 + VTBL XTMP7.B16, [M1L.B16], y.B16 + VUSHR $4, x.D2, x.D2 + VAND x.B16, NIBBLE_MASK.B16, XTMP7.B16 + VTBL XTMP7.B16, [M1H.B16], XTMP7.B16 + VEOR y.B16, XTMP7.B16, x.B16 + VTBL INVERSE_SHIFT_ROWS.B16, [x.B16], x.B16 + + VEOR x.B16, t0.B16, t0.B16 + VMOV t0.S[0], R2 MOVW.P R2, 4(R10) VMOV t1.S[0], R2