> Uh, so sizetype is 32bit but pointer displacements are 24bit?  :(

Worse.  sizetype is 16bit but pointer displacements are 24bit.  There
are no 24bit address registers, nor are there enough 24bit math
opcodes to satisfy gcc (without switching to 32bit emulated math,
which is REALLY slow).

It's kinda like a -65536..+65535 displacement range.

> So negative displacements will be 24bit displacements (expensive)
> and small positive displacements will fit in 16bit (or even 8bit)
> displacements?

Yup.  0, 8, 16, and 24 bit displacements - all unsigned.

Reply via email to