aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sparc/sparc.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-10-22 07:05:32 +0000
committerDavid S. Miller <davem@gcc.gnu.org>2011-10-22 00:05:32 -0700
commit9dc98917cce188038d303658a27d2de6450ad5c3 (patch)
tree9c75b177564ea7fa4887b9d84aed1b0728edbffd /gcc/config/sparc/sparc.h
parent40c4cbcd82d343e9c9c6b9e1bd7ba8ab04e9220d (diff)
downloadgcc-9dc98917cce188038d303658a27d2de6450ad5c3.zip
gcc-9dc98917cce188038d303658a27d2de6450ad5c3.tar.gz
gcc-9dc98917cce188038d303658a27d2de6450ad5c3.tar.bz2
Convert sparc over to TARGET_SECONDARY_RELOAD.
gcc/ * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Delete. * config/sparc/sparc.c (TARGET_SECONDARY_RELOAD): Redefine. (sparc_secondary_reload): New function. From-SVN: r180323
Diffstat (limited to 'gcc/config/sparc/sparc.h')
-rw-r--r--gcc/config/sparc/sparc.h48
1 files changed, 0 insertions, 48 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index e0db816..9b7835e 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -1112,54 +1112,6 @@ extern char leaf_reg_remap[];
#define SPARC_SETHI32_P(X) \
(SPARC_SETHI_P ((unsigned HOST_WIDE_INT) (X) & GET_MODE_MASK (SImode)))
-/* Return the register class of a scratch register needed to load IN into
- a register of class CLASS in MODE.
-
- We need a temporary when loading/storing a HImode/QImode value
- between memory and the FPU registers. This can happen when combine puts
- a paradoxical subreg in a float/fix conversion insn.
-
- We need a temporary when loading/storing a DFmode value between
- unaligned memory and the upper FPU registers. */
-
-#define SECONDARY_INPUT_RELOAD_CLASS(CLASS, MODE, IN) \
- ((FP_REG_CLASS_P (CLASS) \
- && ((MODE) == HImode || (MODE) == QImode) \
- && (GET_CODE (IN) == MEM \
- || ((GET_CODE (IN) == REG || GET_CODE (IN) == SUBREG) \
- && true_regnum (IN) == -1))) \
- ? GENERAL_REGS \
- : ((CLASS) == EXTRA_FP_REGS && (MODE) == DFmode \
- && GET_CODE (IN) == MEM && TARGET_ARCH32 \
- && ! mem_min_alignment ((IN), 8)) \
- ? FP_REGS \
- : (((TARGET_CM_MEDANY \
- && symbolic_operand ((IN), (MODE))) \
- || (TARGET_CM_EMBMEDANY \
- && text_segment_operand ((IN), (MODE)))) \
- && !flag_pic) \
- ? GENERAL_REGS \
- : NO_REGS)
-
-#define SECONDARY_OUTPUT_RELOAD_CLASS(CLASS, MODE, IN) \
- ((FP_REG_CLASS_P (CLASS) \
- && ((MODE) == HImode || (MODE) == QImode) \
- && (GET_CODE (IN) == MEM \
- || ((GET_CODE (IN) == REG || GET_CODE (IN) == SUBREG) \
- && true_regnum (IN) == -1))) \
- ? GENERAL_REGS \
- : ((CLASS) == EXTRA_FP_REGS && (MODE) == DFmode \
- && GET_CODE (IN) == MEM && TARGET_ARCH32 \
- && ! mem_min_alignment ((IN), 8)) \
- ? FP_REGS \
- : (((TARGET_CM_MEDANY \
- && symbolic_operand ((IN), (MODE))) \
- || (TARGET_CM_EMBMEDANY \
- && text_segment_operand ((IN), (MODE)))) \
- && !flag_pic) \
- ? 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) \