1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-04 11:10:27 +02:00
guile/check/alu_and.tst
pcpa 0b89a17ca2 Add jit_ellipis and remove jit_prepare argument.
* include/lightning.h, lib/jit_arm.c, lib/jit_mips.c,
	lib/jit_ppc.c, lib/jit_x86.c, lib/lightning.c: Change jit_prepare
	to no longer receive an argument. If receiving an argument, it
	should be an ABI specifier, not a boolean if varargs or not,
	and add the new jit_ellipsis call, to specify where the
	ellipsis is in the C prototype of the function being called.
	Note that currently it is not supported to define varargs
	functions and it will be ignored if calling jit_ellipsis not
	in a prepare/finish* block, but this should be addressed.

	* check/allocai.tst, check/alu_add.tst, check/alu_and.tst,
	check/alu_com.tst, check/alu_div.tst, check/alu_lsh.tst,
	check/alu_mul.tst, check/alu_neg.tst, check/alu_or.tst,
	check/alu_rem.tst, check/alu_rsh.tst, check/alu_sub.tst,
	check/alu_xor.tst, check/alux_add.tst, check/alux_sub.tst,
	check/bp.tst, check/branch.tst, check/cvt.tst, check/divi.tst,
	check/fib.tst, check/ldsti.tst, check/ldstr-c.tst,
	check/ldstr.tst, check/ldstxi-c.tst, check/ldstxi.tst,
	check/ldstxr-c.tst, check/ldstxr.tst, check/rpn.tst,
	check/lightning.c: Update for the change to jit_prepare and
	addition of jit_ellipsis.
2012-12-12 22:59:52 -02:00

36 lines
1,019 B
Scilab

#include "alu.inc"
.code
prolog
#define AND(N, I0, I1, V) ALU(N, , and, I0, I1, V)
AND(0, 0x7fffffff, 1, 1)
AND(1, 1, 0x7fffffff, 1)
AND(2, 0x80000000, 1, 0)
AND(3, 1, 0x80000000, 0)
AND(4, 0x7fffffff, 0x80000000, 0)
AND(5, 0x80000000, 0x7fffffff, 0)
AND(6, 0x7fffffff, 0xffffffff, 0x7fffffff)
AND(7, 0xffffffff, 0x7fffffff, 0x7fffffff)
AND(8, 0xffffffff, 0xffffffff, 0xffffffff)
AND(9, 0x7fffffff, 0, 0)
AND(10, 0, 0x7fffffff, 0)
#if __WORDSIZE == 64
AND(11, 0x7fffffffffffffff, 1, 1)
AND(12, 1, 0x7fffffffffffffff, 1)
AND(13, 0x8000000000000000, 1, 0)
AND(14, 1, 0x8000000000000000, 0)
AND(15, 0x7fffffffffffffff, 0x8000000000000000, 0)
AND(16, 0x8000000000000000, 0x7fffffffffffffff, 0)
AND(17, 0x7fffffffffffffff, 0xffffffffffffffff, 0x7fffffffffffffff)
AND(18, 0xffffffffffffffff, 0x7fffffffffffffff, 0x7fffffffffffffff)
AND(19, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff)
#endif
prepare
pushargi ok
ellipsis
finishi @printf
ret
epilog