diff mbox

[v2,RESEND,2/2] configure: add options to config avx2

Message ID 1447126297-27239-3-git-send-email-liang.z.li@intel.com
State New
Headers show

Commit Message

Li, Liang Z Nov. 10, 2015, 3:31 a.m. UTC
Add the '--enable-avx2' & '--disable-avx2' option so as to config
the AVX2 instruction optimization.

By default, avx2 optimization is enabled, if '--disable-avx2' is not
set, configure will detect if the compiler can support AVX2 option,
if yes, AVX2 optimization is eabled, else disabled.

Signed-off-by: Liang Li <liang.z.li@intel.com>
---
 configure | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

Comments

Juan Quintela Nov. 10, 2015, 9:01 a.m. UTC | #1
Liang Li <liang.z.li@intel.com> wrote:
> Add the '--enable-avx2' & '--disable-avx2' option so as to config
> the AVX2 instruction optimization.
>
> By default, avx2 optimization is enabled, if '--disable-avx2' is not
> set, configure will detect if the compiler can support AVX2 option,
> if yes, AVX2 optimization is eabled, else disabled.
>
> Signed-off-by: Liang Li <liang.z.li@intel.com>
> ---
>  configure | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
> diff --git a/configure b/configure
> index 42e57c0..4d81be2 100755
> --- a/configure
> +++ b/configure
> @@ -310,6 +310,7 @@ smartcard=""
>  libusb=""
>  usb_redir=""
>  opengl=""
> +avx2="yes"
>  zlib="yes"
>  lzo=""
>  snappy=""
> @@ -1057,6 +1058,10 @@ for opt do
>    ;;
>    --enable-usb-redir) usb_redir="yes"
>    ;;
> +  --disable-avx2) avx2="no"
> +  ;;
> +  --enable-avx2) avx2="yes"
> +  ;;
>    --disable-zlib-test) zlib="no"
>    ;;
>    --disable-lzo) lzo="no"
> @@ -1373,6 +1378,7 @@ disabled with --disable-FEATURE, default is enabled if available:
>    smartcard       smartcard support (libcacard)
>    libusb          libusb (for usb passthrough)
>    usb-redir       usb network redirection support
> +  avx2            support of avx2 instruction
>    lzo             support of lzo compression library
>    snappy          support of snappy compression library
>    bzip2           support of bzip2 compression library
> @@ -1809,6 +1815,24 @@ EOF
>    fi
>  fi
>  
> +########################################
> +# avx2 check
> +
> +if test "$avx2" != "no" ; then
> +    cat > $TMPC << EOF
> +int main(void) { return 0; }
> +EOF
> +    if compile_prog "" "-mavx2" ; then
> +        avx2="yes"
> +    else
> +        avx2="no"

the else bit shouldn't be:

          if test "$avx2" = "yes"; then
              feature_not_found "avx2" "Your compiler don't support avx2"
          fi
          avx=2="no"

??
> +    fi
> +fi
> +
> +if test "$avx2" = "yes" ; then
> +    avx2_cflags=" -mavx2"
> +fi
> +
>  ##########################################
>  # zlib check
>  
> @@ -4782,6 +4806,7 @@ echo "libssh2 support   $libssh2"
>  echo "TPM passthrough   $tpm_passthrough"
>  echo "QOM debugging     $qom_cast_debug"
>  echo "vhdx              $vhdx"
> +echo "avx2 support      $avx2"
>  echo "lzo support       $lzo"
>  echo "snappy support    $snappy"
>  echo "bzip2 support     $bzip2"
> @@ -5166,6 +5191,10 @@ if test "$opengl" = "yes" ; then
>    echo "OPENGL_LIBS=$opengl_libs" >> $config_host_mak
>  fi
>  
> +if test "$avx2" = "yes" ; then
> +  echo "AVX2_CFLAGS=$avx2_cflags" >> $config_host_mak
> +fi
> +
>  if test "$lzo" = "yes" ; then
>    echo "CONFIG_LZO=y" >> $config_host_mak
>  fi
diff mbox

Patch

diff --git a/configure b/configure
index 42e57c0..4d81be2 100755
--- a/configure
+++ b/configure
@@ -310,6 +310,7 @@  smartcard=""
 libusb=""
 usb_redir=""
 opengl=""
+avx2="yes"
 zlib="yes"
 lzo=""
 snappy=""
@@ -1057,6 +1058,10 @@  for opt do
   ;;
   --enable-usb-redir) usb_redir="yes"
   ;;
+  --disable-avx2) avx2="no"
+  ;;
+  --enable-avx2) avx2="yes"
+  ;;
   --disable-zlib-test) zlib="no"
   ;;
   --disable-lzo) lzo="no"
@@ -1373,6 +1378,7 @@  disabled with --disable-FEATURE, default is enabled if available:
   smartcard       smartcard support (libcacard)
   libusb          libusb (for usb passthrough)
   usb-redir       usb network redirection support
+  avx2            support of avx2 instruction
   lzo             support of lzo compression library
   snappy          support of snappy compression library
   bzip2           support of bzip2 compression library
@@ -1809,6 +1815,24 @@  EOF
   fi
 fi
 
+########################################
+# avx2 check
+
+if test "$avx2" != "no" ; then
+    cat > $TMPC << EOF
+int main(void) { return 0; }
+EOF
+    if compile_prog "" "-mavx2" ; then
+        avx2="yes"
+    else
+        avx2="no"
+    fi
+fi
+
+if test "$avx2" = "yes" ; then
+    avx2_cflags=" -mavx2"
+fi
+
 ##########################################
 # zlib check
 
@@ -4782,6 +4806,7 @@  echo "libssh2 support   $libssh2"
 echo "TPM passthrough   $tpm_passthrough"
 echo "QOM debugging     $qom_cast_debug"
 echo "vhdx              $vhdx"
+echo "avx2 support      $avx2"
 echo "lzo support       $lzo"
 echo "snappy support    $snappy"
 echo "bzip2 support     $bzip2"
@@ -5166,6 +5191,10 @@  if test "$opengl" = "yes" ; then
   echo "OPENGL_LIBS=$opengl_libs" >> $config_host_mak
 fi
 
+if test "$avx2" = "yes" ; then
+  echo "AVX2_CFLAGS=$avx2_cflags" >> $config_host_mak
+fi
+
 if test "$lzo" = "yes" ; then
   echo "CONFIG_LZO=y" >> $config_host_mak
 fi