Pentium M tests

Torbjorn Granlund tege at
Thu Mar 3 14:05:29 CET 2005

Thanks for these numbers!  The results are very interesting.  It
turns out that:

1. The traditional p6 core and the p6 core of Pentium M model D
   ("Dothan") do not perform exactly the same in all cases.  The
   newer core is often a bit faster, but also sometimes a bit
   slower, as per the table below.

   I had thought that Pentium M used a plain p6 core with an SSE2
   unit bolted to its side.

2. The SSE2 code used for Pentium 4 is never the best choice for
   Pentium M.  That's somewhat surprising.  Of course, somebody with
   access to a Pentium M could surely write better Pentium M SSE2

3. The choices by gmp's configure are evidently not optimal (for the
   original p6 and the new alike).  The table below indicates the
   optimal choices, with cycle counts, Numbers within () indicate
   cycle counts with current choices.

model ----->              13                  11                  9
name  ----->            Pentium M D         Pentium 3 B         Pentium M 9
mul_1                   k7      4.90(4.37)  k7      5.0 (5.8)   ?       ?
addmul_1, submul_1      k6      5.67(6.29)  k6      6.0 (6.58)  ?       ?
add_n, sub_n            p6      3.0         p6      2.84        ?       ?
lshift, rshift          k7/mmx  1.5 (1.90)  k7/mmx  1.75(1.90)  ?       ?

Before I can fix gmp, I need results also for the original Pentium
M, the one with cpuid model number 9.  (I suppose we really need to
check the various older p6 cores too, such as Pentium Pro, Pentium
2, and a 0.18µm Pentium 3.)


More information about the gmp-devel mailing list