include $(top_srcdir)/Makefile.tool-tests.am dist_noinst_SCRIPTS = filter_cpuid filter_inf_nan filter_stderr gen_insn_test.pl CLEANFILES = $(addsuffix .c,$(INSN_TESTS)) INSN_TESTS = insn_basic insn_cmov insn_mmx insn_mmxext if !COMPILER_IS_CLANG INSN_TESTS += insn_sse insn_sse2 if BUILD_SSSE3_TESTS INSN_TESTS += insn_ssse3 endif if BUILD_SSE3_TESTS if !SOLARIS_SUN_STUDIO_AS # Sun Studio assembler fails to build some tests (illegal mnemonic). INSN_TESTS += insn_sse3 endif endif endif if !SOLARIS_SUN_STUDIO_AS # Sun Studio assembler fails to build some tests (illegal mnemonic). INSN_TESTS += insn_fpu 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. ## FIXME: move lzcnt32 to SSE4 conditionalisation, when that happens. EXTRA_DIST = \ aad_aam.stdout.exp aad_aam.stderr.exp aad_aam.vgtest \ badseg.stderr.exp badseg.stdout.exp badseg.stdout.exp-solaris \ badseg.vgtest \ bt_everything.stderr.exp bt_everything.stdout.exp bt_everything.vgtest \ bt_literal.stderr.exp bt_literal.stdout.exp bt_literal.vgtest \ bug125959-x86.stderr.exp bug125959-x86.stdout.exp bug125959-x86.vgtest \ bug126147-x86.stderr.exp bug126147-x86.stdout.exp bug126147-x86.vgtest \ bug132813-x86.stderr.exp bug132813-x86.stdout.exp bug132813-x86.vgtest \ bug135421-x86.stderr.exp bug135421-x86.stdout.exp bug135421-x86.vgtest \ bug137714-x86.stderr.exp bug137714-x86.stdout.exp bug137714-x86.vgtest \ bug152818-x86.stderr.exp bug152818-x86.stdout.exp bug152818-x86.vgtest \ cmpxchg8b.stderr.exp cmpxchg8b.stdout.exp cmpxchg8b.vgtest \ cpuid.stderr.exp cpuid.stdout.exp cpuid.vgtest \ cse_fail.stderr.exp cse_fail.stdout.exp cse_fail.vgtest \ faultstatus.disabled faultstatus.stderr.exp \ fcmovnu.vgtest fcmovnu.stderr.exp fcmovnu.stdout.exp \ fpu_lazy_eflags.stderr.exp fpu_lazy_eflags.stdout.exp \ fpu_lazy_eflags.vgtest \ fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \ fxtract.stdout.exp-older-glibc \ getseg.stdout.exp getseg.stderr.exp getseg.vgtest \ incdec_alt.stdout.exp incdec_alt.stderr.exp incdec_alt.vgtest \ int.stderr.exp int.stdout.exp int.disabled \ $(addsuffix .stderr.exp,$(INSN_TESTS)) \ $(addsuffix .stdout.exp,$(INSN_TESTS)) \ $(addsuffix .vgtest,$(INSN_TESTS)) \ insn_fpu.stdout.exp insn_fpu.stderr.exp insn_fpu.vgtest \ insn_sse.stdout.exp insn_sse.stderr.exp insn_sse.vgtest \ insn_sse2.stdout.exp insn_sse2.stderr.exp insn_sse2.vgtest \ insn_sse3.stdout.exp insn_sse3.stderr.exp insn_sse3.vgtest \ insn_ssse3.stdout.exp insn_ssse3.stderr.exp insn_ssse3.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 \ lzcnt32.stderr.exp lzcnt32.stdout.exp lzcnt32.vgtest \ movx.stderr.exp movx.stdout.exp movx.vgtest \ movbe.stderr.exp movbe.stdout.exp movbe.vgtest \ pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \ sbbmisc.stderr.exp sbbmisc.stdout.exp sbbmisc.vgtest \ shift_ndep.stderr.exp shift_ndep.stdout.exp shift_ndep.vgtest \ smc1.stderr.exp smc1.stdout.exp smc1.vgtest \ ssse3_misaligned.stderr.exp ssse3_misaligned.stdout.exp \ ssse3_misaligned.vgtest ssse3_misaligned.c \ x86locked.vgtest x86locked.stdout.exp x86locked.stderr.exp \ x87trigOOR.vgtest x87trigOOR.stdout.exp x87trigOOR.stderr.exp \ yield.stderr.exp yield.stdout.exp yield.disabled \ xadd.stdout.exp xadd.stderr.exp xadd.vgtest check_PROGRAMS = \ aad_aam \ allexec \ badseg \ bt_everything \ bt_literal \ bug125959-x86 \ bug126147-x86 \ bug132813-x86 \ bug135421-x86 \ bug137714-x86 \ bug152818-x86 \ cmpxchg8b \ cpuid \ cse_fail \ fcmovnu \ fpu_lazy_eflags \ fxtract \ getseg \ incdec_alt \ $(INSN_TESTS) \ int \ jcxz \ lahf \ looper \ movx \ sbbmisc \ shift_ndep \ smc1 \ x86locked \ x87trigOOR \ yield \ xadd if BUILD_SSSE3_TESTS check_PROGRAMS += ssse3_misaligned endif if BUILD_LZCNT_TESTS check_PROGRAMS += lzcnt32 endif if BUILD_MOVBE_TESTS check_PROGRAMS += movbe endif if !VGCONF_OS_IS_DARWIN if !SOLARIS_SUN_STUDIO_AS # Sun Studio assembler fails to assemble the bound instruction if !COMPILER_IS_CLANG # clang errors out complaining that %eax as the 1st operand in the bound # insn is an invalid operand. check_PROGRAMS += faultstatus endif endif endif if !SOLARIS_SUN_STUDIO_AS # Sun Studio assembler fails to assemble pushw %fs, popw %fs check_PROGRAMS += pushpopseg endif AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE) AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE) AM_CCASFLAGS += @FLAG_M32@ allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@ if VGCONF_OS_IS_DARWIN # Some of the tests (bug125959_x86, bug152818_x86, insn_*) need # -mdynamic-no-pic. I tried setting *_CFLAGS separately for all of them, # but it caused problems with the generation of insn_*.c. So just use this # crude approach of setting -mdynamic-no-pic for all tests in this # directory. AM_CFLAGS += -mdynamic-no-pic endif cpuid_SOURCES = cpuid_c.c cpuid_s.S # fpu_lazy_eflags must use these flags -- the bug only occurred with them. fpu_lazy_eflags_CFLAGS = $(AM_CFLAGS) -O2 -march=pentiumpro fxtract_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_OVERFLOW@ fxtract_LDADD = -lm insn_basic_SOURCES = insn_basic.def insn_basic_LDADD = -lm insn_fpu_SOURCES = insn_fpu.def insn_fpu_LDADD = -lm insn_cmov_SOURCES = insn_cmov.def insn_cmov_LDADD = -lm insn_mmx_SOURCES = insn_mmx.def insn_mmx_LDADD = -lm insn_mmxext_SOURCES = insn_mmxext.def insn_mmxext_LDADD = -lm insn_sse_SOURCES = insn_sse.def insn_sse_LDADD = -lm insn_sse2_SOURCES = insn_sse2.def insn_sse2_LDADD = -lm insn_sse3_SOURCES = insn_sse3.def insn_sse3_LDADD = -lm insn_ssse3_SOURCES = insn_ssse3.def insn_ssse3_LDADD = -lm x86locked_CFLAGS = $(AM_CFLAGS) -O yield_LDADD = -lpthread .def.c: $(srcdir)/gen_insn_test.pl $(PERL) $(srcdir)/gen_insn_test.pl < $< > $@