This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]