OpenGrok
Cross Reference: chacha_neon_64.S
xref
: /
src
/
sys
/
crypto
/
chacha
/
arch
/
arm
/
chacha_neon_64.S
Home
|
History
|
Annotate
|
Download
|
only in
arm
History log of
/src/sys/crypto/chacha/arch/arm/chacha_neon_64.S
Revision
Date
Author
Comments
1.7
07-Sep-2020
jakllsch
Use a working macro to detect big endian aarch64.
Fixes aarch64eb NEON ChaCha.
1.6
08-Aug-2020
riastradh
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.
1.5
28-Jul-2020
riastradh
Fix typo in comment.
1.4
27-Jul-2020
riastradh
Add RCSIDs to the AES and ChaCha .S sources.
1.3
27-Jul-2020
riastradh
Align critical-path loops in AES and ChaCha.
1.2
27-Jul-2020
riastradh
Use <aarch64/asm.h> rather than copying things from it here.
Vestige from userland build on netbsd-9 during development.
1.1
25-Jul-2020
riastradh
Implement ChaCha with NEON on ARM.
XXX Needs performance measurement.
XXX Needs adaptation to arm32 neon which has half the registers.
Indexes created Wed Oct 22 00:09:40 GMT 2025