From b924cef029b49df4cb6b899126738825bcbffc75 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Tue, 21 Jul 1992 12:34:37 -0700 Subject: [PATCH] (SECONDARY_MEMORY_NEEDED): Define to force reload to handle any copy between GENERAL_REGS and FP_REGS. From-SVN: r1657 --- gcc/config/sparc/sparc.h | 7 +++++++ 1 file changed, 7 insertions(+) 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. */ -- 2.30.2