Files
Markus Pettersson 805068bd80 Use SIMD instructions for LWO 2 data packet path
Reimplement the `xor_protected_area` algorithm using explicit SIMD
instructions for the data packet path. This is by far the most common
type of WireGuard packet, and it also maps very cleanly onto a 8x16 SIMD
vector type since the first 16 bytes of a data packet is obfuscated in
LWO.

This path seems to auto-vectorize well on x86_64 (I saw no performance
increase on my AMD Ryzen 7 PRO 6850U), but less so on more niche CPU
archs. On Raspberry PI I saw a ~20% increase in throuhput and on Mac Neo
I saw a ~25% increase in throuhput.
2026-09-29 10:01:57 +02:00
..