[RFC PATCH, i386]: Allow zero_extended addresses (+ problems with reload and offsetable address, "o" constraint)

Ulrich Weigand uweigand@de.ibm.com
Mon Aug 8 15:30:00 GMT 2011


Uros Bizjak wrote:

> Although, it would be nice for reload to subsequently fix CSE'd
> non-offsetable memory by copying address to temporary reg (*as said in
> the documentation*), we could simply require an XMM temporary for
> TImode reloads to/from integer registers, and this fixes ICE for x32.

Moves are special as far as reload is concerned.  If there is already
a move instruction present *before* reload, it will get fixed up
according to its constraints as any other instruction.

However, reload will *introduce* new moves as part of its operation,
and those will *not* themselves get reloaded.  Instead, reload simply
assumes that every plain move will just succeed without requiring
any reload; if this is not true, the target *must* provide a
secondary reload for this move.

(Note that the secondary reload could also work by reloading the
target address into a temporary; that's up to the target to
implement.)

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com



More information about the Gcc mailing list