All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: use SHA3 instructions to speed up XOR
@ 2021-11-09 12:03 Ard Biesheuvel
  2021-11-09 12:03 ` [PATCH 1/2] arm64/xor: use static calls for inner NEON helpers Ard Biesheuvel
  2021-11-09 12:03 ` [PATCH 2/2] arm64/xor: use EOR3 instructions when available Ard Biesheuvel
  0 siblings, 2 replies; 7+ messages in thread
From: Ard Biesheuvel @ 2021-11-09 12:03 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: catalin.marinas, will, Ard Biesheuvel, Mark Rutland,
	Peter Zijlstra

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@arm.com>
Cc: Peter Zijlstra <peterz@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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-12-13 15:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-09 12:03 [PATCH 0/2] arm64: use SHA3 instructions to speed up XOR Ard Biesheuvel
2021-11-09 12:03 ` [PATCH 1/2] arm64/xor: use static calls for inner NEON helpers Ard Biesheuvel
2021-11-09 12:03 ` [PATCH 2/2] arm64/xor: use EOR3 instructions when available Ard Biesheuvel
2021-12-13 13:24   ` Catalin Marinas
2021-12-13 13:33     ` Ard Biesheuvel
2021-12-13 15:05       ` Catalin Marinas
2021-12-13 15:10         ` Ard Biesheuvel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.