arm64/xor: use EOR3 instructions when available
authorArd Biesheuvel <ardb@kernel.org>
Mon, 13 Dec 2021 14:02:52 +0000 (15:02 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 14 Dec 2021 12:14:26 +0000 (12:14 +0000)
commit2c54b423cf85baed5ad9f9546f6c8ea741774a06
tree010e8a49aceae84010145ca1e51ed3e3d476a2c5
parentd58071a8a76d779eedab38033ae4c821c30295a5
arm64/xor: use EOR3 instructions when available

Use the EOR3 instruction to implement xor_blocks() if the instruction is
available, which is the case if the CPU implements the SHA-3 extension.
This is about 20% faster on Apple M1 when using the 5-way version.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20211213140252.2856053-1-ardb@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/Kconfig
arch/arm64/Makefile
arch/arm64/lib/xor-neon.c