[m-dev.] question about 32 bit machines

Zoltan Somogyi zoltan.somogyi at runbox.com
Wed Mar 14 05:43:42 AEDT 2018



On Tue, 13 Mar 2018 09:28:49 +1100, Michael Day <mikeday at yeslogic.com> wrote:

> Hi Zoltan,
> 
> > The different treatment of int64/uint64s from floats is just because
> > we haven't implemented their unpacked representation yet. However, I have
> > a question: should we have unpacked 64 bit arguments on 32 bit systems at all?
> > Given the relative rarity of 32 bit systems *and* the relative rarity of code
> > that not only uses floats, int64s or uint64s but also spends a significant fraction
> > of its runtime on operations on them, I am wondering whether a policy of
> > "always box 64 bit primitive values into 32 bit words on 32 bit systems when
> > putting them into a structure" would be good enough. It would certainly
> > simplify the relevant parts of the compiler.
> 
> One program that spends a significant fraction of its runtime in 
> operations on floats is Prince, which is why we were interested in the 
> unboxing optimisation. Although 64-bit machines have become the new 
> standard, we still have many customers using 32-bit machines, and they 
> have the tightest address space requirements, so it would be nice to 
> keep this optimisation if we can.

Of course we can; the question was only whether doing so is worthwhile.
Your reply says it is, so I will instead implement the other way to resolve
the inconsistency, which is to implement unboxing of 64 bit ints and uints
on 32 bit machines.

Zoltan.


More information about the developers mailing list