Handle DIV overflow in lightrec and the interpreter
[pcsx_rearmed.git] / deps / lightning / check / Makefile.am
CommitLineData
4a71579b
PC
1#
2# Copyright 2012-2019 Free Software Foundation, Inc.
3#
4# This file is part of GNU lightning.
5#
6# GNU lightning is free software; you can redistribute it and/or modify it
7# under the terms of the GNU Lesser General Public License as published
8# by the Free Software Foundation; either version 3, or (at your option)
9# any later version.
10#
11# GNU lightning is distributed in the hope that it will be useful, but
12# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14# License for more details.
15#
16
17AM_CFLAGS = -I$(top_srcdir)/include -D_GNU_SOURCE
18
19check_PROGRAMS = lightning ccall self setcode nodata ctramp carg cva_list
20
21lightning_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB)
22lightning_SOURCES = lightning.c
23
24ccall_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB)
25ccall_SOURCES = ccall.c
26
27self_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB)
28self_SOURCES = self.c
29
30setcode_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB)
31setcode_SOURCES = setcode.c
32
33nodata_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB)
34nodata_SOURCES = nodata.c
35
36ctramp_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB)
37ctramp_SOURCES = ctramp.c
38
39carg_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB)
40carg_SOURCES = carg.c
41
42cva_list_LDADD = $(top_builddir)/lib/liblightning.la -lm $(SHLIB)
43cva_list_SOURCES = cva_list.c
44
45$(top_builddir)/lib/liblightning.la:
46 cd $(top_builddir)/lib; $(MAKE) $(AM_MAKEFLAGS) liblightning.la
47
48EXTRA_DIST = \
49 3to2.tst 3to2.ok \
50 add.tst add.ok \
51 align.tst align.ok \
52 allocai.tst allocai.ok \
53 allocar.tst allocar.ok \
54 bp.tst bp.ok \
55 divi.tst divi.ok \
56 fib.tst fib.ok \
57 rpn.tst rpn.ok \
58 ldst.inc \
59 ldstr.tst ldstr.ok \
60 ldsti.tst ldsti.ok \
61 ldstxr.tst ldstxr.ok \
62 ldstxi.tst ldstxi.ok \
63 ldstr-c.tst ldstr-c.ok \
64 ldstxr-c.tst ldstxr-c.ok \
65 ldstxi-c.tst ldstxi-c.ok \
66 cvt.tst cvt.ok \
67 hton.tst hton.ok \
68 branch.tst branch.ok \
69 alu.inc \
70 alu_add.tst alu_add.ok \
71 alux_add.tst alux_add.ok \
72 alu_sub.tst alu_sub.ok \
73 alux_sub.tst alux_sub.ok \
74 alu_rsb.tst alu_rsb.ok \
75 alu_mul.tst alu_mul.ok \
76 alu_div.tst alu_div.ok \
77 alu_rem.tst alu_rem.ok \
78 alu_and.tst alu_and.ok \
79 alu_or.tst alu_or.ok \
80 alu_xor.tst alu_xor.ok \
81 alu_lsh.tst alu_lsh.ok \
82 alu_rsh.tst alu_rsh.ok \
83 alu_com.tst alu_com.ok \
84 alu_neg.tst alu_neg.ok \
85 fop_abs.tst fop_abs.ok \
86 fop_sqrt.tst fop_sqrt.ok \
87 varargs.tst varargs.ok \
88 stack.tst stack.ok \
89 clobber.tst clobber.ok \
90 carry.tst carry.ok \
91 call.tst call.ok \
92 float.tst float.ok \
93 jmpr.tst jmpr.ok \
94 put.tst put.ok \
95 qalu.inc \
96 qalu_mul.tst qalu_mul.ok \
97 qalu_div.tst qalu_div.ok \
98 range.tst range.ok \
99 ranger.tst ranger.ok \
100 ret.tst ret.ok \
101 tramp.tst tramp.ok \
102 va_list.tst va_list.ok \
103 check.sh \
104 check.x87.sh \
105 check.arm.sh check.swf.sh \
106 check.arm.swf.sh \
107 check.arm4.swf.sh \
108 check.nodata.sh \
109 check.x87.nodata.sh \
110 run-test all.tst
111
112base_TESTS = \
113 3to2 add align allocai \
114 allocar bp divi fib rpn \
115 ldstr ldsti \
116 ldstxr ldstxi \
117 ldstr-c ldstxr-c ldstxi-c \
118 cvt hton branch \
119 alu_add alux_add \
120 alu_sub alux_sub alu_rsb \
121 alu_mul alu_div alu_rem \
122 alu_and alu_or alu_xor \
123 alu_lsh alu_rsh \
124 alu_com alu_neg \
125 fop_abs fop_sqrt \
126 varargs stack \
127 clobber carry call \
128 float jmpr put \
129 qalu_mul qalu_div \
130 range ranger ret tramp \
131 va_list
132
133$(base_TESTS): check.sh
134 $(LN_S) $(srcdir)/check.sh $@
135
136TESTS = $(base_TESTS)
137
138if test_x86_x87
139#x87_TESTS = $(addsuffix .x87, $(base_TESTS))
140x87_TESTS = \
141 3to2.x87 add.x87 allocai.x87 \
142 allocar.x87 bp.x87 divi.x87 fib.x87 \
143 rpn.x87 ldstr.x87 ldsti.x87 \
144 ldstxr.x87 ldstxi.x87 \
145 ldstr-c.x87 ldstxr-c.x87 ldstxi-c.x87 \
146 cvt.x87 branch.x87 \
147 alu_add.x87 alux_add.x87 \
148 alu_sub.x87 alux_sub.x87 alu_rsb.x87 \
149 alu_mul.x87 alu_div.x87 alu_rem.x87 \
150 alu_and.x87 alu_or.x87 alu_xor.x87 \
151 alu_lsh.x87 alu_rsh.x87 \
152 alu_com.x87 alu_neg.x87 \
153 fop_abs.x87 fop_sqrt.x87 \
154 varargs.x87 stack.x87 \
155 clobber.x87 carry.x87 call.x87 \
156 float.x87 jmpr.x87 put.x87 \
157 va_list.x87
158$(x87_TESTS): check.x87.sh
159 $(LN_S) $(srcdir)/check.x87.sh $@
160TESTS += $(x87_TESTS)
161
162#x87_nodata_TESTS = $(addsuffix .x87.nodata, $(base_TESTS))
163x87_nodata_TESTS = \
164 3to2.x87.nodata add.x87.nodata allocai.x87.nodata \
165 allocar.x87.nodata bp.x87.nodata divi.x87.nodata fib.x87.nodata \
166 rpn.x87.nodata ldstr.x87.nodata ldsti.x87.nodata \
167 ldstxr.x87.nodata ldstxi.x87.nodata \
168 ldstr-c.x87.nodata ldstxr-c.x87.nodata ldstxi-c.x87.nodata \
169 cvt.x87.nodata branch.x87.nodata \
170 alu_add.x87.nodata alux_add.x87.nodata \
171 alu_sub.x87.nodata alux_sub.x87.nodata alu_rsb.x87.nodata \
172 alu_mul.x87.nodata alu_div.x87.nodata alu_rem.x87.nodata \
173 alu_and.x87.nodata alu_or.x87.nodata alu_xor.x87.nodata \
174 alu_lsh.x87.nodata alu_rsh.x87.nodata \
175 alu_com.x87.nodata alu_neg.x87.nodata \
176 fop_abs.x87.nodata fop_sqrt.x87.nodata \
177 varargs.x87.nodata stack.x87.nodata \
178 clobber.x87.nodata carry.x87.nodata call.x87.nodata \
179 float.x87.nodata jmpr.x87.nodata put.x87.nodata \
180 va_list.x87.nodata
181$(x87_nodata_TESTS): check.x87.nodata.sh
182 $(LN_S) $(srcdir)/check.x87.nodata.sh $@
183TESTS += $(x87_nodata_TESTS)
184endif
185
186if test_arm_arm
187#arm_TESTS = $(addsuffix .arm, $(base_TESTS))
188arm_TESTS = \
189 3to2.arm add.arm align.arm allocai.arm \
190 allocar.arm bp.arm divi.arm fib.arm \
191 rpn.arm ldstr.arm ldsti.arm \
192 ldstxr.arm ldstxi.arm \
193 ldstr-c.arm ldstxr-c.arm ldstxi-c.arm \
194 cvt.arm hton.arm branch.arm \
195 alu_add.arm alux_add.arm \
196 alu_sub.arm alux_sub.arm alu_rsb.arm \
197 alu_mul.arm alu_div.arm alu_rem.arm \
198 alu_and.arm alu_or.arm alu_xor.arm \
199 alu_lsh.arm alu_rsh.arm \
200 alu_com.arm alu_neg.arm \
201 fop_abs.arm fop_sqrt.arm \
202 varargs.arm stack.arm \
203 clobber.arm carry.arm call.arm \
204 float.arm jmpr.arm tramp.arm range.arm \
205 ranger.arm put.arm va_list.arm
206$(arm_TESTS): check.arm.sh
207 $(LN_S) $(srcdir)/check.arm.sh $@
208TESTS += $(arm_TESTS)
209endif
210
211if test_arm_swf
212#swf_TESTS = $(addsuffix .swf, $(base_TESTS))
213swf_TESTS = \
214 3to2.swf add.swf allocai.swf \
215 allocar.swf bp.swf divi.swf fib.swf \
216 rpn.swf ldstr.swf ldsti.swf \
217 ldstxr.swf ldstxi.swf \
218 ldstr-c.swf ldstxr-c.swf ldstxi-c.swf \
219 cvt.swf hton.swf branch.swf \
220 alu_add.swf alux_add.swf \
221 alu_sub.swf alux_sub.swf alu_rsb.swf \
222 alu_mul.swf alu_div.swf alu_rem.swf \
223 alu_and.swf alu_or.swf alu_xor.swf \
224 alu_lsh.swf alu_rsh.swf \
225 alu_com.swf alu_neg.swf \
226 fop_abs.swf fop_sqrt.swf \
227 varargs.swf stack.swf \
228 clobber.swf carry.swf call.swf \
229 float.swf jmpr.swf tramp.swf range.swf \
230 ranger.swf put.swf va_list.swf
231$(swf_TESTS): check.swf.sh
232 $(LN_S) $(srcdir)/check.swf.sh $@
233TESTS += $(swf_TESTS)
234if test_arm_arm
235#arm_swf_TESTS = $(addsuffix .arm.swf, $(base_TESTS))
236arm_swf_TESTS = \
237 3to2.arm.swf add.arm.swf allocai.arm.swf \
238 allocar.arm.swf bp.arm.swf divi.arm.swf fib.arm.swf \
239 rpn.arm.swf ldstr.arm.swf ldsti.arm.swf \
240 ldstxr.arm.swf ldstxi.arm.swf \
241 ldstr-c.arm.swf ldstxr-c.arm.swf ldstxi-c.arm.swf \
242 cvt.arm.swf hton.arm.swf branch.arm.swf \
243 alu_add.arm.swf alux_add.arm.swf \
244 alu_sub.arm.swf alux_sub.arm.swf alu_rsb.arm.swf \
245 alu_mul.arm.swf alu_div.arm.swf alu_rem.arm.swf \
246 alu_and.arm.swf alu_or.arm.swf alu_xor.arm.swf \
247 alu_lsh.arm.swf alu_rsh.arm.swf \
248 alu_com.arm.swf alu_neg.arm.swf \
249 fop_abs.arm.swf fop_sqrt.arm.swf \
250 varargs.arm.swf stack.arm.swf \
251 clobber.arm.swf carry.arm.swf call.arm.swf \
252 float.arm.swf jmpr.arm.swf tramp.arm.swf range.arm.swf \
253 ranger.arm.swf put.arm.swf va_list.arm.swf
254$(arm_swf_TESTS): check.arm.swf.sh
255 $(LN_S) $(srcdir)/check.arm.swf.sh $@
256TESTS += $(arm_swf_TESTS)
257endif
258if test_arm_arm
259#arm4_swf_TESTS = $(addsuffix .arm4.swf, $(base_TESTS))
260arm4_swf_TESTS = \
261 3to2.arm4.swf add.arm4.swf allocai.arm4.swf \
262 allocar.arm4.swf bp.arm4.swf divi.arm4.swf fib.arm4.swf \
263 rpn.arm4.swf ldstr.arm4.swf ldsti.arm4.swf \
264 ldstxr.arm4.swf ldstxi.arm4.swf \
265 ldstr-c.arm4.swf ldstxr-c.arm4.swf ldstxi-c.arm4.swf \
266 cvt.arm4.swf hton.arm4.swf branch.arm4.swf \
267 alu_add.arm4.swf alux_add.arm4.swf \
268 alu_sub.arm4.swf alux_sub.arm4.swf alu_rsb.arm4.swf \
269 alu_mul.arm4.swf alu_div.arm4.swf alu_rem.arm4.swf \
270 alu_and.arm4.swf alu_or.arm4.swf alu_xor.arm4.swf \
271 alu_lsh.arm4.swf alu_rsh.arm4.swf \
272 alu_com.arm4.swf alu_neg.arm4.swf \
273 fop_abs.arm4.swf fop_sqrt.arm4.swf \
274 varargs.arm4.swf stack.arm4.swf \
275 clobber.arm4.swf carry.arm4.swf call.arm4.swf \
276 float.arm4.swf jmpr.arm4.swf tramp.arm4.swf \
277 range.arm4.swf ranger.arm4.swf put.arm4.swf \
278 va_list.arm4.swf
279$(arm4_swf_TESTS): check.arm4.swf.sh
280 $(LN_S) $(srcdir)/check.arm4.swf.sh $@
281TESTS += $(arm4_swf_TESTS)
282endif
283endif
284
285if test_nodata
286#nodata_TESTS = $(addsuffix .nodata, $(base_TESTS))
287nodata_TESTS = \
288 3to2.nodata add.nodata allocai.nodata \
289 allocar.nodata bp.nodata divi.nodata fib.nodata \
290 rpn.nodata ldstr.nodata ldsti.nodata \
291 ldstxr.nodata ldstxi.nodata \
292 ldstr-c.nodata ldstxr-c.nodata ldstxi-c.nodata \
293 cvt.nodata branch.nodata \
294 alu_add.nodata alux_add.nodata \
295 alu_sub.nodata alux_sub.nodata alu_rsb.nodata \
296 alu_mul.nodata alu_div.nodata alu_rem.nodata \
297 alu_and.nodata alu_or.nodata alu_xor.nodata \
298 alu_lsh.nodata alu_rsh.nodata \
299 alu_com.nodata alu_neg.nodata \
300 fop_abs.nodata fop_sqrt.nodata \
301 varargs.nodata stack.nodata \
302 clobber.nodata carry.nodata call.nodata \
303 float.nodata jmpr.nodata tramp.nodata \
304 range.nodata ranger.nodata put.nodata \
305 va_list.nodata
306$(nodata_TESTS): check.nodata.sh
307 $(LN_S) $(srcdir)/check.nodata.sh $@
308TESTS += $(nodata_TESTS)
309endif
310
311TESTS += ccall self setcode nodata ctramp carg cva_list
312CLEANFILES = $(TESTS)
313
314#TESTS_ENVIRONMENT=$(srcdir)/run-test;
315
316debug: lightning
317 $(LIBTOOL) --mode=execute gdb lightning
318