This is the mail archive of the
mailing list for the GCC project.
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
(SET (REG:SI yy) (ZERO_EXTEND:SI (MEM:QI (ADDR)))) // SI result