]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Check whether binutils supports TSX instructions.
authorFlorian Krohm <florian@eich-krohm.de>
Mon, 30 Sep 2013 16:32:53 +0000 (16:32 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Mon, 30 Sep 2013 16:32:53 +0000 (16:32 +0000)
Guard none/tests/amd64/tm1 accordingly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13587

configure.ac
none/tests/amd64/Makefile.am

index 22c98be1fc28755bb720c035012e8022d6faea8f..b3570cb44d2a1cb3dd4f22aa0b826f30e7bf10a3 100644 (file)
@@ -1997,6 +1997,28 @@ AC_MSG_RESULT([no])
 AM_CONDITIONAL(BUILD_AVX2_TESTS, test x$ac_have_as_avx2 = xyes)
 
 
+# does the x86/amd64 assembler understand TSX instructions?
+# Note, this doesn't generate a C-level symbol.  It generates a
+# automake-level symbol (BUILD_TSX_TESTS), used in test Makefile.am's
+AC_MSG_CHECKING([if x86/amd64 assembler speaks TSX])
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+  do {
+   __asm__ __volatile__(
+      "       xbegin Lfoo  \n\t"
+      "Lfoo:  xend         \n\t");
+  } while (0)
+]])], [
+ac_have_as_tsx=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_as_tsx=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(BUILD_TSX_TESTS, test x$ac_have_as_tsx = xyes)
+
+
 # does the x86/amd64 assembler understand BMI1 and BMI2 instructions?
 # Note, this doesn't generate a C-level symbol.  It generates a
 # automake-level symbol (BUILD_BMI_TESTS), used in test Makefile.am's
index 6e00b2cd882d164ede23d5a62e418df38139c5f0..cc351b7b06a5c1f700f26e6b37469362c3917cf6 100644 (file)
@@ -114,7 +114,10 @@ if BUILD_VPCLMULQDQ_TESTS
 endif
 endif
 if BUILD_AVX2_TESTS
-  check_PROGRAMS += avx2-1 tm1
+  check_PROGRAMS += avx2-1
+endif
+if BUILD_TSX_TESTS
+  check_PROGRAMS += tm1
 endif
 if BUILD_BMI_TESTS
  check_PROGRAMS += bmi