Commit 84721fbd by Jeff Law

pa.h (EXTRA_CONSTRAINT): Refine 'T' constraint to not accept pseudos which did…

pa.h (EXTRA_CONSTRAINT): Refine 'T' constraint to not accept pseudos which did not get hard registers.

	* pa.h (EXTRA_CONSTRAINT): Refine 'T' constraint to not accept
	pseudos which did not get hard registers.  Do not use
	short_memory_operand.

From-SVN: r4013
parent 64a48304
......@@ -1095,7 +1095,7 @@ extern union tree_node *current_function_decl;
`S' handles constraints for calls.
`T' is for fp load and store addresses.*/
`T' is for fp loads and stores. */
#define EXTRA_CONSTRAINT(OP, C) \
((C) == 'Q' ? \
(IS_RELOADING_PSEUDO_P (OP) \
......@@ -1105,9 +1105,10 @@ extern union tree_node *current_function_decl;
&& memory_address_p (GET_MODE (OP), XEXP (OP, 0))\
&& ! symbolic_memory_operand (OP, VOIDmode))) \
: ((C) == 'T' ? \
(IS_RELOADING_PSEUDO_P (OP) \
|| (GET_CODE (OP) == MEM \
&& short_memory_operand (OP, VOIDmode))) \
(GET_CODE (OP) == MEM \
/* Using DFmode forces only short displacements \
to be recognized as valid in reg+d addresses. */\
&& memory_address_p (DFmode, XEXP (OP, 0))) \
: ((C) == 'S' ? \
((CONSTANT_P (OP) && ! TARGET_LONG_CALLS) \
|| (reload_in_progress \
......
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