mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Lightening: _WIN32 updates from upstream lightning
Pulls in a few updates for WIN32 from upstream GNU lightning. Based on patches from GNU Lightning.
This commit is contained in:
parent
0b70769247
commit
4cac137b01
2 changed files with 7 additions and 7 deletions
|
@ -20,7 +20,7 @@
|
|||
/* avoid using it due to partial stalls */
|
||||
#define USE_INC_DEC 0
|
||||
|
||||
#if __X32
|
||||
#if __X32 || __X64_32
|
||||
# define WIDE 0
|
||||
# define IF_WIDE(wide, narrow) narrow
|
||||
#else
|
||||
|
@ -46,7 +46,7 @@
|
|||
#define _R15_REGNO 15
|
||||
#define r7(reg) ((reg) & 7)
|
||||
#define r8(reg) ((reg) & 15)
|
||||
#if __X32
|
||||
#if ___X32 || __CYGWIN__ || __X64_32 || _WIN32
|
||||
# define reg8_p(rn) ((rn) >= _RAX_REGNO && (rn) <= _RBX_REGNO)
|
||||
#else
|
||||
# define reg8_p(rn) 1
|
||||
|
|
|
@ -237,7 +237,7 @@ jit_init(jit_state_t *_jit)
|
|||
static const jit_gpr_t abi_gpr_args[] = {
|
||||
#if __X32
|
||||
/* No GPRs in args. */
|
||||
#elif __CYGWIN__
|
||||
#elif (__CYGWIN__ || _WIN32)
|
||||
_RCX, _RDX, _R8, _R9
|
||||
#else
|
||||
_RDI, _RSI, _RDX, _RCX, _R8, _R9
|
||||
|
@ -247,7 +247,7 @@ static const jit_gpr_t abi_gpr_args[] = {
|
|||
static const jit_fpr_t abi_fpr_args[] = {
|
||||
#if __X32
|
||||
/* No FPRs in args. */
|
||||
#elif __CYGWIN__
|
||||
#elif (__CYGWIN__ || _WIN32)
|
||||
_XMM0, _XMM1, _XMM2, _XMM3
|
||||
#else
|
||||
_XMM0, _XMM1, _XMM2, _XMM3, _XMM4, _XMM5, _XMM6, _XMM7
|
||||
|
@ -317,7 +317,7 @@ reset_abi_arg_iterator(struct abi_arg_iterator *iter, size_t argc,
|
|||
memset(iter, 0, sizeof *iter);
|
||||
iter->argc = argc;
|
||||
iter->args = args;
|
||||
#if __CYGWIN__ && __X64
|
||||
#if (__CYGWIN__ || _WIN32) && __X64
|
||||
// Reserve slots on the stack for 4 register parameters (8 bytes each).
|
||||
iter->stack_size = 32;
|
||||
#endif
|
||||
|
@ -330,12 +330,12 @@ next_abi_arg(struct abi_arg_iterator *iter, jit_operand_t *arg)
|
|||
enum jit_operand_abi abi = iter->args[iter->arg_idx].abi;
|
||||
if (is_gpr_arg(abi) && iter->gpr_idx < abi_gpr_arg_count) {
|
||||
*arg = jit_operand_gpr (abi, abi_gpr_args[iter->gpr_idx++]);
|
||||
#ifdef __CYGWIN__
|
||||
#if (__CYGWIN__ || _WIN32)
|
||||
iter->fpr_idx++;
|
||||
#endif
|
||||
} else if (is_fpr_arg(abi) && iter->fpr_idx < abi_fpr_arg_count) {
|
||||
*arg = jit_operand_fpr (abi, abi_fpr_args[iter->fpr_idx++]);
|
||||
#ifdef __CYGWIN__
|
||||
#if (__CYGWIN__ || _WIN32)
|
||||
iter->gpr_idx++;
|
||||
#endif
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue