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:
parent
e80b244f34
commit
3356b9d93a
17 changed files with 5111 additions and 6 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue