c++ patch

Torbjorn Granlund tege at swox.com
Tue May 23 14:39:30 CEST 2006

Marc Glisse <marc.glisse at normalesup.org> writes:

  The comments in the sparc* subdirectories only mention ultrasparc 1-3. If 
  you looked at an ultrasparc IV+ and concluded it was similar enough to III 
  that there was not much possible improvement in the assembly used, it 
  would be nice to add a comment somewhere that says exactly that.
Keeping up all comments in mpn/* files is difficult, and therefore it
is not a safe source of information on hardware.  I fix obsolete stuff
as I stumble over it, not proactively.

About sparcs, this is true from a technical standpoint:

Ultrasparc 1 == Ultrasparc 2.
Ultrasparc 3 == Ultrasparc 4.

That Sun decided to invent new names, has more with marketing to do
than with anything else.

  > I know the ultrasparc T1 isn't too happy with the floating-point
  > addmul_1 and addmul_2, but I doubt anything else would be much faster.
  Using the FPU is not only very slow on that machine, it also paralyses 4 
  cores. It may even be more efficient to use soft floats... If someone 
  really wanted to test gmp on that machine, I believe the way to go would 
  be to compile a version of gmp that does not use the FPU at all, and then 
  run 100 gmpbench in parallel. It is still not exactly what that machine is 
  for, but is already closer than measuring single thread FPU performance.
If I get the time, I'll reorganize the mpn/sparc64 code, making an
ultrasparc1234 subdirectory with the various addmul_x and mul_x and
submul_1 files.  Then instruct configure to choose that just of these
chips, and not for ultrasparct[12].

Does mulx work reasonably on ultrasparc t1?  Or does that stall other
processors too?  How about the disks, will they continue to spin...?


More information about the gmp-bugs mailing list