@@ -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
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(+)