mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-18 01:30:27 +02:00
sparc: Add initial jit_va_ calls to sparc
* lib/jit_sparc-cpu.c, lib/jit_sparc-fpu.c, lib/jit_sparc.c: Add base support to jit vararg functions to the sparc backend.
This commit is contained in:
parent
9a90a28360
commit
bd38cfa9c9
4 changed files with 64 additions and 0 deletions
|
@ -362,6 +362,8 @@ _dbw(jit_state_t*,jit_int32_t,jit_word_t,jit_int32_t,jit_float64_t*);
|
|||
# define bordi_d(i0, r0, i1) dbw(SPARC_FBO, i0, r0, i1)
|
||||
# define bunordr_d(i0, r0, r1) dbr(SPARC_FBU, i0, r0, r1)
|
||||
# define bunordi_d(i0, r0, i1) dbw(SPARC_FBU, i0, r0, i1)
|
||||
# define vaarg_d(r0, r1) _vaarg_d(_jit, r0, r1)
|
||||
static void _vaarg_d(jit_state_t*, jit_int32_t, jit_int32_t);
|
||||
#endif
|
||||
|
||||
#if CODE
|
||||
|
@ -757,4 +759,16 @@ _dbw(jit_state_t *_jit, jit_int32_t cc,
|
|||
NOP();
|
||||
return (w);
|
||||
}
|
||||
|
||||
static void
|
||||
_vaarg_d(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1)
|
||||
{
|
||||
assert(_jitc->function->self.call & jit_call_varargs);
|
||||
|
||||
/* Load argument. */
|
||||
ldr_d(r0, r1);
|
||||
|
||||
/* Update vararg stack pointer. */
|
||||
addi(r1, r1, 8);
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue