diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-07-06 13:43:05 -0700 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-07-06 13:43:05 -0700 |
commit | b165d4711a22ec9aa68b0a60126291034639168f (patch) | |
tree | 5e6816421049a8060a8bb35176d3976da3fb2839 | |
parent | 61a66555d1e569532761325ddc029926c681c0b9 (diff) | |
download | gcc-b165d4711a22ec9aa68b0a60126291034639168f.zip gcc-b165d4711a22ec9aa68b0a60126291034639168f.tar.gz gcc-b165d4711a22ec9aa68b0a60126291034639168f.tar.bz2 |
(EXTRA_CONSTRAINT): For 'T', pass address not mem to strict_memory_address_p call.
(EXTRA_CONSTRAINT): For 'T', pass address not mem to
strict_memory_address_p call. For 'U', don't accept unallocated
pseudo-reg when strict.
From-SVN: r4862
-rw-r--r-- | gcc/config/sparc/sparc.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 64cdfbf..3a7a614 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -1183,9 +1183,12 @@ extern struct rtx_def *sparc_builtin_saveregs (); || (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) \ + ? mem_aligned_8 (OP) && strict_memory_address_p (Pmode, XEXP (OP, 0)) \ : (C) == 'U' \ - ? register_ok_for_ldd (OP) : 0) + ? (GET_CODE (OP) == REG \ + && (REGNO (OP) < FIRST_PSEUDO_REGISTER \ + || reg_renumber[REGNO (OP)] > 0) \ + && register_ok_for_ldd (OP)) : 0) #endif /* GO_IF_LEGITIMATE_ADDRESS recognizes an RTL expression |