Jozef Lawrynowicz <joze...@mittosystems.com> writes: > On Wed, Jul 22, 2020 at 09:33:47AM +0100, Richard Sandiford wrote: >> Jozef Lawrynowicz <joze...@mittosystems.com> writes: >> > is_int_mode does not allow MODE_PARTIAL_INT modes, so convert_modes was >> > not allowing a constant value to be converted to a MODE_PARTIAL_INT for >> > use as operand 2 in patterns such as ashlpsi3. The constant had >> > to be copied into a register before it could be used, but now can be >> > used directly as an operand without any copying. >> >> Yeah. I guess this dates back to when MODE_PARTIAL_INTs didn't have >> a known precision. > > Is that what the section on MODE_PARTIAL_INT in the description for the > "subreg" RTX refers to? From "14.8 Registers and Memory" of gccint: > > A MODE_PARTIAL_INT mode behaves as if it were as wide as the corresponding > MODE_INT mode, except that it has an unknown number of undefined bits.
Yeah. Before d8487c949ad5 the number of significant bits in a partial mode was hidden from target-independent code. > If so, that whole section seems out of date. I can work on getting it > fixed up. Sounds good :-) Thanks, Richard