From: Jeff Law Date: Wed, 5 Jun 2002 19:31:48 +0000 (-0600) Subject: pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it rejects (mem (lo_sum ... X-Git-Tag: releases/gcc-3.1.1~200 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b0c40b740e37f01d054a6bc54e2895d41dfffb1;p=thirdparty%2Fgcc.git 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: r54290 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0ddf3a113699..0cef113d52d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-06-05 Jeff Law + + * 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 Alan Modra * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define. diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 93a63f8eca90..f311d6b1ef63 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1239,7 +1239,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)))\