]> sourceware.org Git - glibc.git/commitdiff
Require binutils 2.24 to build x86-64 glibc [BZ #20139]
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 1 Jul 2016 12:54:43 +0000 (05:54 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 1 Jul 2016 13:03:05 +0000 (06:03 -0700)
If assembler doesn't support AVX512DQ, _dl_runtime_resolve_avx is used
to save the first 8 vector registers, which only saves the lower 256
bits of vector register, for lazy binding.  When it is called on AVX512
platform, the upper 256 bits of ZMM registers are clobbered.  Parameters
passed in ZMM registers will be wrong when the function is called the
first time.  This patch requires binutils 2.24, whose assembler can store
and load ZMM registers, to build x86-64 glibc.  Since mathvec library
needs assembler support for AVX512DQ,  we disable mathvec if assembler
doesn't support AVX512DQ.

[BZ #20139]
* config.h.in (HAVE_AVX512_ASM_SUPPORT): Renamed to ...
(HAVE_AVX512DQ_ASM_SUPPORT): This.
* sysdeps/x86_64/configure.ac: Require assembler from binutils
2.24 or above.
(HAVE_AVX512_ASM_SUPPORT): Removed.
(HAVE_AVX512DQ_ASM_SUPPORT): New.
* sysdeps/x86_64/configure: Regenerated.
* sysdeps/x86_64/dl-trampoline.S: Make HAVE_AVX512_ASM_SUPPORT
check unconditional.
* sysdeps/x86_64/multiarch/ifunc-impl-list.c: Likewise.
* sysdeps/x86_64/multiarch/memcpy.S: Likewise.
* sysdeps/x86_64/multiarch/memcpy_chk.S: Likewise.
* sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S:
Likewise.
* sysdeps/x86_64/multiarch/memmove-avx512-unaligned-erms.S:
Likewise.
* sysdeps/x86_64/multiarch/memmove.S: Likewise.
* sysdeps/x86_64/multiarch/memmove_chk.S: Likewise.
* sysdeps/x86_64/multiarch/mempcpy.S: Likewise.
* sysdeps/x86_64/multiarch/mempcpy_chk.S: Likewise.
* sysdeps/x86_64/multiarch/memset-avx512-no-vzeroupper.S:
Likewise.
* sysdeps/x86_64/multiarch/memset-avx512-unaligned-erms.S:
Likewise.
* sysdeps/x86_64/multiarch/memset.S: Likewise.
* sysdeps/x86_64/multiarch/memset_chk.S: Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core_avx512.S: Check
HAVE_AVX512DQ_ASM_SUPPORT instead of HAVE_AVX512_ASM_SUPPORT.
* sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S:
Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_log8_core_avx512.S:
Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core_avx512.S:
Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core_avx512.S:
Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.:
Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_s_cosf16_core_avx512.S:
Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S:
Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core_avx512.S:
Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core_avx512.S:
Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx51:
Likewise.
* sysdeps/x86_64/fpu/multiarch/svml_s_sinf16_core_avx512.S:
Likewise.

30 files changed:
ChangeLog
config.h.in
sysdeps/x86_64/configure
sysdeps/x86_64/configure.ac
sysdeps/x86_64/dl-trampoline.S
sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_d_log8_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_s_cosf16_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx512.S
sysdeps/x86_64/fpu/multiarch/svml_s_sinf16_core_avx512.S
sysdeps/x86_64/multiarch/ifunc-impl-list.c
sysdeps/x86_64/multiarch/memcpy.S
sysdeps/x86_64/multiarch/memcpy_chk.S
sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
sysdeps/x86_64/multiarch/memmove-avx512-unaligned-erms.S
sysdeps/x86_64/multiarch/memmove.S
sysdeps/x86_64/multiarch/memmove_chk.S
sysdeps/x86_64/multiarch/mempcpy.S
sysdeps/x86_64/multiarch/mempcpy_chk.S
sysdeps/x86_64/multiarch/memset-avx512-no-vzeroupper.S
sysdeps/x86_64/multiarch/memset-avx512-unaligned-erms.S
sysdeps/x86_64/multiarch/memset.S
sysdeps/x86_64/multiarch/memset_chk.S

index c3d8d0c6773b43b3c1c326c05885e8b774b1bd2e..5844894b26365fd5232046c05a2a4e8f38bae72a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,57 @@
+2016-07-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       [BZ #20139]
+       * config.h.in (HAVE_AVX512_ASM_SUPPORT): Renamed to ...
+       (HAVE_AVX512DQ_ASM_SUPPORT): This.
+       * sysdeps/x86_64/configure.ac: Require assembler from binutils
+       2.24 or above.
+       (HAVE_AVX512_ASM_SUPPORT): Removed.
+       (HAVE_AVX512DQ_ASM_SUPPORT): New.
+       * sysdeps/x86_64/configure: Regenerated.
+       * sysdeps/x86_64/dl-trampoline.S: Make HAVE_AVX512_ASM_SUPPORT
+       check unconditional.
+       * sysdeps/x86_64/multiarch/ifunc-impl-list.c: Likewise.
+       * sysdeps/x86_64/multiarch/memcpy.S: Likewise.
+       * sysdeps/x86_64/multiarch/memcpy_chk.S: Likewise.
+       * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S:
+       Likewise.
+       * sysdeps/x86_64/multiarch/memmove-avx512-unaligned-erms.S:
+       Likewise.
+       * sysdeps/x86_64/multiarch/memmove.S: Likewise.
+       * sysdeps/x86_64/multiarch/memmove_chk.S: Likewise.
+       * sysdeps/x86_64/multiarch/mempcpy.S: Likewise.
+       * sysdeps/x86_64/multiarch/mempcpy_chk.S: Likewise.
+       * sysdeps/x86_64/multiarch/memset-avx512-no-vzeroupper.S:
+       Likewise.
+       * sysdeps/x86_64/multiarch/memset-avx512-unaligned-erms.S:
+       Likewise.
+       * sysdeps/x86_64/multiarch/memset.S: Likewise.
+       * sysdeps/x86_64/multiarch/memset_chk.S: Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core_avx512.S: Check
+       HAVE_AVX512DQ_ASM_SUPPORT instead of HAVE_AVX512_ASM_SUPPORT.
+       * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core_avx512.S:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core_avx512.S:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core_avx512.S:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core_avx512.S:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core_avx512.:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_s_cosf16_core_avx512.S:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core_avx512.S:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core_avx512.S:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core_avx51:
+       Likewise.
+       * sysdeps/x86_64/fpu/multiarch/svml_s_sinf16_core_avx512.S:
+       Likewise.
+
 2016-07-01  Andrew Senkevich  <andrew.senkevich@intel.com>
 
        [BZ #20024]
index b28b5132840bcfffcd9d3f0d44fec2bde7e2152d..856ef6a69ca36fc7d26d0bd349212be0c18cf6c7 100644 (file)
@@ -67,8 +67,8 @@
 /* Define if compiler supports AVX512.  */
 #undef  HAVE_AVX512_SUPPORT
 
-/* Define if assembler supports AVX512.  */
-#undef  HAVE_AVX512_ASM_SUPPORT
+/* Define if assembler supports AVX512DQ.  */
+#undef  HAVE_AVX512DQ_ASM_SUPPORT
 
 /* Define if assembler supports vector instructions on S390.  */
 #undef  HAVE_S390_VX_ASM_SUPPORT
index 88fbfe457e6d320886ba17acd429974d972564be..2d14c344dfa4417ebb21b306d6cbbcd208791eba 100644 (file)
@@ -1,13 +1,76 @@
 # This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/x86_64.
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX512 support in assembler" >&5
-$as_echo_n "checking for AVX512 support in assembler... " >&6; }
-if ${libc_cv_asm_avx512+:} false; then :
+for ac_prog in $AS
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AS+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AS"; then
+  ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_AS="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AS" && break
+done
+
+if test -z "$AS"; then
+  ac_verc_fail=yes
+else
+  # Found it, now check the version.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $AS" >&5
+$as_echo_n "checking version of $AS... " >&6; }
+  ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+  case $ac_prog_version in
+    '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+    2.2[4-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*)
+       ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+    *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
+fi
+if test $ac_verc_fail = yes; then
+  critic_missing="$critic_missing The program AS is required in version >= 2.24 for target x86_64."
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AVX512DQ support in assembler" >&5
+$as_echo_n "checking for AVX512DQ support in assembler... " >&6; }
+if ${libc_cv_asm_avx512dq+:} 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'
@@ -16,16 +79,16 @@ if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5'
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }; then
-  libc_cv_asm_avx512=yes
+  libc_cv_asm_avx512dq=yes
 else
-  libc_cv_asm_avx512=no
+  libc_cv_asm_avx512dq=no
 fi
 rm -f conftest*
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_avx512" >&5
-$as_echo "$libc_cv_asm_avx512" >&6; }
-if test $libc_cv_asm_avx512 = yes; then
-  $as_echo "#define HAVE_AVX512_ASM_SUPPORT 1" >>confdefs.h
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_asm_avx512dq" >&5
+$as_echo "$libc_cv_asm_avx512dq" >&6; }
+if test $libc_cv_asm_avx512dq = yes; then
+  $as_echo "#define HAVE_AVX512DQ_ASM_SUPPORT 1" >>confdefs.h
 
 fi
 
