Commit b1947510 by John David Anglin

pa.c (pa_legitimate_address_p): For scaled indexing...

	* config/pa/pa.c (pa_legitimate_address_p): For scaled indexing,
	require base operand is a REG_POINTER prior to reload on targets
	with non-equivalent space registers.

From-SVN: r255369
parent 0ac74254
2017-12-03 John David Anglin <danglin@gcc.gnu.org>
* config/pa/pa.c (pa_legitimate_address_p): For scaled indexing,
require base operand is a REG_POINTER prior to reload on targets
with non-equivalent space registers.
2017-12-01 Jan Hubicka <hubicka@ucw.cz> 2017-12-01 Jan Hubicka <hubicka@ucw.cz>
* ipa-cp.c (ipcp_lattice<valtype>::print): Update dumping. * ipa-cp.c (ipcp_lattice<valtype>::print): Update dumping.
...@@ -10544,9 +10544,16 @@ pa_legitimate_address_p (machine_mode mode, rtx x, bool strict) ...@@ -10544,9 +10544,16 @@ pa_legitimate_address_p (machine_mode mode, rtx x, bool strict)
if (!TARGET_DISABLE_INDEXING if (!TARGET_DISABLE_INDEXING
&& GET_CODE (index) == MULT && GET_CODE (index) == MULT
&& MODE_OK_FOR_SCALED_INDEXING_P (mode) /* Only accept base operands with the REG_POINTER flag prior to
reload on targets with non-equivalent space registers. */
&& (TARGET_NO_SPACE_REGS
|| (base == XEXP (x, 1)
&& (reload_completed
|| (reload_in_progress && HARD_REGISTER_P (base))
|| REG_POINTER (base))))
&& REG_P (XEXP (index, 0)) && REG_P (XEXP (index, 0))
&& GET_MODE (XEXP (index, 0)) == Pmode && GET_MODE (XEXP (index, 0)) == Pmode
&& MODE_OK_FOR_SCALED_INDEXING_P (mode)
&& (strict ? STRICT_REG_OK_FOR_INDEX_P (XEXP (index, 0)) && (strict ? STRICT_REG_OK_FOR_INDEX_P (XEXP (index, 0))
: REG_OK_FOR_INDEX_P (XEXP (index, 0))) : REG_OK_FOR_INDEX_P (XEXP (index, 0)))
&& GET_CODE (XEXP (index, 1)) == CONST_INT && GET_CODE (XEXP (index, 1)) == CONST_INT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment