From: Andrey Matyukov Date: Wed, 24 Mar 2021 07:05:29 +0000 (+0300) Subject: Increase minimum clang version requirement for rsaz-avx512.pl X-Git-Tag: openssl-3.0.0-alpha14~86 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=788a72e92fc0b78c2ca12df90e45cccbaf7a800e;p=thirdparty%2Fopenssl.git Increase minimum clang version requirement for rsaz-avx512.pl 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 Reviewed-by: Matt Caswell Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/14671) --- diff --git a/crypto/bn/asm/rsaz-avx512.pl b/crypto/bn/asm/rsaz-avx512.pl index 04effabffa2..d22eeef5da9 100644 --- a/crypto/bn/asm/rsaz-avx512.pl +++ b/crypto/bn/asm/rsaz-avx512.pl @@ -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\""