(INCOMING_REGNO, OUTGOING_REGNO): Define.
authorTom Wood <wood@gnu.org>
Fri, 26 Mar 1993 11:25:40 +0000 (11:25 +0000)
committerTom Wood <wood@gnu.org>
Fri, 26 Mar 1993 11:25:40 +0000 (11:25 +0000)
From-SVN: r3882

gcc/config/pyr/pyr.h
gcc/config/spur/spur.h

index 54175c7d1b5e71a362f609225048c43d7fcc9fb2..163213acd2574dffb1d3acb3f486108ed45aa7a1 100644 (file)
@@ -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
index 49fbb7c27098d0187997e93715fdf4b28abe2ca4..baa1855e5f3c9da9e5b19a07385bf143059e860f 100644 (file)
@@ -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)
 \f
 /* Define a data type for recording info about an argument list
    during the scan of that argument list.  This data type should