aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-02-05 15:37:09 -0800
committerJim Wilson <wilson@gcc.gnu.org>1993-02-05 15:37:09 -0800
commit9ad2c6927100e3ba84b7e6b6d528cc18ca295ec9 (patch)
treef6ec6d92216be672b1b42d31b4afb8d0d6629ea9 /gcc
parent193013107a125e9956d54dad764eade5cc76aef7 (diff)
downloadgcc-9ad2c6927100e3ba84b7e6b6d528cc18ca295ec9.zip
gcc-9ad2c6927100e3ba84b7e6b6d528cc18ca295ec9.tar.gz
gcc-9ad2c6927100e3ba84b7e6b6d528cc18ca295ec9.tar.bz2
(EXTRA_CONSTAINTS): Delete 'R' support.
(CONST_OK_FOR_LETTER_P): Correct 'K' comment. From-SVN: r3428
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/sparc/sparc.h38
1 files changed, 14 insertions, 24 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index 2693e5c..8a1e937 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -568,7 +568,7 @@ extern char leaf_reg_backmap[];
For SPARC, `I' is used for the range of constants an insn
can actually contain.
`J' is used for the range which is just zero (since that is R0).
- `K' is used for the 5-bit operand of a compare insns. */
+ `K' is used for constants which can be loaded with a single sethi insn. */
#define SMALL_INT(X) ((unsigned) (INTVAL (X) + 0x1000) < 0x2000)
@@ -1114,8 +1114,6 @@ extern struct rtx_def *sparc_builtin_saveregs ();
these things in insns and then not re-recognize the insns, causing
constrain_operands to fail.
- `R' handles the LO_SUM which can be an address for `Q'.
-
`S' handles constraints for calls. */
#ifndef REG_OK_STRICT
@@ -1134,10 +1132,6 @@ extern struct rtx_def *sparc_builtin_saveregs ();
&& ! symbolic_memory_operand (OP, VOIDmode)) \
|| (reload_in_progress && GET_CODE (OP) == REG \
&& REGNO (OP) >= FIRST_PSEUDO_REGISTER)) \
- : (C) == 'R' \
- ? (GET_CODE (OP) == LO_SUM \
- && GET_CODE (XEXP (OP, 0)) == REG \
- && REG_OK_FOR_BASE_P (XEXP (OP, 0))) \
: (C) == 'S' \
? (CONSTANT_P (OP) || memory_address_p (Pmode, OP)) \
: (C) == 'T' \
@@ -1154,23 +1148,19 @@ extern struct rtx_def *sparc_builtin_saveregs ();
#define REG_OK_FOR_BASE_P(X) REGNO_OK_FOR_BASE_P (REGNO (X))
#define EXTRA_CONSTRAINT(OP, C) \
- ((C) == 'Q' ? \
- (GET_CODE (OP) == REG ? \
- (REGNO (OP) >= FIRST_PSEUDO_REGISTER \
- && reg_renumber[REGNO (OP)] < 0) \
- : GET_CODE (OP) == MEM) \
- : ((C) == 'R' ? \
- (GET_CODE (OP) == LO_SUM \
- && GET_CODE (XEXP (OP, 0)) == REG \
- && REG_OK_FOR_BASE_P (XEXP (OP, 0))) \
- : ((C) == 'S' \
- ? (CONSTANT_P (OP) \
- || (GET_CODE (OP) == REG && reg_renumber[REGNO (OP)] > 0)\
- || strict_memory_address_p (Pmode, OP)) \
- : ((C) == 'T' ? \
- mem_aligned_8 (OP) && strict_memory_address_p (Pmode, OP) \
- : ((C) == 'U' ? \
- register_ok_for_ldd (OP) : 0)))))
+ ((C) == 'Q' \
+ ? (GET_CODE (OP) == REG \
+ ? (REGNO (OP) >= FIRST_PSEUDO_REGISTER \
+ && reg_renumber[REGNO (OP)] < 0) \
+ : GET_CODE (OP) == MEM) \
+ : (C) == 'S' \
+ ? (CONSTANT_P (OP) \
+ || (GET_CODE (OP) == REG && reg_renumber[REGNO (OP)] > 0) \
+ || strict_memory_address_p (Pmode, OP)) \
+ : (C) == 'T' \
+ ? mem_aligned_8 (OP) && strict_memory_address_p (Pmode, OP) \
+ : (C) == 'U' \
+ ? register_ok_for_ldd (OP) : 0)
#endif
/* GO_IF_LEGITIMATE_ADDRESS recognizes an RTL expression