This is the mail archive of the gcc@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: [trunk] Addition to subreg section of rtl.text.


Hi Richard,

Thanks for the message.

kenner@vlsi1.ultra.nyu.edu (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


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