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 \