[PATCH 0/2] arm64: use SHA3 instructions to speed up XOR

Ard Biesheuvel ardb at kernel.org
Tue Nov 9 04:03:34 PST 2021


If available, use the 3-way EOR3 instruction that is part of the SHA3
extension rather than the ordinary 2-way EOR NEON instruction. Doing so
speeds up XOR processing by ~20% on Apple M1 when using the 5-way
version.

This is also useful as a canary for spotting regressions in the static
call API, as we export a static call from one module and consume it in
another.

Cc: Mark Rutland <mark.rutland at arm.com>
Cc: Peter Zijlstra <peterz at infradead.org>

Ard Biesheuvel (2):
  arm64/xor: use static calls for inner NEON helpers
  arm64/xor: use EOR3 instructions when available

 arch/arm64/Kconfig           |   3 +
 arch/arm64/include/asm/xor.h |  24 ++-
 arch/arm64/lib/xor-neon.c    | 165 +++++++++++++++++++-
 3 files changed, 179 insertions(+), 13 deletions(-)

-- 
2.30.2




More information about the linux-arm-kernel mailing list