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