[PATCH 3/6] rijndael-riscv-zvkned: optimize aes192 key setup
Jussi Kivilinna
jussi.kivilinna at iki.fi
Mon Dec 29 19:01:36 CET 2025
* cipher/rijndael-riscv-zvkned.c (AES192_KF1_GEN): Avoid use of
stack array for loading scalar value to vector register.
--
Signed-off-by: Jussi Kivilinna <jussi.kivilinna at iki.fi>
---
cipher/rijndael-riscv-zvkned.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/cipher/rijndael-riscv-zvkned.c b/cipher/rijndael-riscv-zvkned.c
index e3ba6769..703950e1 100644
--- a/cipher/rijndael-riscv-zvkned.c
+++ b/cipher/rijndael-riscv-zvkned.c
@@ -207,10 +207,8 @@ aes192_riscv_setkey (RIJNDAEL_context *ctx, const byte *key)
#define AES192_KF1_GEN(out, input, round192, vl) \
({ \
- u32 temp_array[4] = { 0, 0, 0, 0 }; \
- vuint32m1_t temp_vec; \
- temp_array[3] = (input); \
- temp_vec = __riscv_vle32_v_u32m1(temp_array, (vl)); \
+ vuint32m1_t temp_vec = __riscv_vmv_v_x_u32m1(0, (vl)); \
+ temp_vec = __riscv_vslide1down_vx_u32m1(temp_vec, (input), (vl)); \
temp_vec = __riscv_vaeskf1_vi_u32m1(temp_vec, (round192), (vl)); \
(out) = __riscv_vmv_x_s_u32m1_u32(temp_vec); \
})
--
2.51.0
More information about the Gcrypt-devel
mailing list