From b165d4711a22ec9aa68b0a60126291034639168f Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Tue, 6 Jul 1993 13:43:05 -0700 Subject: [PATCH] (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 --- gcc/config/sparc/sparc.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 64cdfbf0b47..3a7a6145f40 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 -- 2.30.2