Jozef Lawrynowicz <joze...@mittosystems.com> writes: > In d8487c949ad5 (~GCC 4.9.0), MODE_PARTIAL_INT modes were changed from > having an unknown number of undefined bits, to having a known number of > undefined bits, however the documentation on using SUBREG expressions > with MODE_PARTIAL_INT modes was not updated to reflect this. > > The attached patch updates that portion of the GCC internals > documentation. > > Ok for trunk?
Thanks for doing this. OK for trunk with one very minor nit: > -does not guarantee that @samp{(subreg:HI (reg:PSI 0) 0)} has the > -value @samp{(reg:HI 4)}. > +sets the low 16 bits of @samp{(reg:PSI 0)} to @samp{(reg:HI 4)}, and > +the high 4 defined bits of @samp{(reg:PSI 0)} retain their > +original value. The behavior here is therefore the same as IMO reads more naturally as “the same as for”. Richard > +normal @code{subreg}s, when there are no > +@code{MODE_PARTIAL_INT} modes involved. > > @cindex @code{TARGET_CAN_CHANGE_MODE_CLASS} and subreg semantics > The rules above apply to both pseudo @var{reg}s and hard @var{reg}s.