summaryrefslogtreecommitdiff
path: root/arch/arm64/Makefile
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2021-12-13 17:02:52 +0300
committerCatalin Marinas <catalin.marinas@arm.com>2021-12-14 15:14:26 +0300
commit2c54b423cf85baed5ad9f9546f6c8ea741774a06 (patch)
tree010e8a49aceae84010145ca1e51ed3e3d476a2c5 /arch/arm64/Makefile
parentd58071a8a76d779eedab38033ae4c821c30295a5 (diff)
downloadlinux-2c54b423cf85baed5ad9f9546f6c8ea741774a06.tar.xz
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>
Diffstat (limited to 'arch/arm64/Makefile')
-rw-r--r--arch/arm64/Makefile5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index e8cfc5868aa8..2f1de88651e6 100644
--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -58,6 +58,11 @@ stack_protector_prepare: prepare0
include/generated/asm-offsets.h))
endif
+ifeq ($(CONFIG_AS_HAS_ARMV8_2), y)
+# make sure to pass the newest target architecture to -march.
+asm-arch := armv8.2-a
+endif
+
# Ensure that if the compiler supports branch protection we default it
# off, this will be overridden if we are using branch protection.
branch-prot-flags-y += $(call cc-option,-mbranch-protection=none)