Don't build SSE3 tests if the configure test determined that the assembler
does not know about SSE3 instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6657 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/configure.in b/configure.in
index 5fcb8f6..9b10fd6 100644
--- a/configure.in
+++ b/configure.in
@@ -744,6 +744,8 @@
# does the x86/amd64 assembler understand SSE3 instructions?
+# Note, this doesn't generate a C-level symbol. It generates a
+# automake-level symbol (BUILD_SSE3_TESTS), used in test Makefile.am's
AC_MSG_CHECKING([if x86/amd64 assembler speaks SSE3])
AC_TRY_COMPILE(, [
@@ -758,9 +760,8 @@
ac_have_as_sse3=no
AC_MSG_RESULT([no])
])
-if test x$ac_have_as_sse3 = xyes ; then
- AC_DEFINE(HAVE_AS_SSE3, 1, [Define to 1 if x86/amd64 as supports SSE3.])
-fi
+
+AM_CONDITIONAL(BUILD_SSE3_TESTS, test x$ac_have_as_sse3 = xyes)
# Check for TLS support in the compiler and linker
diff --git a/none/tests/amd64/Makefile.am b/none/tests/amd64/Makefile.am
index eb02625..7a165b8 100644
--- a/none/tests/amd64/Makefile.am
+++ b/none/tests/amd64/Makefile.am
@@ -2,8 +2,15 @@
noinst_SCRIPTS = filter_cpuid filter_stderr filter_int gen_insn_test.pl
CLEANFILES = $(addsuffix .c,$(INSN_TESTS))
-INSN_TESTS = insn_basic insn_mmx insn_sse insn_sse2 insn_sse3 insn_fpu
+INSN_TESTS = insn_basic insn_mmx insn_sse insn_sse2 insn_fpu
+if BUILD_SSE3_TESTS
+ INSN_TESTS += insn_sse3
+endif
+
+# Explicitly include insn_sse3 even if ! BUILD_SSE3_TESTS,
+# to avoid packaging screwups if 'make dist' is run on a machine
+# which failed the BUILD_SSE3_TESTS test in configure.in.
EXTRA_DIST = $(noinst_SCRIPTS) \
bug127521-64.vgtest bug127521-64.stdout.exp bug127521-64.stderr.exp \
bug132813-amd64.vgtest bug132813-amd64.stdout.exp \
@@ -16,6 +23,7 @@
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
$(addsuffix .vgtest,$(INSN_TESTS)) \
+ insn_sse3.stdout.exp insn_sse3.stderr.exp insn_sse3.vgtest \
jrcxz.stderr.exp jrcxz.stdout.exp jrcxz.vgtest \
looper.stderr.exp looper.stdout.exp looper.vgtest \
nibz_bennee_mmap.stderr.exp nibz_bennee_mmap.stdout.exp \
diff --git a/none/tests/x86/Makefile.am b/none/tests/x86/Makefile.am
index bee3194..5fa56f7 100644
--- a/none/tests/x86/Makefile.am
+++ b/none/tests/x86/Makefile.am
@@ -1,9 +1,16 @@
noinst_SCRIPTS = filter_cpuid filter_stderr gen_insn_test.pl
CLEANFILES = $(addsuffix .c,$(INSN_TESTS))
-INSN_TESTS = insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext \
- insn_sse insn_sse2 insn_sse3
+INSN_TESTS = insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext \
+ insn_sse insn_sse2
+if BUILD_SSE3_TESTS
+ INSN_TESTS += insn_sse3
+endif
+
+# Explicitly include insn_sse3 even if ! BUILD_SSE3_TESTS,
+# to avoid packaging screwups if 'make dist' is run on a machine
+# which failed the BUILD_SSE3_TESTS test in configure.in.
EXTRA_DIST = $(noinst_SCRIPTS) \
badseg.stderr.exp badseg.stdout.exp badseg.vgtest \
bt_everything.stderr.exp bt_everything.stdout.exp bt_everything.vgtest \
@@ -27,6 +34,7 @@
$(addsuffix .stderr.exp,$(INSN_TESTS)) \
$(addsuffix .stdout.exp,$(INSN_TESTS)) \
$(addsuffix .vgtest,$(INSN_TESTS)) \
+ insn_sse3.stdout.exp insn_sse3.stderr.exp insn_sse3.vgtest \
jcxz.stdout.exp jcxz.stderr.exp jcxz.vgtest \
lahf.stdout.exp lahf.stderr.exp lahf.vgtest \
looper.stderr.exp looper.stdout.exp looper.vgtest \