From patchwork Wed Jun 10 10:54:31 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Senkevich X-Patchwork-Id: 7096 Received: (qmail 37200 invoked by alias); 10 Jun 2015 10:55:08 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 37183 invoked by uid 89); 10 Jun 2015 10:55:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-lb0-f177.google.com X-Received: by 10.152.6.39 with SMTP id x7mr3017630lax.18.1433933702425; Wed, 10 Jun 2015 03:55:02 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: From: Andrew Senkevich Date: Wed, 10 Jun 2015 13:54:31 +0300 Message-ID: Subject: Re: [PATCH] Update of minimal required version of Binutils to 2.25 To: Joseph Myers Cc: libc-alpha 2015-06-10 13:11 GMT+03:00 Joseph Myers : > 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 * configure.ac: More strict check for AVX512 assembler support. * configure: Regenerated. --- WBR, Andrew 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