diff options
author | Maamoun TK <maamoun.tk@googlemail.com> | 2021-01-25 18:36:54 +0100 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2021-01-31 08:57:59 +0100 |
commit | 09d77a1080fb35774a5adec06642602bb1390f44 (patch) | |
tree | bc489befb023e1b3e969dfa3c4407c1a7ac0e01b /configure.ac | |
parent | 0c5429d338103987e95de6ec25ff859adbf9a869 (diff) | |
download | nettle-09d77a1080fb35774a5adec06642602bb1390f44.tar.gz |
aarch64: Implement GHASH using the crypto extension pmul instructions.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index e76f9375..479ca2b6 100644 --- a/configure.ac +++ b/configure.ac @@ -81,6 +81,10 @@ AC_ARG_ENABLE(arm-neon, AC_HELP_STRING([--enable-arm-neon], [Enable ARM Neon assembly. (default=auto)]),, [enable_arm_neon=auto]) +AC_ARG_ENABLE(armv8-a-crypto, + AC_HELP_STRING([--enable-armv8-a-crypto], [Enable Armv8-A Crypto extension. (default=no)]),, + [enable_armv8_a_crypto=no]) + AC_ARG_ENABLE(x86-aesni, AC_HELP_STRING([--enable-x86-aesni], [Enable x86_64 aes instructions. (default=no)]),, [enable_x86_aesni=no]) @@ -344,10 +348,10 @@ case "$host_cpu" in ABI=64 ]) ;; - aarch64) + aarch64*) AC_TRY_COMPILE([ #if defined(__aarch64__) -#error 64-bit powerpc +#error 64-bit arm #endif ], [], [ ABI=32 @@ -355,7 +359,6 @@ case "$host_cpu" in ABI=64 ]) ;; - esac if test "x$ABI" != xstandard ; then @@ -474,6 +477,10 @@ if test "x$enable_assembler" = xyes ; then aarch64*) if test "$ABI" = 64 ; then asm_path=arm64 + if test "$enable_armv8_a_crypto" = yes ; then + CFLAGS="$CFLAGS -Wa,-march=armv8-a+crypto" + asm_path="arm64/v8 $asm_path" + fi else # As far as I understand, Neon instructions are unlikely to be # missing. It may be omitted "only for implementations |