]> gcc.gnu.org Git - gcc.git/commitdiff
pa.h (SECONDARY_MEMORY_NEEDED): Define.
authorJeff Law <law@gcc.gnu.org>
Wed, 17 Mar 1993 21:01:25 +0000 (14:01 -0700)
committerJeff Law <law@gcc.gnu.org>
Wed, 17 Mar 1993 21:01:25 +0000 (14:01 -0700)
* pa.h (SECONDARY_MEMORY_NEEDED): Define.
(SECONDARY_MEMORY_NEEDED_RTX): Define.

From-SVN: r3766

gcc/config/pa/pa.h

index e50ce45e34c00a115341b889f2e0064955ae813b..d2550cb968ce80d61b509b42e067261b7488cb60 100644 (file)
@@ -600,6 +600,16 @@ enum reg_class { NO_REGS, R1_REGS, GENERAL_REGS, FP_REGS, GENERAL_OR_FP_REGS,
 #define SECONDARY_RELOAD_CLASS(CLASS,MODE,IN) \
   secondary_reload_class (CLASS, MODE, IN)
 
+/* On the PA it is not possible to directly move data between 
+   GENERAL_REGS and FP_REGS.  */
+#define SECONDARY_MEMORY_NEEDED(CLASS1, CLASS2, MODE)  \
+  ((FP_REG_CLASS_P (CLASS1) && ! FP_REG_CLASS_P (CLASS2))      \
+   || (! FP_REG_CLASS_P (CLASS1) && FP_REG_CLASS_P (CLASS2)))
+
+/* Return the stack location to use for secondary memory needed reloads.  */
+#define SECONDARY_MEMORY_NEEDED_RTX(MODE) \
+  gen_rtx (MEM, MODE, gen_rtx (PLUS, Pmode, stack_pointer_rtx, GEN_INT (-16)))
+
 /* Return the maximum number of consecutive registers
    needed to represent mode MODE in a register of class CLASS.  */
 #define CLASS_MAX_NREGS(CLASS, MODE)   \
This page took 0.07303 seconds and 5 git commands to generate.