[m-dev.] question about 32 bit machines
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.
More information about the developers