@@ -40,7 +103,7 @@ else
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }; then :
-  libc_cv_cc_avx512=$libc_cv_asm_avx512
+  libc_cv_cc_avx512=$libc_cv_asm_avx512dq
 else
   libc_cv_cc_avx512=no
 fi
@@ -88,4 +151,6 @@ fi
 
 $as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
 
-# work around problem with autoconf and empty lines at the end of files
+
+test -n "$critic_missing" && as_fn_error $? "
+*** $critic_missing" "$LINENO" 5
index b39309e456eabf7e70cd975170a1577f0bb1cc25..7d8aaafc0c04c8d12273c840a290675c320f2fd0 100644 (file)
@@ -1,25 +1,30 @@
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/x86_64.
 
-dnl Check if asm supports AVX512.
-AC_CACHE_CHECK(for AVX512 support in assembler, libc_cv_asm_avx512, [dnl
+dnl Accept as 2.24 or newer for AVX512 load and store.
+AC_CHECK_PROG_VER(AS, $AS, --version,
+                 [GNU assembler.* \([0-9]*\.[0-9.]*\)],
+                 [2.2[4-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*],
+                 critic_missing="$critic_missing The program AS is required in version >= 2.24 for target x86_64.")
+
+dnl Check if asm supports AVX512DQ.
+AC_CACHE_CHECK(for AVX512DQ support in assembler, libc_cv_asm_avx512dq, [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
+  libc_cv_asm_avx512dq=yes
 else
-  libc_cv_asm_avx512=no
+  libc_cv_asm_avx512dq=no
 fi
 rm -f conftest*])
-if test $libc_cv_asm_avx512 = yes; then
-  AC_DEFINE(HAVE_AVX512_ASM_SUPPORT)
+if test $libc_cv_asm_avx512dq = yes; then
+  AC_DEFINE(HAVE_AVX512DQ_ASM_SUPPORT)
 fi
 
 dnl Check if -mavx512f works.
 AC_CACHE_CHECK(for AVX512 support, libc_cv_cc_avx512, [dnl
-LIBC_TRY_CC_OPTION([-mavx512f], [libc_cv_cc_avx512=$libc_cv_asm_avx512], [libc_cv_cc_avx512=no])
+LIBC_TRY_CC_OPTION([-mavx512f], [libc_cv_cc_avx512=$libc_cv_asm_avx512dq], [libc_cv_cc_avx512=no])
 ])
 if test $libc_cv_cc_avx512 = yes; then
   AC_DEFINE(HAVE_AVX512_SUPPORT)
@@ -48,4 +53,6 @@ fi
 dnl It is always possible to access static and hidden symbols in an
 dnl position independent way.
 AC_DEFINE(PI_STATIC_AND_HIDDEN)
-# work around problem with autoconf and empty lines at the end of files
+
+test -n "$critic_missing" && AC_MSG_ERROR([
+*** $critic_missing])
index 39b8771aa79d669dcf15b7475a621023ce59d340..12f1a5cf8485c99d2cd9182255c2fe571f8fa1bd 100644 (file)
 
 #define RESTORE_AVX
 
-#ifdef HAVE_AVX512_ASM_SUPPORT
-# define VEC_SIZE              64
-# define VMOVA                 vmovdqa64
-# if DL_RUNTIME_RESOLVE_REALIGN_STACK || VEC_SIZE <= DL_STACK_ALIGNMENT
-#  define VMOV                 vmovdqa64
-# else
-#  define VMOV                 vmovdqu64
-# endif
-# define VEC(i)                        zmm##i
-# define _dl_runtime_resolve   _dl_runtime_resolve_avx512
-# define _dl_runtime_profile   _dl_runtime_profile_avx512
-# include "dl-trampoline.h"
-# undef _dl_runtime_resolve
-# undef _dl_runtime_profile
-# undef VEC
-# undef VMOV
-# undef VMOVA
-# undef VEC_SIZE
+#define VEC_SIZE               64
+#define VMOVA                  vmovdqa64
+#if DL_RUNTIME_RESOLVE_REALIGN_STACK || VEC_SIZE <= DL_STACK_ALIGNMENT
+# define VMOV                  vmovdqa64
 #else
-strong_alias (_dl_runtime_resolve_avx, _dl_runtime_resolve_avx512)
-       .hidden _dl_runtime_resolve_avx512
-strong_alias (_dl_runtime_profile_avx, _dl_runtime_profile_avx512)
-       .hidden _dl_runtime_profile_avx512
+# define VMOV                  vmovdqu64
 #endif
+#define VEC(i)                 zmm##i
+#define _dl_runtime_resolve    _dl_runtime_resolve_avx512
+#define _dl_runtime_profile    _dl_runtime_profile_avx512
+#include "dl-trampoline.h"
+#undef _dl_runtime_resolve
+#undef _dl_runtime_profile
+#undef VEC
+#undef VMOV
+#undef VMOVA
+#undef VEC_SIZE
 
 #define VEC_SIZE               32
 #define VMOVA                  vmovdqa
index 874bd80d2355d684a63eb5cf5ee32deca49b57e4..91e92e96d483c20d743bfaffd73f4b28aba3adf6 100644 (file)
@@ -22,7 +22,7 @@
 
        .text
 ENTRY (_ZGVeN8v_cos_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN4v_cos
 #else
 /*
@@ -236,7 +236,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_cos
 END (_ZGVeN8v_cos_knl)
 
 ENTRY (_ZGVeN8v_cos_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN4v_cos
 #else
 /*
index 456792dec6a3fe74df592773449277df0755eaf6..ea840911e70f14afaaa0bff0c801f7271675eb76 100644 (file)
@@ -22,7 +22,7 @@
 
        .text
 ENTRY (_ZGVeN8v_exp_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN4v_exp
 #else
 /*
@@ -238,7 +238,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_exp
 END (_ZGVeN8v_exp_knl)
 
 ENTRY (_ZGVeN8v_exp_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN4v_exp
 #else
 /*
index 4c52a916057977abee2498034e05748c0524dd98..62854bb07dc311e454383b5f34a22818245a0a6c 100644 (file)
@@ -22,7 +22,7 @@
 
        .text
 ENTRY (_ZGVeN8v_log_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN4v_log
 #else
 /*
@@ -237,7 +237,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_log
 END (_ZGVeN8v_log_knl)
 
 ENTRY (_ZGVeN8v_log_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN4v_log
 #else
 /*
index fd6a88961e58c209d3fb727801f3fa11e23cb4dc..c6b6474438142a1293e076b22d13b23ad8eed9b3 100644 (file)
@@ -82,7 +82,7 @@
 
        .text
 ENTRY (_ZGVeN8vv_pow_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512_ff _ZGVdN4vv_pow
 #else
         pushq     %rbp
@@ -409,7 +409,7 @@ WRAPPER_IMPL_AVX512_ff _ZGVdN4vv_pow
 END (_ZGVeN8vv_pow_knl)
 
 ENTRY (_ZGVeN8vv_pow_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512_ff _ZGVdN4vv_pow
 #else
         pushq     %rbp
index d3449e3d29f9160432fae7d6cf8b72b7c12d05ef..0bb2008c059e0d76c2cce1bb9e3927f094c5ac40 100644 (file)
@@ -22,7 +22,7 @@
 
        .text
 ENTRY (_ZGVeN8v_sin_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN4v_sin
 #else
 /*
@@ -237,7 +237,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN4v_sin
 END (_ZGVeN8v_sin_knl)
 
 ENTRY (_ZGVeN8v_sin_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN4v_sin
 #else
 /*
index 12ffb0ce9f9cba14ad241760a28685009268ce3b..bb8f6180a09a468a8c9f9ee8006f6d49f147bb7f 100644 (file)
@@ -37,7 +37,7 @@
 
        .text
 ENTRY (_ZGVeN8vl8l8_sincos_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512_fFF _ZGVdN4vl8l8_sincos
 #else
         pushq     %rbp
@@ -308,7 +308,7 @@ END (_ZGVeN8vl8l8_sincos_knl)
 libmvec_hidden_def(_ZGVeN8vl8l8_sincos_knl)
 
 ENTRY (_ZGVeN8vl8l8_sincos_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512_fFF _ZGVdN4vl8l8_sincos
 #else
         pushq     %rbp
index b39ec3ad2f7deb4331ce8180f03c77a8a0d18ace..ca079a7f35d356c0b7946f7a011724f77e80d8c8 100644 (file)
@@ -22,7 +22,7 @@
 
        .text
 ENTRY (_ZGVeN16v_cosf_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN8v_cosf
 #else
 /*
@@ -239,7 +239,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN8v_cosf
 END (_ZGVeN16v_cosf_knl)
 
 ENTRY (_ZGVeN16v_cosf_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN8v_cosf
 #else
 /*
index 44f61a2d41c98b68ea8cf65e66ba649b6f31898f..18b8a5e3af98d2e6bff7f1ccff3f3deeb1e435e0 100644 (file)
@@ -22,7 +22,7 @@
 
        .text
 ENTRY (_ZGVeN16v_expf_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN8v_expf
 #else
 /*
@@ -227,7 +227,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN8v_expf
 END (_ZGVeN16v_expf_knl)
 
 ENTRY (_ZGVeN16v_expf_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN8v_expf
 #else
 /*
index 8d57e65bb75fd1b7a35fdb8ecd0f617908ad7eb0..c7142582442911d00ec7b194cc43ec0bbc5cfbd4 100644 (file)
@@ -22,7 +22,7 @@
 
        .text
 ENTRY (_ZGVeN16v_logf_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN8v_logf
 #else
 /*
@@ -211,7 +211,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN8v_logf
 END (_ZGVeN16v_logf_knl)
 
 ENTRY (_ZGVeN16v_logf_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN8v_logf
 #else
 /*
index 299e6ae236e40788bb952cad0d488087126019d9..8b0c2564321d52ee918130c30011cff8f6af8769 100644 (file)
@@ -82,7 +82,7 @@
 
        .text
 ENTRY (_ZGVeN16vv_powf_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512_ff _ZGVdN8vv_powf
 #else
         pushq     %rbp
@@ -359,7 +359,7 @@ WRAPPER_IMPL_AVX512_ff _ZGVdN8vv_powf
 END (_ZGVeN16vv_powf_knl)
 
 ENTRY (_ZGVeN16vv_powf_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512_ff _ZGVdN8vv_powf
 #else
         pushq     %rbp
index 7621e87581422237163eaa832f59912816042457..c99d14e96869a59a1f78067700781631d7959d74 100644 (file)
@@ -50,7 +50,7 @@
 
        .text
 ENTRY (_ZGVeN16vl4l4_sincosf_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512_fFF _ZGVdN8vl4l4_sincosf
 #else
         pushq     %rbp
@@ -271,7 +271,7 @@ END (_ZGVeN16vl4l4_sincosf_knl)
 libmvec_hidden_def(_ZGVeN16vl4l4_sincosf_knl)
 
 ENTRY (_ZGVeN16vl4l4_sincosf_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512_fFF _ZGVdN8vvv_sincosf
 #else
         pushq     %rbp
index 121714fbd35cdc5abc826100674558fbc2e12db5..530d14361fec466b618b566988b24faebe1b634b 100644 (file)
@@ -22,7 +22,7 @@
 
        .text
 ENTRY(_ZGVeN16v_sinf_knl)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN8v_sinf
 #else
 /*
@@ -243,7 +243,7 @@ WRAPPER_IMPL_AVX512 _ZGVdN8v_sinf
 END(_ZGVeN16v_sinf_knl)
 
 ENTRY (_ZGVeN16v_sinf_skx)
-#ifndef HAVE_AVX512_ASM_SUPPORT
+#ifndef HAVE_AVX512DQ_ASM_SUPPORT
 WRAPPER_IMPL_AVX512 _ZGVdN8v_sinf
 #else
 /*
index 449b04647eade80bce91f80e93b3d736d9626964..a443e41d2f1ec9cb309fbaddbf61ce1f8cbf7cfd 100644 (file)
@@ -48,7 +48,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 
   /* Support sysdeps/x86_64/multiarch/memmove_chk.c.  */
   IFUNC_IMPL (i, name, __memmove_chk,
-#ifdef HAVE_AVX512_ASM_SUPPORT
              IFUNC_IMPL_ADD (array, i, __memmove_chk,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memmove_chk_avx512_no_vzeroupper)
@@ -58,7 +57,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, __memmove_chk,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memmove_chk_avx512_unaligned_erms)
-#endif
              IFUNC_IMPL_ADD (array, i, __memmove_chk,
                              HAS_ARCH_FEATURE (AVX_Usable),
                              __memmove_chk_avx_unaligned)
@@ -84,7 +82,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, memmove,
                              HAS_ARCH_FEATURE (AVX_Usable),
                              __memmove_avx_unaligned_erms)
-#ifdef HAVE_AVX512_ASM_SUPPORT
              IFUNC_IMPL_ADD (array, i, memmove,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memmove_avx512_no_vzeroupper)
@@ -94,7 +91,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, memmove,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memmove_avx512_unaligned_erms)
-#endif
              IFUNC_IMPL_ADD (array, i, memmove, HAS_CPU_FEATURE (SSSE3),
                              __memmove_ssse3_back)
              IFUNC_IMPL_ADD (array, i, memmove, HAS_CPU_FEATURE (SSSE3),
@@ -117,7 +113,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, __memset_chk,
                              HAS_ARCH_FEATURE (AVX2_Usable),
                              __memset_chk_avx2_unaligned_erms)
-#ifdef HAVE_AVX512_ASM_SUPPORT
              IFUNC_IMPL_ADD (array, i, __memset_chk,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memset_chk_avx512_unaligned_erms)
@@ -127,7 +122,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, __memset_chk,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memset_chk_avx512_no_vzeroupper)
-#endif
              )
 
   /* Support sysdeps/x86_64/multiarch/memset.S.  */
