This is the mail archive of the gcc-patches@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: PR 17104


On Mon, 2004-11-01 at 17:51, Nathan Sidwell wrote:

> What is the purpose of LOAD_EXTEND_OP if one has to explicitly wrap
> loads with ZERO_EXTENDs?

ZERO_EXTEND has a mode change.  LOAD_EXTEND_OP just tells the compiler
that when loading a register, in say QImode, the physical register that
holds the value will have the top bits set according to the definition
of the EXTEND operation specified.

So we get

(set (REG:QI xx) (MEM:QI (ADDR)))  // QI result

and 

(SET (REG:SI yy) (ZERO_EXTEND:SI (MEM:QI (ADDR)))) // SI result

R.


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