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]

Re: Paradoxical subreg questions


  In message <200001122201.RAA09435@jwlab.FEITH.COM>you write:
  > > It means the same thing, but the former can be used in a DImode insn,
  > > while the latter is SImode, and a truncate will rarely - if at all -
  > > be generated by the optimizers.  Generating subregs is much more common.
  > > The DImode form will require register allocation to provide a DImode hard
  > > register, unless the insn can be transformed to an SImode one before
  > > reloading.
  > 
  > Are the other bits of the DImode hard register assumed clobbered by the
  > set?  In other words:
  > 
  >   (set (subreg:DI (reg:SI 76) 0) (reg:DI 77))
  > 
  > implies:
  > 
  >   (clobber (reg:DI 76))
I'm not sure that's even valid RTL.  We are allowed to create paradoxical
SUBREGs for a rvalue, but I'm not sure they're valid for an lvalue.

In the SUBREG section of the manual it discusses stores to normal SUBREGs
but does not cover stores to paradoxical SUBREGs at all.
jeff


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