On 11/20/23 11:26, Richard Sandiford wrote:

>> +
>> +      mask = GET_MODE_MASK (GET_MODE (SUBREG_REG (x))) << bit;
>> +      if (!mask)
>> + mask = -0x100000000ULL;
>
> Not sure I follow this.  What does the -0x100000000ULL constant indicate?
> Also, isn't it the mask of the outer register that is shifted, rather
> than the mask of the inner mode?  E.g. if we have:
Jeff Law:
> Inherited.  I should have marked it like the other one as needing
> investigation.  Probably the fastest way is to just rip it out for a
> test to see what breaks.

This is for support of types wider than DImode.

You unsupported tracking of these values in various places, though.

Reply via email to