
On 08 March 2005 15:59, Duncan Coutts wrote:
On Tue, 2005-03-08 at 15:16 +0000, Simon Marlow wrote:
I've put up an x86_64/Linux registerised build for testing here:
http://www.haskell.org/ghc/dist/stable/dist/ghc-6.4-x86_64-unknown-linux
.tar.bz2
This is a binary distribution: ./configure && make -k install. The -k is necessary because it doesn't have all the docs. It was built on Fedora FC3. Note it claims version 6.4, but actually it's 6.4.20050308.
Still no GHCi, no foreign export dynamic, no native code gen. But it seems to work (this is a stage 3 build).
For someone with an amd64 and some spare time:
So the burning question is: do all those extra registers help? Does Haskell code run faster in 64bit mode or 32bit mode?
Performance graphs on a postcard to the usual address...
I haven't really made full use of the extra registers yet. The register mapping is certainly sub-optimal: I didn't use any of the call-clobbered regs, but almost certainly it will be a good idea to do so. So far I've only assigned a single argument register, the same as x86. Upshot: you're unlikely to get much better performance than the plain x86 registerised build at the moment. When I've got some time I'll play around with more aggressive register assignments (or anyone else is welcome... just fiddle with the settings in ghc/includes/MachRegs.h, and don't forget to set the appropriate CALLER_SAVES macro if you pinch a call-clobbered reg). Cheers, Simon
participants (1)
-
Simon Marlow