Improve AES256-GCM performance on ARM

This commit is contained in:
Frank Denis
2025-05-21 23:11:26 +02:00
parent 8466abb280
commit d537f3010a

View File

@@ -47,9 +47,9 @@ typedef uint64x2_t BlockVec;
#define STORE128(a, b) vst1q_u64((uint64_t *) (void *) (a), (b))
#define AES_XENCRYPT(block_vec, rkey) \
vreinterpretq_u64_u8( \
vaesmcq_u8(vaeseq_u8(vreinterpretq_u8_u64(block_vec), rkey)))
vaesmcq_u8(vaeseq_u8(rkey, vreinterpretq_u8_u64(block_vec))))
#define AES_XENCRYPTLAST(block_vec, rkey) \
vreinterpretq_u64_u8(vaeseq_u8(vreinterpretq_u8_u64(block_vec), rkey))
vreinterpretq_u64_u8(vaeseq_u8(rkey, vreinterpretq_u8_u64(block_vec)))
#define XOR128(a, b) veorq_u64((a), (b))
#define AND128(a, b) vandq_u64((a), (b))
#define OR128(a, b) vorrq_u64((a), (b))