+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 <rth@cygnus.com>
* print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
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! */
&& 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; \
&& 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; \