mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-06 15:40:29 +02:00
S390: Add support for 32 bit.
* include/lightning.h, include/lightning/jit_private.h, include/lightning/jit_s390x.h, lib/jit_disasm.c, lib/jit_s390x-cpu.c, lib/jit_s390x-fpu.c, lib/jit_s390x-sz.c, lib/jit_s390x.c, lib/jit_size.c, lib/lightning.c: Add support for generating jit for s390 32 bit. This change also removed %f15 from the list of temporaries fpr registers; it was not being used, but if were, it would corrupt the stack frame because the spill address would overwrite grp offsets.
This commit is contained in:
parent
af9df5faeb
commit
32c4f90a2b
11 changed files with 876 additions and 173 deletions
|
@ -115,7 +115,7 @@ typedef jit_uint64_t jit_regset_t;
|
|||
# define JIT_RET _R0
|
||||
# define JIT_FRET _V0
|
||||
typedef jit_uint64_t jit_regset_t;
|
||||
#elif defined(__s390x__)
|
||||
#elif defined(__s390__) || defined(__s390x__)
|
||||
# define JIT_SP _R15
|
||||
# define JIT_RET _R2
|
||||
# define JIT_FRET _F0
|
||||
|
|
|
@ -33,7 +33,11 @@ typedef enum {
|
|||
#define jit_r_num() 3
|
||||
#define jit_v(i) (_R11 + ((i) << 1))
|
||||
#define jit_v_num() 3
|
||||
#define jit_arg_f_reg_p(i) ((i) >= 0 && (i) <= 4)
|
||||
#if __WORDSIZE == 32
|
||||
# define jit_arg_f_reg_p(i) ((i) >= 0 && (i) <= 2)
|
||||
#else
|
||||
# define jit_arg_f_reg_p(i) ((i) >= 0 && (i) <= 4)
|
||||
#endif
|
||||
#define jit_f(i) (_F8 + (i))
|
||||
#define jit_f_num() 6
|
||||
#define JIT_R0 _R12
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue