git: 629b5e87ed82 - main - Add an arm64 sha512 feature check

From: Andrew Turner <andrew_at_FreeBSD.org>
Date: Wed, 01 Dec 2021 15:15:14 UTC
The branch main has been updated by andrew:

URL: https://cgit.FreeBSD.org/src/commit/?id=629b5e87ed82aa428be1abbe51b80fa338fa839a

commit 629b5e87ed82aa428be1abbe51b80fa338fa839a
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2021-11-29 17:21:31 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2021-12-01 15:14:57 +0000

    Add an arm64 sha512 feature check
    
    This is only available in recent toolchains. Check for it so we can
    use it in libmd.
    
    Reviewed by:    emaste
    Sponsored by:   The FreeBSD Foundation
    Differential Revision: https://reviews.freebsd.org/D33166
---
 share/mk/bsd.compiler.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/share/mk/bsd.compiler.mk b/share/mk/bsd.compiler.mk
index c58eb114f4b8..4a1472c6bfab 100644
--- a/share/mk/bsd.compiler.mk
+++ b/share/mk/bsd.compiler.mk
@@ -25,6 +25,7 @@
 # - retpoline: supports the retpoline speculative execution vulnerability
 #              mitigation.
 # - init-all:  supports stack variable initialization.
+# - aarch64-sha512: supports the AArch64 sha512 intrinsic functions.
 #
 # When bootstrapping on macOS, 'apple-clang' will be set in COMPILER_FEATURES
 # to differentiate Apple's version of Clang. Apple Clang uses a different
@@ -255,6 +256,13 @@ ${X_}COMPILER_FEATURES+=	compressed-debug
 ${X_}COMPILER_FEATURES+=	fileprefixmap
 .endif
 
+.if (${${X_}COMPILER_TYPE} == "clang" && ${${X_}COMPILER_VERSION} >= 130000) || \
+	(${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 90000)
+# AArch64 sha512 intrinsics are supported (and have been tested) in
+# clang 13 and gcc 9.
+${X_}COMPILER_FEATURES+=	aarch64-sha512
+.endif
+
 .else
 # Use CC's values
 X_COMPILER_TYPE=	${COMPILER_TYPE}