Commit 0cecc190 by Jeffrey A Law Committed by Jeff Law

* mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.

From-SVN: r16209
parent c9670e62
Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com)
* mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com> Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com>
* alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask. * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
......
...@@ -639,7 +639,18 @@ extern struct rtx_def *mn10300_builtin_saveregs (); ...@@ -639,7 +639,18 @@ extern struct rtx_def *mn10300_builtin_saveregs ();
The other macros defined here are used only in GO_IF_LEGITIMATE_ADDRESS, The other macros defined here are used only in GO_IF_LEGITIMATE_ADDRESS,
except for CONSTANT_ADDRESS_P which is actually except for CONSTANT_ADDRESS_P which is actually
machine-independent. */ machine-independent.
On the mn10300, the value in the address register must be
in the same memory space/segment as the effective address.
This is problematical for reload since it does not understand
that base+index != index+base in a memory reference.
Note it is still possible to use reg+reg addressing modes,
it's just much more difficult. For a discussion of a possible
workaround and solution, see the comments in pa.c before the
function record_unscaled_index_insn_codes. */
/* Accept either REG or SUBREG where a register is valid. */ /* Accept either REG or SUBREG where a register is valid. */
...@@ -667,10 +678,6 @@ extern struct rtx_def *mn10300_builtin_saveregs (); ...@@ -667,10 +678,6 @@ extern struct rtx_def *mn10300_builtin_saveregs ();
{ \ { \
if (GET_CODE (index) == CONST_INT) \ if (GET_CODE (index) == CONST_INT) \
goto ADDR; \ goto ADDR; \
if (REG_P (index) \
&& REG_OK_FOR_INDEX_P (index) \
&& GET_MODE_SIZE (mode) <= GET_MODE_SIZE (word_mode)) \
goto ADDR; \
} \ } \
} \ } \
} }
......
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