[m-dev.] x86-64 architecture support

Peter Hawkins peter at hawkins.emu.id.au
Fri Aug 26 18:09:31 AEST 2005

Peter Hawkins wrote:

> I've been working on getting Mercury working on the x86-64 
> architecture (ie. the new 'saturn' machine). I've been able to build a 
> first-stage compiler but I'm still waiting for a more complete build 
> to finish.

Ok, the build has now finished, and it seems that the compiler mostly 
works. I am able to compile the finite-domain constraint solver and run 
the benchmark suite. I haven't bootchecked the compiler.

One missing part of the patch set I sent earlier is that x86_64_regs.h 
needs to be added to the list of header files to install in the 
appropriate Mmakefile.

An interesting comparison is between 64-bit and 32-bit versions of the 
same program running on the same machine (saturn). Here 'runtests' is 
the FD constraint solver benchmark test suite, running in grade 
hawkinsp at saturn:~$ time ./runtests32 >/dev/null

real    0m2.292s
user    0m2.258s
sys     0m0.033s
hawkinsp at saturn:~$ time ./runtests64 >/dev/null

real    0m2.881s
user    0m2.846s
sys     0m0.034s
hawkinsp at saturn:~$

It seems the 64-bit version is somewhat slower, despite having an extra 
global register variable. Any ideas as to why? The code does not appear 
to have become much bigger:
-rwxr-xr-x  1 hawkinsp mercury 2696276 Aug 26 17:56 runtests32
-rwxr-xr-x  1 hawkinsp mercury 2721216 Aug 26 17:53 runtests64

mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au

More information about the developers mailing list