1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-21 19:20:21 +02:00

Add functional hppa port. All tests pass.

* include/lightning/jit_hppa.h, lib/jit_hppa-cpu.c,
	lib/jit_hppa-fpu.c, lib/jit_hppa.c: New files implementing
	the hppa port. Built on Debian Linux PA-RISC 2.0, 32 bit.

	* check/float.tst: Add preprocessor for hppa expected
	values when converting NaN and +-Inf to an integer.

	* check/ldst.inc: Ensure double load/store tests use an
	8 byte aligned address by default.

	* lib/lightning.c: Correct a bug found during tests in
	the new port, where qmul* and qdiv* were not properly
	setting one of the result registers as modified in the
	function, what would be a problem if the only "write"
	usage were the qmul* or qdiv*.

	* check/varargs.tst, check/varargs.ok: Add one extra
	interleaved integer/double test to validate proper code
	generation in the extra case.

	* check/lightning.c, configure.ac, include/lightning.h,
	include/lightning/Makefile.am,
	include/lightning/jit_private.h, lib/Makefile.am,
	lib/jit_disasm.c: Update for the hppa port.
This commit is contained in:
pcpa 2013-06-01 01:53:33 -03:00
parent e80b244f34
commit 3356b9d93a
17 changed files with 5111 additions and 6 deletions

View file

@ -1460,9 +1460,17 @@ _jit_optimize(jit_state_t *_jit)
#endif
if (_jitc->function) {
if ((mask & (jit_cc_a0_reg|jit_cc_a0_chg)) ==
(jit_cc_a0_reg|jit_cc_a0_chg))
jit_regset_setbit(&_jitc->function->regset,
jit_regno(node->u.w));
(jit_cc_a0_reg|jit_cc_a0_chg)) {
if (mask & jit_cc_a0_rlh) {
jit_regset_setbit(&_jitc->function->regset,
jit_regno(node->u.q.l));
jit_regset_setbit(&_jitc->function->regset,
jit_regno(node->u.q.h));
}
else
jit_regset_setbit(&_jitc->function->regset,
jit_regno(node->u.w));
}
if ((mask & (jit_cc_a1_reg|jit_cc_a1_chg)) ==
(jit_cc_a1_reg|jit_cc_a1_chg))
jit_regset_setbit(&_jitc->function->regset,
@ -2869,4 +2877,6 @@ _patch_register(jit_state_t *_jit, jit_node_t *node, jit_node_t *link,
# include "jit_sparc.c"
#elif defined(__ia64__)
# include "jit_ia64.c"
#elif defined(__hppa__)
# include "jit_hppa.c"
#endif