[MLton] Re: MLton codegen combines divison on arm
Wesley W. Terpstra
wesley at terpstra.ca
Sun Nov 14 00:49:35 PST 2010
On Sun, Nov 14, 2010 at 4:36 AM, Adam Goode <adam at spicenitz.org> wrote:
> These kinds of decisions are really system-wide and ABI-changing.
> And the standard ARM ABI doesn't require rounding modes.
Yes, this is the main problem.
> After hacking around with GCC, you would then need to recompile
> your OS, since libgcc is statically linked on ARM by default.
Well, as long as your program doesn't change the rounding mode, you
would be able to mix the two types of arithmetic in a single
executable. IEEE floats behave the same way regardless of the
implementation you're using (as long as you use soft-fp calling
convention anyway). Not the cleanest solution, I'll grant.
> At that point, you might as well only compile for the newer ARMv7-A
> processors and just do something like:
> http://wiki.debian.org/ArmHardFloatPort
Yes, I'm aware of that project. As VFP becomes more and more common,
the faster calling convention will certainly be attractive. However,
for arm without VFP, a solution is still needed.
> By the way, this shouldn't be silently failing for you
> ... unless of course you are running on a system that actually has
> hardware VFP and then you are hitting the glibc bug
As arm systems with 1GB of RAM tend to also have a VFP, I've only ever
built MLton where this bug is in effect.
More information about the MLton
mailing list