|
From: <sv...@va...> - 2008-02-09 12:07:39
|
Author: sewardj
Date: 2008-02-09 12:07:40 +0000 (Sat, 09 Feb 2008)
New Revision: 7387
Log:
Only build the SSSE3 tests on machines whose assemblers know about
these instructions.
Modified:
trunk/configure.in
trunk/none/tests/amd64/Makefile.am
trunk/none/tests/x86/Makefile.am
Modified: trunk/configure.in
===================================================================
--- trunk/configure.in 2008-02-09 05:10:45 UTC (rev 7386)
+++ trunk/configure.in 2008-02-09 12:07:40 UTC (rev 7387)
@@ -832,6 +832,28 @@
AM_CONDITIONAL(BUILD_SSE3_TESTS, test x$ac_have_as_sse3 = xyes)
+# Ditto for SSSE3 instructions (note extra S)
+# Note, this doesn't generate a C-level symbol. It generates a
+# automake-level symbol (BUILD_SSSE3_TESTS), used in test Makefile.am's
+AC_MSG_CHECKING([if x86/amd64 assembler speaks SSSE3])
+
+AC_TRY_COMPILE(, [
+ do { long long int x;
+ __asm__ __volatile__(
+ "pabsb (%0),%%xmm7" : : "r"(&x) : "xmm7" ); }
+ while (0)
+],
+[
+ac_have_as_ssse3=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_as_ssse3=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(BUILD_SSSE3_TESTS, test x$ac_have_as_ssse3 = xyes)
+
+
# Check for TLS support in the compiler and linker
AC_CACHE_CHECK([for TLS support], vg_cv_tls,
[AC_ARG_ENABLE(tls, [ --enable-tls platform supports TLS],
Modified: trunk/none/tests/amd64/Makefile.am
===================================================================
--- trunk/none/tests/amd64/Makefile.am 2008-02-09 05:10:45 UTC (rev 7386)
+++ trunk/none/tests/amd64/Makefile.am 2008-02-09 12:07:40 UTC (rev 7387)
@@ -7,6 +7,9 @@
if BUILD_SSE3_TESTS
INSN_TESTS += insn_sse3 insn_ssse3
endif
+if BUILD_SSSE3_TESTS
+ INSN_TESTS += insn_ssse3 ssse3_misaligned
+endif
# Explicitly include insn_sse3 even if ! BUILD_SSE3_TESTS,
# to avoid packaging screwups if 'make dist' is run on a machine
@@ -48,7 +51,7 @@
faultstatus fcmovnu fxtract $(INSN_TESTS) looper jrcxz \
rcl-amd64 \
redundantRexW \
- smc1 shrld ssse3_misaligned \
+ smc1 shrld \
nibz_bennee_mmap \
slahf-amd64
Modified: trunk/none/tests/x86/Makefile.am
===================================================================
--- trunk/none/tests/x86/Makefile.am 2008-02-09 05:10:45 UTC (rev 7386)
+++ trunk/none/tests/x86/Makefile.am 2008-02-09 12:07:40 UTC (rev 7387)
@@ -5,8 +5,11 @@
INSN_TESTS = insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext \
insn_sse insn_sse2
if BUILD_SSE3_TESTS
- INSN_TESTS += insn_sse3 insn_ssse3
+ INSN_TESTS += insn_sse3
endif
+if BUILD_SSSE3_TESTS
+ INSN_TESTS += insn_ssse3 ssse3_misaligned
+endif
# Explicitly include insn_sse3 even if ! BUILD_SSE3_TESTS,
# to avoid packaging screwups if 'make dist' is run on a machine
@@ -61,7 +64,7 @@
getseg incdec_alt $(INSN_TESTS) \
jcxz \
lahf looper movx int pushpopseg sbbmisc \
- seg_override sigcontext smc1 ssse3_misaligned yield
+ seg_override sigcontext smc1 yield
AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow \
@FLAG_M32@ -g -I$(top_srcdir)/include \
|