@@ -143,7 +137,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, memset,
                              HAS_ARCH_FEATURE (AVX2_Usable),
                              __memset_avx2_unaligned_erms)
-#ifdef HAVE_AVX512_ASM_SUPPORT
              IFUNC_IMPL_ADD (array, i, memset,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memset_avx512_unaligned_erms)
@@ -153,7 +146,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, memset,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memset_avx512_no_vzeroupper)
-#endif
             )
 
   /* Support sysdeps/x86_64/multiarch/stpncpy.S.  */
@@ -311,7 +303,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 #ifdef SHARED
   /* Support sysdeps/x86_64/multiarch/memcpy_chk.S.  */
   IFUNC_IMPL (i, name, __memcpy_chk,
-#ifdef HAVE_AVX512_ASM_SUPPORT
              IFUNC_IMPL_ADD (array, i, __memcpy_chk,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memcpy_chk_avx512_no_vzeroupper)
@@ -321,7 +312,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, __memcpy_chk,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memcpy_chk_avx512_unaligned_erms)
-#endif
              IFUNC_IMPL_ADD (array, i, __memcpy_chk,
                              HAS_ARCH_FEATURE (AVX_Usable),
                              __memcpy_chk_avx_unaligned)
@@ -351,7 +341,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
                              __memcpy_ssse3_back)
              IFUNC_IMPL_ADD (array, i, memcpy, HAS_CPU_FEATURE (SSSE3),
                              __memcpy_ssse3)
