From acd94aaf191a1c09fe1154b58c7409a95846d6a5 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 5 Mar 1994 19:17:43 -0500 Subject: [PATCH] (SECONDARY_MEMORY_NEEDED_MODE): New macro. From-SVN: r6698 --- gcc/config/alpha/alpha.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index 71d8953e398..ccb46c41c57 100644 --- a/gcc/config/alpha/alpha.h +++ b/gcc/config/alpha/alpha.h @@ -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. */ -- 2.30.2