1 2 include $(top_srcdir)/Makefile.tool-tests.am 3 4 dist_noinst_SCRIPTS = filter_cpuid filter_stderr gen_insn_test.pl 5 6 CLEANFILES = $(addsuffix .c,$(INSN_TESTS)) 7 8 INSN_TESTS = insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext \ 9 insn_sse insn_sse2 10 if BUILD_SSE3_TESTS 11 INSN_TESTS += insn_sse3 12 endif 13 if BUILD_SSSE3_TESTS 14 INSN_TESTS += insn_ssse3 15 endif 16 17 # Explicitly include insn_sse3 even if ! BUILD_SSE3_TESTS, 18 # to avoid packaging screwups if 'make dist' is run on a machine 19 # which failed the BUILD_SSE3_TESTS test in configure.in. 20 21 ## FIXME: move lzcnt32 to SSE4 conditionalisation, when that happens. 22 23 EXTRA_DIST = \ 24 aad_aam.stdout.exp aad_aam.stderr.exp aad_aam.vgtest \ 25 badseg.stderr.exp badseg.stdout.exp badseg.vgtest \ 26 bt_everything.stderr.exp bt_everything.stdout.exp bt_everything.vgtest \ 27 bt_literal.stderr.exp bt_literal.stdout.exp bt_literal.vgtest \ 28 bug125959-x86.stderr.exp bug125959-x86.stdout.exp bug125959-x86.vgtest \ 29 bug126147-x86.stderr.exp bug126147-x86.stdout.exp bug126147-x86.vgtest \ 30 bug132813-x86.stderr.exp bug132813-x86.stdout.exp bug132813-x86.vgtest \ 31 bug135421-x86.stderr.exp bug135421-x86.stdout.exp bug135421-x86.vgtest \ 32 bug137714-x86.stderr.exp bug137714-x86.stdout.exp bug137714-x86.vgtest \ 33 bug152818-x86.stderr.exp bug152818-x86.stdout.exp bug152818-x86.vgtest \ 34 cmpxchg8b.stderr.exp cmpxchg8b.stdout.exp cmpxchg8b.vgtest \ 35 cpuid.stderr.exp cpuid.stdout.exp cpuid.vgtest \ 36 cse_fail.stderr.exp cse_fail.stdout.exp cse_fail.vgtest \ 37 faultstatus.disabled faultstatus.stderr.exp \ 38 fcmovnu.vgtest fcmovnu.stderr.exp fcmovnu.stdout.exp \ 39 fpu_lazy_eflags.stderr.exp fpu_lazy_eflags.stdout.exp \ 40 fpu_lazy_eflags.vgtest \ 41 fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \ 42 fxtract.stdout.exp-older-glibc \ 43 getseg.stdout.exp getseg.stderr.exp getseg.vgtest \ 44 incdec_alt.stdout.exp incdec_alt.stderr.exp incdec_alt.vgtest \ 45 int.stderr.exp int.stdout.exp int.disabled \ 46 $(addsuffix .stderr.exp,$(INSN_TESTS)) \ 47 $(addsuffix .stdout.exp,$(INSN_TESTS)) \ 48 $(addsuffix .vgtest,$(INSN_TESTS)) \ 49 insn_sse3.stdout.exp insn_sse3.stderr.exp insn_sse3.vgtest \ 50 insn_ssse3.stdout.exp insn_ssse3.stderr.exp insn_ssse3.vgtest \ 51 jcxz.stdout.exp jcxz.stderr.exp jcxz.vgtest \ 52 lahf.stdout.exp lahf.stderr.exp lahf.vgtest \ 53 looper.stderr.exp looper.stdout.exp looper.vgtest \ 54 lzcnt32.stderr.exp lzcnt32.stdout.exp lzcnt32.vgtest \ 55 movx.stderr.exp movx.stdout.exp movx.vgtest \ 56 pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \ 57 sbbmisc.stderr.exp sbbmisc.stdout.exp sbbmisc.vgtest \ 58 shift_ndep.stderr.exp shift_ndep.stdout.exp shift_ndep.vgtest \ 59 smc1.stderr.exp smc1.stdout.exp smc1.vgtest \ 60 ssse3_misaligned.stderr.exp ssse3_misaligned.stdout.exp \ 61 ssse3_misaligned.vgtest ssse3_misaligned.c \ 62 x86locked.vgtest x86locked.stdout.exp x86locked.stderr.exp \ 63 yield.stderr.exp yield.stdout.exp yield.disabled \ 64 xadd.stdout.exp xadd.stderr.exp xadd.vgtest 65 66 check_PROGRAMS = \ 67 aad_aam \ 68 allexec \ 69 badseg \ 70 bt_everything \ 71 bt_literal \ 72 bug125959-x86 \ 73 bug126147-x86 \ 74 bug132813-x86 \ 75 bug135421-x86 \ 76 bug137714-x86 \ 77 bug152818-x86 \ 78 cmpxchg8b \ 79 cpuid \ 80 fcmovnu \ 81 fpu_lazy_eflags \ 82 fxtract \ 83 getseg \ 84 incdec_alt \ 85 $(INSN_TESTS) \ 86 int \ 87 jcxz \ 88 lahf \ 89 looper \ 90 movx \ 91 pushpopseg \ 92 sbbmisc \ 93 shift_ndep \ 94 smc1 \ 95 x86locked \ 96 yield \ 97 xadd 98 if BUILD_SSSE3_TESTS 99 check_PROGRAMS += ssse3_misaligned 100 endif 101 if BUILD_LZCNT_TESTS 102 check_PROGRAMS += lzcnt32 103 endif 104 if !VGCONF_OS_IS_DARWIN 105 check_PROGRAMS += cse_fail faultstatus 106 endif 107 108 109 AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE) 110 AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE) 111 AM_CCASFLAGS += @FLAG_M32@ 112 113 allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@ 114 115 if VGCONF_OS_IS_DARWIN 116 # Some of the tests (bug125959_x86, bug152818_x86, insn_*) need 117 # -mdynamic-no-pic. I tried setting *_CFLAGS separately for all of them, 118 # but it caused problems with the generation of insn_*.c. So just use this 119 # crude approach of setting -mdynamic-no-pic for all tests in this 120 # directory. 121 AM_CFLAGS += -mdynamic-no-pic 122 endif 123 124 cpuid_SOURCES = cpuid_c.c cpuid_s.S 125 # fpu_lazy_eflags must use these flags -- the bug only occurred with them. 126 fpu_lazy_eflags_CFLAGS = $(AM_CFLAGS) -O2 -march=pentiumpro 127 fxtract_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_OVERFLOW@ 128 fxtract_LDADD = -lm 129 insn_basic_SOURCES = insn_basic.def 130 insn_basic_LDADD = -lm 131 insn_fpu_SOURCES = insn_fpu.def 132 insn_fpu_LDADD = -lm 133 insn_cmov_SOURCES = insn_cmov.def 134 insn_cmov_LDADD = -lm 135 insn_mmx_SOURCES = insn_mmx.def 136 insn_mmx_LDADD = -lm 137 insn_mmxext_SOURCES = insn_mmxext.def 138 insn_mmxext_LDADD = -lm 139 insn_sse_SOURCES = insn_sse.def 140 insn_sse_LDADD = -lm 141 insn_sse2_SOURCES = insn_sse2.def 142 insn_sse2_LDADD = -lm 143 insn_sse3_SOURCES = insn_sse3.def 144 insn_sse3_LDADD = -lm 145 insn_ssse3_SOURCES = insn_ssse3.def 146 insn_ssse3_LDADD = -lm 147 x86locked_CFLAGS = $(AM_CFLAGS) -O 148 yield_LDADD = -lpthread 149 150 .def.c: $(srcdir)/gen_insn_test.pl 151 $(PERL) $(srcdir)/gen_insn_test.pl < $< > $@ 152