From: Jeffrey A Law Date: Fri, 15 Oct 1999 23:04:06 +0000 (+0000) Subject: pa.c (move_operand): Rely on memory_address_p to determine the validity of non-indexe... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f9b5668e116d3ff40b693a347f491ea743b10258;p=gcc.git pa.c (move_operand): Rely on memory_address_p to determine the validity of non-indexed memory addresses. * pa.c (move_operand): Rely on memory_address_p to determine the validity of non-indexed memory addresses. * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic operand in DFmode and SFmode when generating PA2.0 code. From-SVN: r30025 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4eb844f7c30..54dac4ecf2a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +Fri Oct 15 17:02:09 1999 Jeffrey A Law (law@cygnus.com) + + * pa.c (move_operand): Rely on memory_address_p to determine the + validity of non-indexed memory addresses. + * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic + operand in DFmode and SFmode when generating PA2.0 code. + Fri Oct 15 14:25:19 1999 Richard Henderson * print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF. diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 4541ec6ec9a..6af006693cc 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -331,9 +331,6 @@ move_operand (op, mode) return 0; op = XEXP (op, 0); - if (GET_CODE (op) == LO_SUM) - return (register_operand (XEXP (op, 0), Pmode) - && CONSTANT_P (XEXP (op, 1))); /* Since move_operand is only used for source operands, we can always allow scaled indexing! */ diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index 95fb6d77f50..e233a753949 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -1473,6 +1473,10 @@ extern struct rtx_def *hppa_va_arg(); && REG_OK_FOR_BASE_P (XEXP (X, 0)) \ && CONSTANT_P (XEXP (X, 1)) \ && (TARGET_SOFT_FLOAT \ + /* We can allow symbolic LO_SUM addresses\ + for PA2.0. */ \ + || (TARGET_PA_20 \ + && GET_CODE (XEXP (X, 1)) != CONST_INT)\ || ((MODE) != SFmode \ && (MODE) != DFmode))) \ goto ADDR; \ @@ -1482,6 +1486,10 @@ extern struct rtx_def *hppa_va_arg(); && REG_OK_FOR_BASE_P (SUBREG_REG (XEXP (X, 0)))\ && CONSTANT_P (XEXP (X, 1)) \ && (TARGET_SOFT_FLOAT \ + /* We can allow symbolic LO_SUM addresses\ + for PA2.0. */ \ + || (TARGET_PA_20 \ + && GET_CODE (XEXP (X, 1)) != CONST_INT)\ || ((MODE) != SFmode \ && (MODE) != DFmode))) \ goto ADDR; \