Re: legitimate address load/store

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Sun, 2013-08-04 at 14:47 -0700, Hendrik Greving wrote:
> Hi,
> 
> For machines that have an asymmetric memory operand format for
> load/stores (load/store format is different), how - if - is that
> supported in the backend?
> GO_IF_LEGITIMATE_ADDRESS/TARGET_LEGITIMATE_ADDRESS_P don't seem to
> care whether it is a load or store. As an example, I'd want to allow
> more complex addresses for loads, but not for stores.

That is not possible indeed.  However, depending on what exactly you
want to do you could try some workarounds.  For example, in
legitimate_address just check whether the address is any kind of valid
address.  Then do detailed case by case matching/rejection/splitting
with operand predicates in mem load/store insns.
Another thing that might work is to allow only simple addresses until
some point via legitimate_address and legitimize_address.  Then use
various RTL passes (e.g. combine) to form more complex addresses.

Cheers,
Oleg





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux