Question about GO_IF_LEGITIMIZE_ADDRESS
David Edelsohn
dje@watson.ibm.com
Tue Feb 19 13:22:00 GMT 2002
>>>>> Peter Barada writes:
Peter> Any suggestions for which character to use for this new
Peter> constraint(perhaps '@')?
>>
>> GCC already has 'a'. Is that what you mean?
Peter> Nope. 'a' is used to indicate that the value the operand (or what the
Peter> operand points at) goes into an address register. If you have the
Peter> constraint string of "ma", then it indicates that that operand can
Peter> either be in memory("m"), or in an address register("a"). What I need
Peter> is a way of indicaing that the operand is in memory, but needs to be
Peter> accessed via register indirect.
No. What you asked for is:
"...there should be another one that indicates that reload should just
pull the address of the operand into a register to make it register
indirect."
'a' will pull the address of the operand into a register. What you do
with that afterwards is up to you. You can turn that address contained in
a register into an indirect reference via your output template.
You are asking for a well-known constraint that reload can know about and
do something sensible. 'a' will provide that. Stop asking for something
more complicated.
David
More information about the Gcc
mailing list