diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-05 19:17:43 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-05 19:17:43 -0500 |
commit | acd94aaf191a1c09fe1154b58c7409a95846d6a5 (patch) | |
tree | 5ff287788f6befd41561b6830a90d00695be4228 /gcc | |
parent | 64609742de886744acea45f6f00589b4a055eb2b (diff) | |
download | gcc-acd94aaf191a1c09fe1154b58c7409a95846d6a5.zip gcc-acd94aaf191a1c09fe1154b58c7409a95846d6a5.tar.gz gcc-acd94aaf191a1c09fe1154b58c7409a95846d6a5.tar.bz2 |
(SECONDARY_MEMORY_NEEDED_MODE): New macro.
From-SVN: r6698
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/alpha/alpha.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index 71d8953..ccb46c4 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. */ |