From 788a72e92fc0b78c2ca12df90e45cccbaf7a800e Mon Sep 17 00:00:00 2001 From: Andrey Matyukov Date: Wed, 24 Mar 2021 10:05:29 +0300 Subject: [PATCH] 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) --- crypto/bn/asm/rsaz-avx512.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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\"" -- 2.47.2