]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Increase minimum clang version requirement for rsaz-avx512.pl
authorAndrey Matyukov <andrey.matyukov@intel.com>
Wed, 24 Mar 2021 07:05:29 +0000 (10:05 +0300)
committerTomas Mraz <tomas@openssl.org>
Tue, 30 Mar 2021 17:05:35 +0000 (19:05 +0200)
The reason is that clang-6 does not enable proper -march flags by
default for assembly modules (rsaz-avx512.pl requires avx512ifma, avx512dq,
avx512vl, avx512f). This is not true for newer clang versions - clang-7 and
further work ok.

For older clang versions users who want to get optimization from this
file, we have a note in the OPENSSL_ia32cap.pod with the workaround that
proposes having a wrapper that forces using external assembler.

Fixes #14668: clang-6.0.0 build broken

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14671)

crypto/bn/asm/rsaz-avx512.pl

index 04effabffa2105385ba828deb995183d306c7b02..d22eeef5da95aeebdd29c2655ac529811f80b734 100644 (file)
@@ -49,7 +49,7 @@ if (!$avx512 && $win64 && ($flavour =~ /nasm/ || $ENV{ASM} =~ /nasm/) &&
 }
 
 if (!$avx512 && `$ENV{CC} -v 2>&1` =~ /((?:clang|LLVM) version|.*based on LLVM) ([0-9]+\.[0-9]+)/) {
-    $avx512ifma = ($2>=6.0);
+    $avx512ifma = ($2>=7.0);
 }
 
 open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""