History log of /netbsd/sys/crypto/aes/arch/arm/aes_neon_subr.c (Results 1 – 8 of 8)
Revision Date Author Comments
# c94ad9ec 26-Jun-2022 riastradh <riastradh@NetBSD.org>

arm/aes_neon: Fix formatting of self-test failure message.

Discovered by code inspection. Remarkably, a combination of errors
made this fail to be a stack buffer overrun. Verified by booting
with

arm/aes_neon: Fix formatting of self-test failure message.

Discovered by code inspection. Remarkably, a combination of errors
made this fail to be a stack buffer overrun. Verified by booting
with ARMv8.0-AES disabled and with the self-test artificially made to
fail.

show more ...


# 3cf5cde2 09-Aug-2020 riastradh <riastradh@NetBSD.org>

Use vshlq_n_s32 rather than vsliq_n_s32 with zero destination.

Not sure why I reached for vsliq_n_s32 at first -- probably so I
wouldn't have to deal with a new intrinsic in arm_neon.h!


# bd3896cc 09-Aug-2020 riastradh <riastradh@NetBSD.org>

Nix outdated comment.

I implemented this parallelism a couple weeks ago.


# be52d94a 08-Aug-2020 riastradh <riastradh@NetBSD.org>

Fix ARM NEON implementations of AES and ChaCha on big-endian ARM.

New macros such as VQ_N_U32(a,b,c,d) for NEON vector initializers.
Needed because GCC and Clang disagree on the ordering of lanes,
d

Fix ARM NEON implementations of AES and ChaCha on big-endian ARM.

New macros such as VQ_N_U32(a,b,c,d) for NEON vector initializers.
Needed because GCC and Clang disagree on the ordering of lanes,
depending on whether it's 64-bit big-endian, 32-bit big-endian, or
little-endian -- and, bizarrely, both of them disagree with the
architectural numbering of lanes.

Experimented with using

static const uint8_t x8[16] = {...};

uint8x16_t x = vld1q_u8(x8);

which doesn't require knowing anything about the ordering of lanes,
but this generates considerably worse code and apparently confuses
GCC into not recognizing the constant value of x8.

Fix some clang mistakes while here too.

show more ...


# f6c08989 28-Jul-2020 riastradh <riastradh@NetBSD.org>

Draft 2x vectorized neon vpaes for aarch64.

Gives a modest speed boost on rk3399 (Cortex-A53/A72), around 20% in
cgd tests, for parallelizable operations like CBC decryption; same
improvement should

Draft 2x vectorized neon vpaes for aarch64.

Gives a modest speed boost on rk3399 (Cortex-A53/A72), around 20% in
cgd tests, for parallelizable operations like CBC decryption; same
improvement should probably carry over to rpi4 CPU which lacks
ARMv8.0-AES.

show more ...


# c863802d 25-Jul-2020 riastradh <riastradh@NetBSD.org>

Implement AES-CCM with NEON.


# 59e65c44 30-Jun-2020 riastradh <riastradh@NetBSD.org>

New test sys/crypto/aes/t_aes.

Runs aes_selftest on all kernel AES implementations supported on the
current hardware, not just the preferred one.


# edd66bf2 29-Jun-2020 riastradh <riastradh@NetBSD.org>

New permutation-based AES implementation using ARM NEON.

Also derived from Mike Hamburg's public-domain vpaes code.