[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.
Showing with 109 additions and 5 deletions