blob: e2465f794bbc503458afdcaa22305c735cd08466 [file] [log] [blame]
njn53044572009-02-19 09:52:05 +00001
2include $(top_srcdir)/Makefile.tool-tests.am
3
njn8b68b642009-06-24 00:37:09 +00004dist_noinst_SCRIPTS = filter_cpuid filter_stderr gen_insn_test.pl
nethercotebfd20192004-10-19 18:54:11 +00005
6CLEANFILES = $(addsuffix .c,$(INSN_TESTS))
nethercotebfd20192004-10-19 18:54:11 +00007
sewardjfa18a262007-03-22 12:13:13 +00008INSN_TESTS = insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext \
9 insn_sse insn_sse2
10if BUILD_SSE3_TESTS
njnd1173b82009-05-20 04:02:50 +000011 INSN_TESTS += insn_sse3
sewardj6d6da5b2008-02-09 12:07:40 +000012endif
13if BUILD_SSSE3_TESTS
njnd1173b82009-05-20 04:02:50 +000014 INSN_TESTS += insn_ssse3
sewardjfa18a262007-03-22 12:13:13 +000015endif
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.
sewardjfc3ce482010-07-30 15:11:53 +000020
21## FIXME: move lzcnt32 to SSE4 conditionalisation, when that happens.
22
njn8b68b642009-06-24 00:37:09 +000023EXTRA_DIST = \
sewardj7603b6b2011-01-17 12:34:33 +000024 aad_aam.stdout.exp aad_aam.stderr.exp aad_aam.vgtest \
nethercote9b6b74a2004-10-20 12:36:47 +000025 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 \
sewardj7554cc82006-11-14 15:07:57 +000028 bug125959-x86.stderr.exp bug125959-x86.stdout.exp bug125959-x86.vgtest \
sewardjb95cd582006-11-14 15:50:44 +000029 bug126147-x86.stderr.exp bug126147-x86.stdout.exp bug126147-x86.vgtest \
sewardj56a6f412006-08-28 18:09:46 +000030 bug132813-x86.stderr.exp bug132813-x86.stdout.exp bug132813-x86.vgtest \
sewardj7d47d9e2006-11-18 23:00:23 +000031 bug135421-x86.stderr.exp bug135421-x86.stdout.exp bug135421-x86.vgtest \
sewardjcbe6c572006-12-27 04:35:52 +000032 bug137714-x86.stderr.exp bug137714-x86.stdout.exp bug137714-x86.vgtest \
njnd1173b82009-05-20 04:02:50 +000033 bug152818-x86.stderr.exp bug152818-x86.stdout.exp bug152818-x86.vgtest \
sewardj09ea9c42005-08-12 23:40:55 +000034 cmpxchg8b.stderr.exp cmpxchg8b.stdout.exp cmpxchg8b.vgtest \
njn64c62d42009-02-23 01:18:06 +000035 cpuid.stderr.exp cpuid.stdout.exp cpuid.vgtest \
sewardj2990a492007-01-29 00:52:43 +000036 cse_fail.stderr.exp cse_fail.stdout.exp cse_fail.vgtest \
sewardj4a994592006-05-26 00:50:41 +000037 faultstatus.disabled faultstatus.stderr.exp \
sewardjd37aa772006-03-06 19:50:06 +000038 fcmovnu.vgtest fcmovnu.stderr.exp fcmovnu.stdout.exp \
nethercote9b6b74a2004-10-20 12:36:47 +000039 fpu_lazy_eflags.stderr.exp fpu_lazy_eflags.stdout.exp \
40 fpu_lazy_eflags.vgtest \
sewardj050ac282005-10-03 01:22:29 +000041 fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \
sewardjed529922011-10-07 12:45:49 +000042 fxtract.stdout.exp-older-glibc \
sewardjf3b9d8e2005-03-23 13:32:27 +000043 getseg.stdout.exp getseg.stderr.exp getseg.vgtest \
sewardj01a4d872005-10-05 11:02:00 +000044 incdec_alt.stdout.exp incdec_alt.stderr.exp incdec_alt.vgtest \
sewardj4a994592006-05-26 00:50:41 +000045 int.stderr.exp int.stdout.exp int.disabled \
nethercotebfd20192004-10-19 18:54:11 +000046 $(addsuffix .stderr.exp,$(INSN_TESTS)) \
47 $(addsuffix .stdout.exp,$(INSN_TESTS)) \
nethercote78dac9d2004-10-20 13:02:21 +000048 $(addsuffix .vgtest,$(INSN_TESTS)) \
sewardjfa18a262007-03-22 12:13:13 +000049 insn_sse3.stdout.exp insn_sse3.stderr.exp insn_sse3.vgtest \
sewardj8231f322008-02-09 01:55:52 +000050 insn_ssse3.stdout.exp insn_ssse3.stderr.exp insn_ssse3.vgtest \
sewardj8116d7b2006-11-16 11:01:48 +000051 jcxz.stdout.exp jcxz.stderr.exp jcxz.vgtest \
sewardj01a4d872005-10-05 11:02:00 +000052 lahf.stdout.exp lahf.stderr.exp lahf.vgtest \
sewardj5303d792005-08-23 18:06:01 +000053 looper.stderr.exp looper.stdout.exp looper.vgtest \
sewardjfc3ce482010-07-30 15:11:53 +000054 lzcnt32.stderr.exp lzcnt32.stdout.exp lzcnt32.vgtest \
sewardjd7aca4c2006-05-03 18:09:41 +000055 movx.stderr.exp movx.stdout.exp movx.vgtest \
sewardj4915c522012-08-23 23:42:46 +000056 movbe.stderr.exp movbe.stdout.exp movbe.vgtest \
nethercote9b6b74a2004-10-20 12:36:47 +000057 pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \
sewardj343dbe42005-10-03 02:23:17 +000058 sbbmisc.stderr.exp sbbmisc.stdout.exp sbbmisc.vgtest \
sewardj1b6def82011-03-26 07:30:39 +000059 shift_ndep.stderr.exp shift_ndep.stdout.exp shift_ndep.vgtest \
sewardj4f38bd92005-07-06 20:22:16 +000060 smc1.stderr.exp smc1.stdout.exp smc1.vgtest \
sewardj8231f322008-02-09 01:55:52 +000061 ssse3_misaligned.stderr.exp ssse3_misaligned.stdout.exp \
njnd1173b82009-05-20 04:02:50 +000062 ssse3_misaligned.vgtest ssse3_misaligned.c \
sewardjac258d82009-07-04 12:44:08 +000063 x86locked.vgtest x86locked.stdout.exp x86locked.stderr.exp \
sewardj46128462014-04-30 22:51:47 +000064 x87trigOOR.vgtest x87trigOOR.stdout.exp x87trigOOR.stderr.exp \
sewardjd59b5692010-05-10 20:53:28 +000065 yield.stderr.exp yield.stdout.exp yield.disabled \
66 xadd.stdout.exp xadd.stderr.exp xadd.vgtest
nethercotebfd20192004-10-19 18:54:11 +000067
68check_PROGRAMS = \
sewardj7603b6b2011-01-17 12:34:33 +000069 aad_aam \
philippe2aeaf8e2011-12-11 16:29:43 +000070 allexec \
njn83b62cb2009-04-15 03:12:43 +000071 badseg \
72 bt_everything \
73 bt_literal \
sewardj7554cc82006-11-14 15:07:57 +000074 bug125959-x86 \
sewardjb95cd582006-11-14 15:50:44 +000075 bug126147-x86 \
sewardj56a6f412006-08-28 18:09:46 +000076 bug132813-x86 \
sewardj7d47d9e2006-11-18 23:00:23 +000077 bug135421-x86 \
sewardjcbe6c572006-12-27 04:35:52 +000078 bug137714-x86 \
sewardj5a544ca2008-05-11 10:45:29 +000079 bug152818-x86 \
njn83b62cb2009-04-15 03:12:43 +000080 cmpxchg8b \
njn52cb75c2009-04-24 07:12:39 +000081 cpuid \
rhyskiddf0c61392015-05-23 04:18:57 +000082 cse_fail \
njnd1173b82009-05-20 04:02:50 +000083 fcmovnu \
84 fpu_lazy_eflags \
85 fxtract \
njn83b62cb2009-04-15 03:12:43 +000086 getseg \
njnd1173b82009-05-20 04:02:50 +000087 incdec_alt \
88 $(INSN_TESTS) \
89 int \
sewardj8116d7b2006-11-16 11:01:48 +000090 jcxz \
njn83b62cb2009-04-15 03:12:43 +000091 lahf \
njnd1173b82009-05-20 04:02:50 +000092 looper \
93 movx \
94 pushpopseg \
95 sbbmisc \
sewardj1b6def82011-03-26 07:30:39 +000096 shift_ndep \
njnd1173b82009-05-20 04:02:50 +000097 smc1 \
sewardjac258d82009-07-04 12:44:08 +000098 x86locked \
sewardj46128462014-04-30 22:51:47 +000099 x87trigOOR \
sewardjd59b5692010-05-10 20:53:28 +0000100 yield \
101 xadd
sewardj03d69002008-02-10 17:46:46 +0000102if BUILD_SSSE3_TESTS
njnd1173b82009-05-20 04:02:50 +0000103 check_PROGRAMS += ssse3_misaligned
sewardj03d69002008-02-10 17:46:46 +0000104endif
bart55e438b2010-09-14 10:53:57 +0000105if BUILD_LZCNT_TESTS
106 check_PROGRAMS += lzcnt32
107endif
bartde486f72011-03-05 10:11:35 +0000108if !VGCONF_OS_IS_DARWIN
rhyskiddf0c61392015-05-23 04:18:57 +0000109 check_PROGRAMS += faultstatus
bartde486f72011-03-05 10:11:35 +0000110endif
sewardj4915c522012-08-23 23:42:46 +0000111if BUILD_MOVBE_TESTS
112 check_PROGRAMS += movbe
113endif
nethercotebfd20192004-10-19 18:54:11 +0000114
njn52cb75c2009-04-24 07:12:39 +0000115
njnc9a6f4b2009-04-24 20:17:07 +0000116AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
117AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
118AM_CCASFLAGS += @FLAG_M32@
nethercotebfd20192004-10-19 18:54:11 +0000119
philippe2aeaf8e2011-12-11 16:29:43 +0000120allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
121
njnf76d27a2009-05-28 01:53:07 +0000122if VGCONF_OS_IS_DARWIN
123# Some of the tests (bug125959_x86, bug152818_x86, insn_*) need
124# -mdynamic-no-pic. I tried setting *_CFLAGS separately for all of them,
125# but it caused problems with the generation of insn_*.c. So just use this
126# crude approach of setting -mdynamic-no-pic for all tests in this
127# directory.
128AM_CFLAGS += -mdynamic-no-pic
129endif
njn53044572009-02-19 09:52:05 +0000130
njn52cb75c2009-04-24 07:12:39 +0000131cpuid_SOURCES = cpuid_c.c cpuid_s.S
njnd1173b82009-05-20 04:02:50 +0000132# fpu_lazy_eflags must use these flags -- the bug only occurred with them.
njnae508b02009-04-24 04:12:28 +0000133fpu_lazy_eflags_CFLAGS = $(AM_CFLAGS) -O2 -march=pentiumpro
bart536081d2011-05-15 17:06:33 +0000134fxtract_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_OVERFLOW@
sewardj050ac282005-10-03 01:22:29 +0000135fxtract_LDADD = -lm
nethercotebfd20192004-10-19 18:54:11 +0000136insn_basic_SOURCES = insn_basic.def
137insn_basic_LDADD = -lm
138insn_fpu_SOURCES = insn_fpu.def
139insn_fpu_LDADD = -lm
140insn_cmov_SOURCES = insn_cmov.def
141insn_cmov_LDADD = -lm
142insn_mmx_SOURCES = insn_mmx.def
143insn_mmx_LDADD = -lm
144insn_mmxext_SOURCES = insn_mmxext.def
145insn_mmxext_LDADD = -lm
146insn_sse_SOURCES = insn_sse.def
147insn_sse_LDADD = -lm
148insn_sse2_SOURCES = insn_sse2.def
149insn_sse2_LDADD = -lm
sewardjc49ae752006-08-05 12:22:52 +0000150insn_sse3_SOURCES = insn_sse3.def
151insn_sse3_LDADD = -lm
njnd1173b82009-05-20 04:02:50 +0000152insn_ssse3_SOURCES = insn_ssse3.def
153insn_ssse3_LDADD = -lm
sewardjac258d82009-07-04 12:44:08 +0000154x86locked_CFLAGS = $(AM_CFLAGS) -O
sewardj4f38bd92005-07-06 20:22:16 +0000155yield_LDADD = -lpthread
nethercotebfd20192004-10-19 18:54:11 +0000156
157.def.c: $(srcdir)/gen_insn_test.pl
158 $(PERL) $(srcdir)/gen_insn_test.pl < $< > $@