Hi Richard,

Thanks for the message.

[EMAIL PROTECTED] (Richard Kenner) writes:
>> It is seldom necessary to wrap hard registers in @code{subreg}s;
>> such registers would normally reduce to a single @code{reg} rtx.
>
> Are these valid?  I know we've gone back and forth, but I thought the
> current position is that SUBREGs of hard regs are only allowed
> transitorily (e.g., during reload), but must be converted into a hard
> reg by the end of the pass.

That's my understanding too as far as insn operands are concerned.
But some backends use things like "(subreg (match_operand ...) ...)";
see config/rs6000/spe.md for an example.  We need to define what those
subregs mean when the inner register has been reloaded.

Or I suppose we could say that such define_insns are in error and
use another construct instead.

Richard

Reply via email to