From: Jim Wilson Date: Tue, 21 Jul 1992 19:34:37 +0000 (-0700) Subject: (SECONDARY_MEMORY_NEEDED): Define to force reload to X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b924cef029b49df4cb6b899126738825bcbffc75;p=gcc.git (SECONDARY_MEMORY_NEEDED): Define to force reload to handle any copy between GENERAL_REGS and FP_REGS. From-SVN: r1657 --- diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index d6d43ef7e99..c3c96143af7 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -569,6 +569,13 @@ extern char leaf_reg_backmap[]; #define SECONDARY_INPUT_RELOAD_CLASS(CLASS, MODE, IN) \ (flag_pic && pic_address_needs_scratch (IN) ? GENERAL_REGS : NO_REGS) +/* On SPARC it is not possible to directly move data between + GENERAL_REGS and FP_REGS. */ +#define SECONDARY_MEMORY_NEEDED(CLASS1, CLASS2, MODE) \ + ((CLASS1 == FP_REGS && CLASS2 == GENERAL_REGS) \ + || (CLASS1 == GENERAL_REGS && CLASS2 == FP_REGS)) + + /* Return the maximum number of consecutive registers needed to represent mode MODE in a register of class CLASS. */ /* On SPARC, this is the size of MODE in words. */