From 632edd80d56387c20b4e9ae9dbb0b32bb5d8ddd6 Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Thu, 9 Nov 2023 14:57:20 +0800 Subject: [PATCH] zuc: arm64, eia256 try VMOVQ to load const --- zuc/eia256_asm_arm64.s | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/zuc/eia256_asm_arm64.s b/zuc/eia256_asm_arm64.s index 35e4afb..62930c8 100644 --- a/zuc/eia256_asm_arm64.s +++ b/zuc/eia256_asm_arm64.s @@ -80,15 +80,12 @@ TEXT ·eia256RoundTag8(SB),NOSPLIT,$0 VLD1 (BX), [XTMP1.B16, XTMP2.B16] VST1 [XTMP2.B16], (BX) // Copy last 16 bytes of KS to the front // TODO: Any better solution??? - VDUP XTMP1.S[1], KS_L.S4 - VMOV XTMP1.S[0], KS_L.S[1] - VMOV XTMP1.S[2], KS_L.S[2] // KS bits [63:32 31:0 95:64 63:32] + VMOVQ $0x0302010007060504, $0x070605040b0a0908, XTMP4 + VTBL XTMP4.B16, [XTMP1.B16], KS_L.B16 // KS bits [63:32 31:0 95:64 63:32] + VTBL XTMP4.B16, [XTMP2.B16], KS_M2.B16 // KS bits [63:32 31:0 95:64 63:32] VDUP XTMP1.S[3], KS_M1.S4 VMOV XTMP1.S[2], KS_M1.S[1] VMOV XTMP2.S[0], KS_M1.S[2] // KS bits [127:96 95:64 159:128 127:96] - VDUP XTMP2.S[1], KS_M2.S4 - VMOV XTMP2.S[0], KS_M2.S[1] - VMOV XTMP2.S[2], KS_M2.S[2] // KS bits [191:160 159:128 223:192 191:160] // setup DATA VTBL SHUF_MASK_DW0_DW1.B16, [XTMP3.B16], XTMP1.B16 // XTMP1 - Data bits [31:0 0s 63:32 0s]