njn | 5304457 | 2009-02-19 09:52:05 +0000 | [diff] [blame] | 1 | |
| 2 | include $(top_srcdir)/Makefile.tool-tests.am |
| 3 | |
njn | 8b68b64 | 2009-06-24 00:37:09 +0000 | [diff] [blame] | 4 | dist_noinst_SCRIPTS = filter_cpuid filter_stderr gen_insn_test.pl |
nethercote | bfd2019 | 2004-10-19 18:54:11 +0000 | [diff] [blame] | 5 | |
| 6 | CLEANFILES = $(addsuffix .c,$(INSN_TESTS)) |
nethercote | bfd2019 | 2004-10-19 18:54:11 +0000 | [diff] [blame] | 7 | |
sewardj | fa18a26 | 2007-03-22 12:13:13 +0000 | [diff] [blame] | 8 | INSN_TESTS = insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext \ |
| 9 | insn_sse insn_sse2 |
| 10 | if BUILD_SSE3_TESTS |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 11 | INSN_TESTS += insn_sse3 |
sewardj | 6d6da5b | 2008-02-09 12:07:40 +0000 | [diff] [blame] | 12 | endif |
| 13 | if BUILD_SSSE3_TESTS |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 14 | INSN_TESTS += insn_ssse3 |
sewardj | fa18a26 | 2007-03-22 12:13:13 +0000 | [diff] [blame] | 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. |
sewardj | fc3ce48 | 2010-07-30 15:11:53 +0000 | [diff] [blame] | 20 | |
| 21 | ## FIXME: move lzcnt32 to SSE4 conditionalisation, when that happens. |
| 22 | |
njn | 8b68b64 | 2009-06-24 00:37:09 +0000 | [diff] [blame] | 23 | EXTRA_DIST = \ |
sewardj | 7603b6b | 2011-01-17 12:34:33 +0000 | [diff] [blame] | 24 | aad_aam.stdout.exp aad_aam.stderr.exp aad_aam.vgtest \ |
nethercote | 9b6b74a | 2004-10-20 12:36:47 +0000 | [diff] [blame] | 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 \ |
sewardj | 7554cc8 | 2006-11-14 15:07:57 +0000 | [diff] [blame] | 28 | bug125959-x86.stderr.exp bug125959-x86.stdout.exp bug125959-x86.vgtest \ |
sewardj | b95cd58 | 2006-11-14 15:50:44 +0000 | [diff] [blame] | 29 | bug126147-x86.stderr.exp bug126147-x86.stdout.exp bug126147-x86.vgtest \ |
sewardj | 56a6f41 | 2006-08-28 18:09:46 +0000 | [diff] [blame] | 30 | bug132813-x86.stderr.exp bug132813-x86.stdout.exp bug132813-x86.vgtest \ |
sewardj | 7d47d9e | 2006-11-18 23:00:23 +0000 | [diff] [blame] | 31 | bug135421-x86.stderr.exp bug135421-x86.stdout.exp bug135421-x86.vgtest \ |
sewardj | cbe6c57 | 2006-12-27 04:35:52 +0000 | [diff] [blame] | 32 | bug137714-x86.stderr.exp bug137714-x86.stdout.exp bug137714-x86.vgtest \ |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 33 | bug152818-x86.stderr.exp bug152818-x86.stdout.exp bug152818-x86.vgtest \ |
sewardj | 09ea9c4 | 2005-08-12 23:40:55 +0000 | [diff] [blame] | 34 | cmpxchg8b.stderr.exp cmpxchg8b.stdout.exp cmpxchg8b.vgtest \ |
njn | 64c62d4 | 2009-02-23 01:18:06 +0000 | [diff] [blame] | 35 | cpuid.stderr.exp cpuid.stdout.exp cpuid.vgtest \ |
sewardj | 2990a49 | 2007-01-29 00:52:43 +0000 | [diff] [blame] | 36 | cse_fail.stderr.exp cse_fail.stdout.exp cse_fail.vgtest \ |
sewardj | 4a99459 | 2006-05-26 00:50:41 +0000 | [diff] [blame] | 37 | faultstatus.disabled faultstatus.stderr.exp \ |
sewardj | d37aa77 | 2006-03-06 19:50:06 +0000 | [diff] [blame] | 38 | fcmovnu.vgtest fcmovnu.stderr.exp fcmovnu.stdout.exp \ |
nethercote | 9b6b74a | 2004-10-20 12:36:47 +0000 | [diff] [blame] | 39 | fpu_lazy_eflags.stderr.exp fpu_lazy_eflags.stdout.exp \ |
| 40 | fpu_lazy_eflags.vgtest \ |
sewardj | 050ac28 | 2005-10-03 01:22:29 +0000 | [diff] [blame] | 41 | fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \ |
sewardj | ed52992 | 2011-10-07 12:45:49 +0000 | [diff] [blame] | 42 | fxtract.stdout.exp-older-glibc \ |
sewardj | f3b9d8e | 2005-03-23 13:32:27 +0000 | [diff] [blame] | 43 | getseg.stdout.exp getseg.stderr.exp getseg.vgtest \ |
sewardj | 01a4d87 | 2005-10-05 11:02:00 +0000 | [diff] [blame] | 44 | incdec_alt.stdout.exp incdec_alt.stderr.exp incdec_alt.vgtest \ |
sewardj | 4a99459 | 2006-05-26 00:50:41 +0000 | [diff] [blame] | 45 | int.stderr.exp int.stdout.exp int.disabled \ |
nethercote | bfd2019 | 2004-10-19 18:54:11 +0000 | [diff] [blame] | 46 | $(addsuffix .stderr.exp,$(INSN_TESTS)) \ |
| 47 | $(addsuffix .stdout.exp,$(INSN_TESTS)) \ |
nethercote | 78dac9d | 2004-10-20 13:02:21 +0000 | [diff] [blame] | 48 | $(addsuffix .vgtest,$(INSN_TESTS)) \ |
sewardj | fa18a26 | 2007-03-22 12:13:13 +0000 | [diff] [blame] | 49 | insn_sse3.stdout.exp insn_sse3.stderr.exp insn_sse3.vgtest \ |
sewardj | 8231f32 | 2008-02-09 01:55:52 +0000 | [diff] [blame] | 50 | insn_ssse3.stdout.exp insn_ssse3.stderr.exp insn_ssse3.vgtest \ |
sewardj | 8116d7b | 2006-11-16 11:01:48 +0000 | [diff] [blame] | 51 | jcxz.stdout.exp jcxz.stderr.exp jcxz.vgtest \ |
sewardj | 01a4d87 | 2005-10-05 11:02:00 +0000 | [diff] [blame] | 52 | lahf.stdout.exp lahf.stderr.exp lahf.vgtest \ |
sewardj | 5303d79 | 2005-08-23 18:06:01 +0000 | [diff] [blame] | 53 | looper.stderr.exp looper.stdout.exp looper.vgtest \ |
sewardj | fc3ce48 | 2010-07-30 15:11:53 +0000 | [diff] [blame] | 54 | lzcnt32.stderr.exp lzcnt32.stdout.exp lzcnt32.vgtest \ |
sewardj | d7aca4c | 2006-05-03 18:09:41 +0000 | [diff] [blame] | 55 | movx.stderr.exp movx.stdout.exp movx.vgtest \ |
sewardj | 4915c52 | 2012-08-23 23:42:46 +0000 | [diff] [blame] | 56 | movbe.stderr.exp movbe.stdout.exp movbe.vgtest \ |
nethercote | 9b6b74a | 2004-10-20 12:36:47 +0000 | [diff] [blame] | 57 | pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \ |
sewardj | 343dbe4 | 2005-10-03 02:23:17 +0000 | [diff] [blame] | 58 | sbbmisc.stderr.exp sbbmisc.stdout.exp sbbmisc.vgtest \ |
sewardj | 1b6def8 | 2011-03-26 07:30:39 +0000 | [diff] [blame] | 59 | shift_ndep.stderr.exp shift_ndep.stdout.exp shift_ndep.vgtest \ |
sewardj | 4f38bd9 | 2005-07-06 20:22:16 +0000 | [diff] [blame] | 60 | smc1.stderr.exp smc1.stdout.exp smc1.vgtest \ |
sewardj | 8231f32 | 2008-02-09 01:55:52 +0000 | [diff] [blame] | 61 | ssse3_misaligned.stderr.exp ssse3_misaligned.stdout.exp \ |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 62 | ssse3_misaligned.vgtest ssse3_misaligned.c \ |
sewardj | ac258d8 | 2009-07-04 12:44:08 +0000 | [diff] [blame] | 63 | x86locked.vgtest x86locked.stdout.exp x86locked.stderr.exp \ |
sewardj | 4612846 | 2014-04-30 22:51:47 +0000 | [diff] [blame] | 64 | x87trigOOR.vgtest x87trigOOR.stdout.exp x87trigOOR.stderr.exp \ |
sewardj | d59b569 | 2010-05-10 20:53:28 +0000 | [diff] [blame] | 65 | yield.stderr.exp yield.stdout.exp yield.disabled \ |
| 66 | xadd.stdout.exp xadd.stderr.exp xadd.vgtest |
nethercote | bfd2019 | 2004-10-19 18:54:11 +0000 | [diff] [blame] | 67 | |
| 68 | check_PROGRAMS = \ |
sewardj | 7603b6b | 2011-01-17 12:34:33 +0000 | [diff] [blame] | 69 | aad_aam \ |
philippe | 2aeaf8e | 2011-12-11 16:29:43 +0000 | [diff] [blame] | 70 | allexec \ |
njn | 83b62cb | 2009-04-15 03:12:43 +0000 | [diff] [blame] | 71 | badseg \ |
| 72 | bt_everything \ |
| 73 | bt_literal \ |
sewardj | 7554cc8 | 2006-11-14 15:07:57 +0000 | [diff] [blame] | 74 | bug125959-x86 \ |
sewardj | b95cd58 | 2006-11-14 15:50:44 +0000 | [diff] [blame] | 75 | bug126147-x86 \ |
sewardj | 56a6f41 | 2006-08-28 18:09:46 +0000 | [diff] [blame] | 76 | bug132813-x86 \ |
sewardj | 7d47d9e | 2006-11-18 23:00:23 +0000 | [diff] [blame] | 77 | bug135421-x86 \ |
sewardj | cbe6c57 | 2006-12-27 04:35:52 +0000 | [diff] [blame] | 78 | bug137714-x86 \ |
sewardj | 5a544ca | 2008-05-11 10:45:29 +0000 | [diff] [blame] | 79 | bug152818-x86 \ |
njn | 83b62cb | 2009-04-15 03:12:43 +0000 | [diff] [blame] | 80 | cmpxchg8b \ |
njn | 52cb75c | 2009-04-24 07:12:39 +0000 | [diff] [blame] | 81 | cpuid \ |
rhyskidd | f0c6139 | 2015-05-23 04:18:57 +0000 | [diff] [blame] | 82 | cse_fail \ |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 83 | fcmovnu \ |
| 84 | fpu_lazy_eflags \ |
| 85 | fxtract \ |
njn | 83b62cb | 2009-04-15 03:12:43 +0000 | [diff] [blame] | 86 | getseg \ |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 87 | incdec_alt \ |
| 88 | $(INSN_TESTS) \ |
| 89 | int \ |
sewardj | 8116d7b | 2006-11-16 11:01:48 +0000 | [diff] [blame] | 90 | jcxz \ |
njn | 83b62cb | 2009-04-15 03:12:43 +0000 | [diff] [blame] | 91 | lahf \ |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 92 | looper \ |
| 93 | movx \ |
| 94 | pushpopseg \ |
| 95 | sbbmisc \ |
sewardj | 1b6def8 | 2011-03-26 07:30:39 +0000 | [diff] [blame] | 96 | shift_ndep \ |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 97 | smc1 \ |
sewardj | ac258d8 | 2009-07-04 12:44:08 +0000 | [diff] [blame] | 98 | x86locked \ |
sewardj | 4612846 | 2014-04-30 22:51:47 +0000 | [diff] [blame] | 99 | x87trigOOR \ |
sewardj | d59b569 | 2010-05-10 20:53:28 +0000 | [diff] [blame] | 100 | yield \ |
| 101 | xadd |
sewardj | 03d6900 | 2008-02-10 17:46:46 +0000 | [diff] [blame] | 102 | if BUILD_SSSE3_TESTS |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 103 | check_PROGRAMS += ssse3_misaligned |
sewardj | 03d6900 | 2008-02-10 17:46:46 +0000 | [diff] [blame] | 104 | endif |
bart | 55e438b | 2010-09-14 10:53:57 +0000 | [diff] [blame] | 105 | if BUILD_LZCNT_TESTS |
| 106 | check_PROGRAMS += lzcnt32 |
| 107 | endif |
bart | de486f7 | 2011-03-05 10:11:35 +0000 | [diff] [blame] | 108 | if !VGCONF_OS_IS_DARWIN |
rhyskidd | f0c6139 | 2015-05-23 04:18:57 +0000 | [diff] [blame] | 109 | check_PROGRAMS += faultstatus |
bart | de486f7 | 2011-03-05 10:11:35 +0000 | [diff] [blame] | 110 | endif |
sewardj | 4915c52 | 2012-08-23 23:42:46 +0000 | [diff] [blame] | 111 | if BUILD_MOVBE_TESTS |
| 112 | check_PROGRAMS += movbe |
| 113 | endif |
nethercote | bfd2019 | 2004-10-19 18:54:11 +0000 | [diff] [blame] | 114 | |
njn | 52cb75c | 2009-04-24 07:12:39 +0000 | [diff] [blame] | 115 | |
njn | c9a6f4b | 2009-04-24 20:17:07 +0000 | [diff] [blame] | 116 | AM_CFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE) |
| 117 | AM_CXXFLAGS += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE) |
| 118 | AM_CCASFLAGS += @FLAG_M32@ |
nethercote | bfd2019 | 2004-10-19 18:54:11 +0000 | [diff] [blame] | 119 | |
philippe | 2aeaf8e | 2011-12-11 16:29:43 +0000 | [diff] [blame] | 120 | allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@ |
| 121 | |
njn | f76d27a | 2009-05-28 01:53:07 +0000 | [diff] [blame] | 122 | if 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. |
| 128 | AM_CFLAGS += -mdynamic-no-pic |
| 129 | endif |
njn | 5304457 | 2009-02-19 09:52:05 +0000 | [diff] [blame] | 130 | |
njn | 52cb75c | 2009-04-24 07:12:39 +0000 | [diff] [blame] | 131 | cpuid_SOURCES = cpuid_c.c cpuid_s.S |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 132 | # fpu_lazy_eflags must use these flags -- the bug only occurred with them. |
njn | ae508b0 | 2009-04-24 04:12:28 +0000 | [diff] [blame] | 133 | fpu_lazy_eflags_CFLAGS = $(AM_CFLAGS) -O2 -march=pentiumpro |
bart | 536081d | 2011-05-15 17:06:33 +0000 | [diff] [blame] | 134 | fxtract_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_OVERFLOW@ |
sewardj | 050ac28 | 2005-10-03 01:22:29 +0000 | [diff] [blame] | 135 | fxtract_LDADD = -lm |
nethercote | bfd2019 | 2004-10-19 18:54:11 +0000 | [diff] [blame] | 136 | insn_basic_SOURCES = insn_basic.def |
| 137 | insn_basic_LDADD = -lm |
| 138 | insn_fpu_SOURCES = insn_fpu.def |
| 139 | insn_fpu_LDADD = -lm |
| 140 | insn_cmov_SOURCES = insn_cmov.def |
| 141 | insn_cmov_LDADD = -lm |
| 142 | insn_mmx_SOURCES = insn_mmx.def |
| 143 | insn_mmx_LDADD = -lm |
| 144 | insn_mmxext_SOURCES = insn_mmxext.def |
| 145 | insn_mmxext_LDADD = -lm |
| 146 | insn_sse_SOURCES = insn_sse.def |
| 147 | insn_sse_LDADD = -lm |
| 148 | insn_sse2_SOURCES = insn_sse2.def |
| 149 | insn_sse2_LDADD = -lm |
sewardj | c49ae75 | 2006-08-05 12:22:52 +0000 | [diff] [blame] | 150 | insn_sse3_SOURCES = insn_sse3.def |
| 151 | insn_sse3_LDADD = -lm |
njn | d1173b8 | 2009-05-20 04:02:50 +0000 | [diff] [blame] | 152 | insn_ssse3_SOURCES = insn_ssse3.def |
| 153 | insn_ssse3_LDADD = -lm |
sewardj | ac258d8 | 2009-07-04 12:44:08 +0000 | [diff] [blame] | 154 | x86locked_CFLAGS = $(AM_CFLAGS) -O |
sewardj | 4f38bd9 | 2005-07-06 20:22:16 +0000 | [diff] [blame] | 155 | yield_LDADD = -lpthread |
nethercote | bfd2019 | 2004-10-19 18:54:11 +0000 | [diff] [blame] | 156 | |
| 157 | .def.c: $(srcdir)/gen_insn_test.pl |
| 158 | $(PERL) $(srcdir)/gen_insn_test.pl < $< > $@ |