Commit 86583a07 authored by Liam Merwick's avatar Liam Merwick Committed by Thomas Huth
Browse files

configure: Provide option to explicitly disable AVX2



The configure script detects if the compiler has AVX2 support and
automatically sets avx2_opt="yes" which in turn defines CONFIG_AVX2_OPT.
There is no way of explicitly overriding this setting so this commit adds
two command-line options: --enable-avx2 and --disable-avx2.

The default behaviour, when no option is specified, is to maintain the
current behaviour and enable AVX2 if the compiler supports it.

Signed-off-by: default avatarLiam Merwick <Liam.Merwick@oracle.com>
Reviewed-by: default avatarDarren Kenny <Darren.Kenny@oracle.com>
Reviewed-by: default avatarMark Kanda <Mark.Kanda@oracle.com>
Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
parent ba278776
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -428,7 +428,7 @@ usb_redir=""
opengl=""
opengl_dmabuf="no"
cpuid_h="no"
avx2_opt="no"
avx2_opt=""
zlib="yes"
capstone=""
lzo=""
@@ -1329,6 +1329,10 @@ for opt do
  ;;
  --disable-glusterfs) glusterfs="no"
  ;;
  --disable-avx2) avx2_opt="no"
  ;;
  --enable-avx2) avx2_opt="yes"
  ;;
  --enable-glusterfs) glusterfs="yes"
  ;;
  --disable-virtio-blk-data-plane|--enable-virtio-blk-data-plane)
@@ -1703,6 +1707,7 @@ disabled with --disable-FEATURE, default is enabled if available:
  libxml2         for Parallels image format
  tcmalloc        tcmalloc support
  jemalloc        jemalloc support
  avx2            AVX2 optimization support
  replication     replication support
  vhost-vsock     virtio sockets device support
  opengl          opengl support
@@ -5032,7 +5037,7 @@ fi
# There is no point enabling this if cpuid.h is not usable,
# since we won't be able to select the new routines.

if test $cpuid_h = yes; then
if test "$cpuid_h" = "yes" -a "$avx2_opt" != "no"; then
  cat > $TMPC << EOF
#pragma GCC push_options
#pragma GCC target("avx2")
@@ -5046,6 +5051,8 @@ int main(int argc, char *argv[]) { return bar(argv[0]); }
EOF
  if compile_object "" ; then
    avx2_opt="yes"
  else
    avx2_opt="no"
  fi
fi