diff options
author | Jeff Law <law@redhat.com> | 2002-06-05 14:35:23 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2002-06-05 14:35:23 -0600 |
commit | 8008102813dc5fc95925453a06c5f88a269dc0ab (patch) | |
tree | 841e04a8bada9d54e747fa20c77683baaef16437 | |
parent | cbc69f844ef9dcec70f15d45467026c5fd937db2 (diff) | |
download | gcc-8008102813dc5fc95925453a06c5f88a269dc0ab.zip gcc-8008102813dc5fc95925453a06c5f88a269dc0ab.tar.gz gcc-8008102813dc5fc95925453a06c5f88a269dc0ab.tar.bz2 |
pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it rejects (mem (lo_sum (reg) (unspec)))...
* pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
rejects (mem (lo_sum (reg) (unspec))), but will allow
(mem (lo_sum (reg) (symbol_ref)) for PA2.0.
From-SVN: r54294
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/pa/pa.h | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a51e8cf..8fa7a5d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-06-05 Jeffrey Law <law@redhat.com> + + * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it + rejects (mem (lo_sum (reg) (unspec))), but will allow + (mem (lo_sum (reg) (symbol_ref)) for PA2.0. + 2002-06-05 Neil Booth <neil@daikokuya.demon.co.uk> * cpphash.h (_cpp_create_definition): Update prototype. diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 9dd93f4..336703e 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1173,7 +1173,11 @@ extern int may_call_alloca; ? GET_MODE (OP) \ : DFmode), \ XEXP (OP, 0)) \ - && GET_CODE (XEXP (OP, 0)) != LO_SUM \ + && !(GET_CODE (XEXP (OP, 0)) == LO_SUM \ + && GET_CODE (XEXP (XEXP (OP, 0), 0)) == REG \ + && REG_OK_FOR_BASE_P (XEXP (XEXP (OP, 0), 0))\ + && GET_CODE (XEXP (XEXP (OP, 0), 1)) == UNSPEC\ + && GET_MODE (XEXP (OP, 0)) == Pmode) \ && !(GET_CODE (XEXP (OP, 0)) == PLUS \ && (GET_CODE (XEXP (XEXP (OP, 0), 0)) == MULT\ || GET_CODE (XEXP (XEXP (OP, 0), 1)) == MULT)))\ |