On Thu, 5 Sep 2002, Kevin D. Kissell wrote:
> n32 has the same data types as o32, an "ILP32" C integer
> model. n64 is a pretty normal "LP64" C integer model.
>
> What do you consider to be broken, and how would you
> have preferred it to have been done?
For n32 it would be natural to have:
- sizeof(int) = 32
- sizeof(long) = 64
- sizeof(void *) = 32
as the underlying hardware directly supports 64-bit operations (n32
requires at least MIPS III). Thus there is no penalty for 64-bit
arithmetics and if one uses longs one normally wants the largest native
integer type -- using long long typically (i.e. on most platforms) implies
double-precision arithmetics with all the drawbacks, especially for the
division and multiplication operations.
With 32-bit long on 64-bit hardware software has no easy way to figure
using 64-bit operations is still optimal performance-wise. I can't see
any technical benefit from such a setup -- is there any? I doubt it.
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
|