This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Question about POST_MODIFY by register address mode
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Raimonds Cicans <ray at vardes dot lv>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 14 Jan 2003 16:13:37 -0500
- Subject: Re: Question about POST_MODIFY by register address mode
>>>>> Raimonds Cicans writes:
Raimonds> In POST_MODIFY by register address mode content
Raimonds> of base register is modified by pure index register or
Raimonds> by : (mode size in units) * (index register)?
The description in rtl.def seems to mean the base register is
modified by the index register without scaling by mode size:
The first operand is a REG which is used as the address.
The second operand is an expression that is assigned to the
register, either before (PRE_MODIFY) or after (POST_MODIFY)
evaluating the address.
Currently, the compiler can only handle second operands of the
form (plus (reg) (reg)) and (plus (reg) (const_int)), where
the first operand of the PLUS has to be the same register as
the first operand of the *_MODIFY. */
which maps directly to most (all?) hardware implementations.
David