> How can you then ever "truncate" from SImode to PSImode?

If you use PARTIAL_INT_MODE(), you get a PSImode that has a "default"
bitsize (i.e. the value stored in the data structure) that's the same
as SImode, that is, 32.  There is no way to specify the usable
bitsize, so it's "undefined/unspecified" but, IMHO, assumed to be less
than the bit size of the parent mode.

One can assert that a PSImode will never have *more* precision than
SImode, though, so sign extending SImode to PSImode is never the right
thing to do.

> btw, what's the relation to fractional int modes?

I think fractional_int_mode allows you to specify the precision and
byte size, but in my experience, I've had trouble using it, especially
if you specify a non-power-of-two byte size.

Reply via email to