This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Update of minimal required version of Binutils to 2.25
- From: Andrew Senkevich <andrew dot n dot senkevich at gmail dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: libc-alpha <libc-alpha at sourceware dot org>
- Date: Wed, 10 Jun 2015 13:54:31 +0300
- Subject: Re: [PATCH] Update of minimal required version of Binutils to 2.25
- Authentication-results: sourceware.org; auth=none
- References: <CAMXFM3umo+WyJgWJ8ozzzoNN9L+u9oFj7jxib4wL1Qxv40EOgg at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1506092109210 dot 16480 at digraph dot polyomino dot org dot uk> <CAMXFM3vMzGUuVisF4BwuUiN1DHzNNRZpDmbcu9KBe1cNB_bkyg at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1506101007490 dot 1487 at digraph dot polyomino dot org dot uk>
2015-06-10 13:11 GMT+03:00 Joseph Myers <joseph@codesourcery.com>:
> On Wed, 10 Jun 2015, Andrew Senkevich wrote:
>
>> I have configure check for AVX512 assembler support, but this is the
>> case when some AVX512 instructions with zmm registers not supported by
>> Binutils 2.24, with which that confugure check passed. So we need 2.25
>> for support of these several instructions, which appears in SKX
>> versions of vector math functions.
>
> I'd say make the configure check stricter so that it fails with 2.24,
> rather than putting .byte encodings of instructions in more places than
> necessary.
Do you mean the followng patch is ok?
Binutils 2.24 doesn't supports some AVX512 instructions with ZMM
registers, so we need add more strict check.
2015-06-10 Andrew Senkevich <andrew.senkevich@intel.com>
* configure.ac: More strict check for AVX512 assembler support.
* configure: Regenerated.
diff --git a/sysdeps/x86_64/configure b/sysdeps/x86_64/configure
index 1493523..e109a7a 100644
--- a/sysdeps/x86_64/configure
+++ b/sysdeps/x86_64/configure
@@ -101,7 +101,7 @@ if ${libc_cv_asm_avx512+:} false; then :
$as_echo_n "(cached) " >&6
else
cat > conftest.s <<\EOF
- vmovdqu64 %zmm0, (%rsp)
+ vandpd (%rax), %zmm6, %zmm1
EOF
if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
diff --git a/sysdeps/x86_64/configure.ac b/sysdeps/x86_64/configure.ac
index 1c2b35f..dcf6cb5 100644
--- a/sysdeps/x86_64/configure.ac
+++ b/sysdeps/x86_64/configure.ac
@@ -26,7 +26,7 @@ LIBC_CONFIG_VAR([config-cflags-avx], [$libc_cv_cc_avx])
dnl Check if asm supports AVX512.
AC_CACHE_CHECK(for AVX512 support in assembler, libc_cv_asm_avx512, [dnl
cat > conftest.s <<\EOF
- vmovdqu64 %zmm0, (%rsp)
+ vandpd (%rax), %zmm6, %zmm1
EOF
if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then
libc_cv_asm_avx512=yes
--
WBR,
Andrew