-#ifdef HAVE_AVX512_ASM_SUPPORT
              IFUNC_IMPL_ADD (array, i, memcpy,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memcpy_avx512_no_vzeroupper)
@@ -361,7 +350,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, memcpy,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __memcpy_avx512_unaligned_erms)
-#endif
              IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_sse2_unaligned)
              IFUNC_IMPL_ADD (array, i, memcpy, 1,
                              __memcpy_sse2_unaligned_erms)
@@ -369,7 +357,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 
   /* Support sysdeps/x86_64/multiarch/mempcpy_chk.S.  */
   IFUNC_IMPL (i, name, __mempcpy_chk,
-#ifdef HAVE_AVX512_ASM_SUPPORT
              IFUNC_IMPL_ADD (array, i, __mempcpy_chk,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __mempcpy_chk_avx512_no_vzeroupper)
@@ -379,7 +366,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, __mempcpy_chk,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __mempcpy_chk_avx512_unaligned_erms)
-#endif
              IFUNC_IMPL_ADD (array, i, __mempcpy_chk,
                              HAS_ARCH_FEATURE (AVX_Usable),
                              __mempcpy_chk_avx_unaligned)
@@ -399,7 +385,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 
   /* Support sysdeps/x86_64/multiarch/mempcpy.S.  */
   IFUNC_IMPL (i, name, mempcpy,
-#ifdef HAVE_AVX512_ASM_SUPPORT
              IFUNC_IMPL_ADD (array, i, mempcpy,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __mempcpy_avx512_no_vzeroupper)
@@ -409,7 +394,6 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
              IFUNC_IMPL_ADD (array, i, mempcpy,
                              HAS_ARCH_FEATURE (AVX512F_Usable),
                              __mempcpy_avx512_unaligned_erms)
-#endif
              IFUNC_IMPL_ADD (array, i, mempcpy,
                              HAS_ARCH_FEATURE (AVX_Usable),
                              __mempcpy_avx_unaligned)
index df7fbacd8ab5f368e63873181e6b1f2ef12bbd4d..b8677596f903b0b3f850152e96f02de45cd33684 100644 (file)
@@ -32,7 +32,6 @@ ENTRY(__new_memcpy)
        lea     __memcpy_erms(%rip), %RAX_LP
        HAS_ARCH_FEATURE (Prefer_ERMS)
        jnz     2f
-# ifdef HAVE_AVX512_ASM_SUPPORT
        HAS_ARCH_FEATURE (AVX512F_Usable)
        jz      1f
        lea     __memcpy_avx512_no_vzeroupper(%rip), %RAX_LP
@@ -43,7 +42,6 @@ ENTRY(__new_memcpy)
        jnz     2f
        lea     __memcpy_avx512_unaligned(%rip), %RAX_LP
        ret
-# endif
 1:     lea     __memcpy_avx_unaligned(%rip), %RAX_LP
        HAS_ARCH_FEATURE (AVX_Fast_Unaligned_Load)
        jz      L(Fast_Unaligned_Load)
index 11f13104c27c62c3136c12c96956385886c211cb..9d92c8a7e30a6f94d558ffcce536d794c8e3cc4a 100644 (file)
@@ -30,7 +30,6 @@
 ENTRY(__memcpy_chk)
        .type   __memcpy_chk, @gnu_indirect_function
        LOAD_RTLD_GLOBAL_RO_RDX
-# ifdef HAVE_AVX512_ASM_SUPPORT
        HAS_ARCH_FEATURE (AVX512F_Usable)
        jz      1f
        lea     __memcpy_chk_avx512_no_vzeroupper(%rip), %RAX_LP
@@ -41,7 +40,6 @@ ENTRY(__memcpy_chk)
        jnz     2f
        lea     __memcpy_chk_avx512_unaligned(%rip), %RAX_LP
        ret
-# endif
 1:     lea     __memcpy_chk_avx_unaligned(%rip), %RAX_LP
        HAS_ARCH_FEATURE (AVX_Fast_Unaligned_Load)
        jz      L(Fast_Unaligned_Load)
index 5b8ff57ed5a9c75f9975b96787779ba46e5e2bf1..664b74de49133f7e60a07a72fa6133b6bc39bc90 100644 (file)
@@ -18,7 +18,7 @@
 
 #include <sysdep.h>
 
-#if defined HAVE_AVX512_ASM_SUPPORT && IS_IN (libc)
+#if IS_IN (libc)
 
 # include "asm-syntax.h"
 
index f9af6fdce60beaabcf1ab1ddf058300705d17813..aac1515cf6b3bb5c29377de6ffdafa89641cd7ad 100644 (file)
@@ -1,4 +1,4 @@
-#if defined HAVE_AVX512_ASM_SUPPORT && IS_IN (libc)
+#if IS_IN (libc)
 # define VEC_SIZE      64
 # define VEC(i)                zmm##i
 # define VMOVNT                vmovntdq
index 8e1c6ac8e8717cbad88188114b3665ee644beecd..ff5e041420c1716996a7bce34d903f0416931af6 100644 (file)
@@ -30,7 +30,6 @@ ENTRY(__libc_memmove)
        lea     __memmove_erms(%rip), %RAX_LP
        HAS_ARCH_FEATURE (Prefer_ERMS)
        jnz     2f
-# ifdef HAVE_AVX512_ASM_SUPPORT
        HAS_ARCH_FEATURE (AVX512F_Usable)
        jz      1f
        lea     __memmove_avx512_no_vzeroupper(%rip), %RAX_LP
@@ -41,7 +40,6 @@ ENTRY(__libc_memmove)
        jnz     2f
        lea     __memmove_avx512_unaligned(%rip), %RAX_LP
        ret
-# endif
 1:     lea     __memmove_avx_unaligned(%rip), %RAX_LP
        HAS_ARCH_FEATURE (AVX_Fast_Unaligned_Load)
        jz      L(Fast_Unaligned_Load)
index cd639b8862ecc9bcc478dc61c44caaf621ad549a..7f861206df1d2710377d901f556a53868bd303fc 100644 (file)
@@ -29,7 +29,6 @@
 ENTRY(__memmove_chk)
        .type   __memmove_chk, @gnu_indirect_function
        LOAD_RTLD_GLOBAL_RO_RDX
-# ifdef HAVE_AVX512_ASM_SUPPORT
        HAS_ARCH_FEATURE (AVX512F_Usable)
        jz      1f
        lea     __memmove_chk_avx512_no_vzeroupper(%rip), %RAX_LP
@@ -40,7 +39,6 @@ ENTRY(__memmove_chk)
        jnz     2f
        lea     __memmove_chk_avx512_unaligned(%rip), %RAX_LP
        ret
-# endif
 1:     lea     __memmove_chk_avx_unaligned(%rip), %RAX_LP
        HAS_ARCH_FEATURE (AVX_Fast_Unaligned_Load)
        jz      L(Fast_Unaligned_Load)
index 4011a1a4f0ca0f8276edd59cbd57b2bdbbf21473..51970687cfb20f11cf9b541e0b3df2819117e68b 100644 (file)
@@ -32,7 +32,6 @@ ENTRY(__mempcpy)
        lea     __mempcpy_erms(%rip), %RAX_LP
        HAS_ARCH_FEATURE (Prefer_ERMS)
        jnz     2f
-# ifdef HAVE_AVX512_ASM_SUPPORT
        HAS_ARCH_FEATURE (AVX512F_Usable)
        jz      1f
        lea     __mempcpy_avx512_no_vzeroupper(%rip), %RAX_LP
@@ -43,7 +42,6 @@ ENTRY(__mempcpy)
        jnz     2f
        lea     __mempcpy_avx512_unaligned(%rip), %RAX_LP
        ret
-# endif
 1:     lea     __mempcpy_avx_unaligned(%rip), %RAX_LP
        HAS_ARCH_FEATURE (AVX_Fast_Unaligned_Load)
        jz      L(Fast_Unaligned_Load)
index 80f460fd0188b03f7c278070c8abdc0645248721..9e49f6f26e19c8f0238503b22564c5a8049218cc 100644 (file)
@@ -30,7 +30,6 @@
 ENTRY(__mempcpy_chk)
        .type   __mempcpy_chk, @gnu_indirect_function
        LOAD_RTLD_GLOBAL_RO_RDX
-# ifdef HAVE_AVX512_ASM_SUPPORT
        HAS_ARCH_FEATURE (AVX512F_Usable)
        jz      1f
        lea     __mempcpy_chk_avx512_no_vzeroupper(%rip), %RAX_LP
@@ -41,7 +40,6 @@ ENTRY(__mempcpy_chk)
        jnz     2f
        lea     __mempcpy_chk_avx512_unaligned(%rip), %RAX_LP
        ret
-# endif
 1:     lea     __mempcpy_chk_avx_unaligned(%rip), %RAX_LP
        HAS_ARCH_FEATURE (AVX_Fast_Unaligned_Load)
        jz      L(Fast_Unaligned_Load)
index eab8c5a651172dd47f00c79dabb04fc32e7d15ac..9687df0d3e434b42cc54b66da493f6e67ed8488f 100644 (file)
@@ -18,7 +18,7 @@
 
 #include <sysdep.h>
 
-#if defined HAVE_AVX512_ASM_SUPPORT && IS_IN (libc)
+#if IS_IN (libc)
 
 #include "asm-syntax.h"
 #ifndef MEMSET
index f1b3cb23d37e61b077206bce16cb8057ef8b6bc8..a5ec34919826f988e1c4a13b5dcc2462ca6430a9 100644 (file)
@@ -1,4 +1,4 @@
-#if defined HAVE_AVX512_ASM_SUPPORT && IS_IN (libc)
+#if IS_IN (libc)
 # define VEC_SIZE      64
 # define VEC(i)                zmm##i
 # define VMOVU         vmovdqu64
index 2b964a0398780e33eac03dd77915876e36726abb..96e99341aaaa9136a69e423f89b09e8520d293b1 100644 (file)
@@ -41,7 +41,6 @@ ENTRY(memset)
        jnz     L(AVX512F)
        lea     __memset_avx2_unaligned(%rip), %RAX_LP
 L(AVX512F):
-# ifdef HAVE_AVX512_ASM_SUPPORT
        HAS_ARCH_FEATURE (AVX512F_Usable)
        jz      2f
        lea     __memset_avx512_no_vzeroupper(%rip), %RAX_LP
@@ -51,7 +50,6 @@ L(AVX512F):
        HAS_CPU_FEATURE (ERMS)
        jnz     2f
        lea     __memset_avx512_unaligned(%rip), %RAX_LP
-# endif
 2:     ret
 END(memset)
 #endif
index 8517cfc0734502e25cb369f795b6843cdc35e136..2efe6ed909c46c95df9082c4c55490b1350487a9 100644 (file)
@@ -38,7 +38,6 @@ ENTRY(__memset_chk)
        jnz     L(AVX512F)
        lea     __memset_chk_avx2_unaligned(%rip), %RAX_LP
 L(AVX512F):
-#ifdef HAVE_AVX512_ASM_SUPPORT
        HAS_ARCH_FEATURE (AVX512F_Usable)
        jz      2f
        lea     __memset_chk_avx512_no_vzeroupper(%rip), %RAX_LP
@@ -48,7 +47,6 @@ L(AVX512F):
        HAS_CPU_FEATURE (ERMS)
        jnz     2f
        lea     __memset_chk_avx512_unaligned(%rip), %RAX_LP
-#endif
 2:     ret
 END(__memset_chk)
 
This page took 0.2047 seconds and 5 git commands to generate.