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

(cherry picked from commit 629b5e87ed)
This commit is contained in:
Andrew Turner 2021-11-29 17:21:31 +00:00
parent b5346307ed
commit a72050a86f

View File

@ -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
@ -237,6 +238,13 @@ ${X_}COMPILER_FEATURES+= c++17
${X_}COMPILER_FEATURES+= retpoline init-all
.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}