From: Tom Wood Date: Fri, 26 Mar 1993 11:25:40 +0000 (+0000) Subject: (INCOMING_REGNO, OUTGOING_REGNO): Define. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8abded10788a3d5d66c8f09c94358ab1c5d4b159;p=gcc.git (INCOMING_REGNO, OUTGOING_REGNO): Define. From-SVN: r3882 --- diff --git a/gcc/config/pyr/pyr.h b/gcc/config/pyr/pyr.h index 54175c7d1b5..163213acd25 100644 --- a/gcc/config/pyr/pyr.h +++ b/gcc/config/pyr/pyr.h @@ -254,6 +254,22 @@ frame n | | | | #define PYR_LREG(n) (32+(n)) #define PYR_TREG(n) (48+(n)) +/* Define this macro if the target machine has "register windows". This + C expression returns the register number as seen by the called function + corresponding to register number OUT as seen by the calling function. + Return OUT if register number OUT is not an outbound register. */ + +#define INCOMING_REGNO(OUT) \ + (((OUT) < 48 || (OUT) > 63) ? (OUT) : (OUT) - 32) + +/* Define this macro if the target machine has "register windows". This + C expression returns the register number as seen by the calling function + corresponding to register number IN as seen by the called function. + Return IN if register number IN is not an inbound register. */ + +#define OUTGOING_REGNO(IN) \ + (((IN) < 15 || (IN) > 31) ? (IN) : (IN) + 32) + #define FIRST_PSEUDO_REGISTER 64 /* 1 for registers that have pervasive standard uses diff --git a/gcc/config/spur/spur.h b/gcc/config/spur/spur.h index 49fbb7c2709..baa1855e5f3 100644 --- a/gcc/config/spur/spur.h +++ b/gcc/config/spur/spur.h @@ -375,6 +375,22 @@ enum reg_class { NO_REGS, GENERAL_REGS, FP_REGS, ALL_REGS, LIM_REG_CLASSES }; On SPUR, these are the "output" registers. */ #define FUNCTION_ARG_REGNO_P(N) ((N) < 32 && (N) > 26) + +/* Define this macro if the target machine has "register windows". This + C expression returns the register number as seen by the called function + corresponding to register number OUT as seen by the calling function. + Return OUT if register number OUT is not an outbound register. */ + +#define INCOMING_REGNO(OUT) \ + (((OUT) < 27 || (OUT) > 31) ? (OUT) : (OUT) - 16) + +/* Define this macro if the target machine has "register windows". This + C expression returns the register number as seen by the calling function + corresponding to register number IN as seen by the called function. + Return IN if register number IN is not an inbound register. */ + +#define OUTGOING_REGNO(IN) \ + (((IN) < 11 || (IN) > 15) ? (IN) : (IN) + 16) /* Define a data type for recording info about an argument list during the scan of that argument list. This data type should