[project @ 2003-08-29 16:00:25 by simonmar]
Initial x86-64 (aka amd64) support.
Unregisterised it works perfectly. Registerised, I think it's almost
there, except that I seem to be running into the known codegen bug in
GCC with register variables (bug #7871 in the gcc bugzilla), which
means registerised support is basically hosed until the GCC folks
can get their act together.
We get 8 more registers on amd64, but only 2 more callee-saves
registers. The calling convention seems to pass args in registers by
default, using the previously-callee-saves %rsi and %rdi as two of the
new arg registers.
I think GHCi should work, since we already have 64-bit ELF support
thanks to Mat Chapman's work on the IA64 port. I haven't tried GHCi,
though.
The native code generator should be a breeze, because it's so similar
to plain x86.