]> gcc.gnu.org Git - gcc.git/commitdiff
(SECONDARY_MEMORY_NEEDED_MODE): New macro.
authorRichard Kenner <kenner@gcc.gnu.org>
Sun, 6 Mar 1994 00:17:43 +0000 (19:17 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Sun, 6 Mar 1994 00:17:43 +0000 (19:17 -0500)
From-SVN: r6698

gcc/config/alpha/alpha.h

index 71d8953e3980dc6bdc4e94eef8bfb4090bf2a162..ccb46c41c57e28c67c34d4d708be810b7433bf3f 100644 (file)
@@ -554,6 +554,15 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, ALL_REGS,
 
 #define SECONDARY_MEMORY_NEEDED(CLASS1,CLASS2,MODE) ((CLASS1) != (CLASS2))
 
+/* Specify the mode to be used for memory when a secondary memory
+   location is needed.  If MODE is floating-point, use it.  Otherwise,
+   widen to a word like the default.  This is needed because we always
+   store integers in FP registers in quadword format.  This whole
+   area is very tricky! */
+#define SECONDARY_MEMORY_NEEDED_MODE(MODE)             \
+  (GET_MODE_CLASS (MODE) == MODE_FLOAT ? (MODE)                \
+   : mode_for_size (BITS_PER_WORD, GET_MODE_CLASS (MODE), 0))
+
 /* Return the maximum number of consecutive registers
    needed to represent mode MODE in a register of class CLASS.  */
 
This page took 0.065345 seconds and 5 git commands to generate.