aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-09-01 18:41:53 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-09-01 18:41:53 -0400
commit7ea555a4fc8b9545f7ccd71e8a8e8703c22f5056 (patch)
tree712ff65a3c5e999714e4e626ad605268d683d0fd
parenteb4e8003779f378da296e06a7ad0548cad10048e (diff)
downloadgcc-7ea555a4fc8b9545f7ccd71e8a8e8703c22f5056.zip
gcc-7ea555a4fc8b9545f7ccd71e8a8e8703c22f5056.tar.gz
gcc-7ea555a4fc8b9545f7ccd71e8a8e8703c22f5056.tar.bz2
(SECONDARY_MEMORY_NEEDED): New macro.
From-SVN: r5242
-rw-r--r--gcc/config/rs6000/rs6000.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index f50c6b3..e4706fc 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -558,6 +558,12 @@ enum reg_class { NO_REGS, BASE_REGS, GENERAL_REGS, FLOAT_REGS,
#define SECONDARY_RELOAD_CLASS(CLASS,MODE,IN) \
secondary_reload_class (CLASS, MODE, IN)
+/* If we are copying between FP registers and anything else, we need a memory
+ location. */
+
+#define SECONDARY_MEMORY_NEEDED(CLASS1,CLASS2,MODE) \
+ ((CLASS1) != (CLASS2) && ((CLASS1) == FLOAT_REGS || (CLASS2) == FLOAT_REGS))
+
/* Return the maximum number of consecutive registers
needed to represent mode MODE in a register of class CLASS.