[mercury-users] Minimum required x86 processor.

Paul Bone pbone at csse.unimelb.edu.au
Wed Aug 12 11:50:15 AEST 2009


I'm adding some profiling code into the Mercury runtime that uses the TSC and
RDTSC instruction found on x86 processors.  While this feature will only be
compiled in for i386 and amd64 builds it requires at minimum a Pentium
processor.

I'd also like to use the new RDTSCP instruction (AIUI available since the Intel
i7), Support for this can be detected via the CPUID instruction (available
since the Pentium).  If RDTSCP is not available Mercury should fall back to
using RDTSC.

Similarly some code we already make use of to force atomic and sometimes
ordered memory access also requires a Pentium processor.

I'd like to make a Pentium the minimum CPU required for i386 Mercury programs.
I don't see any problem with dropping support for any pre-Pentium i386 chips
since these things really belong in a museum.  Does anyone else see any problem
with this, know somebody that uses Mercury on a 486 or have an alternative
suggestion and/or alternative minimum CPU requirement?

We can possibly also enable some more CPU optimizations such as -march=pentium
-mcpu=pentium4 (see gcc(1)), unless overridden by a user's CFLAGS option.

I've sent this to mercury-users rather than mercury-developers as it may affect
people supporting Mercury applications.

Thanks.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 489 bytes
Desc: Digital signature
URL: <http://lists.mercurylang.org/archives/users/attachments/20090812/c4e1e52f/attachment.sig>


More information about the users mailing list