[PATCH] Optimize 32-bit sparc T1 multiply routines.

Torbjorn Granlund tg at gmplib.org
Wed Jan 9 11:30:17 CET 2013


David Miller <davem at davemloft.net> writes:

  BTW I noticed the following while researching and working on this
  T4 stuff:
  
  http://download.intel.com/embedded/processor/whitepaper/327831.pdf
  
  Note that there are no subtract equivalents being added of these new
  add-with-carry instructions.
  
Yep, I know and I have complained loudly to my Intel contacts.

  I have also meanwhile spoken to some sparc chip folks and they made it
  clear that they consider having not added subxccc a mistake and a bug
  just like we do, and they will rectify this in a future cpu.
  
Explain them that insn asymmtry is almost always bad.  Look at the
really symmetric ARM, they have cmp and cmn, "subtractive" and
"additive" comparison.  With optimisations in compilers, things get
mixed up so that these are about as common.

SPARC is kind-of the antithesis of ARM, with a quickly designed
instruction set.  It is the Intel of the CISC arena...

(I love to hate things like "add r,simm,r" vs "sub r,simm,r".  I use add
with negated constant for subtraction, and sub with negated constant,
since that gives larger range.  They should of course have defined this
as r = simm + r and r = simm - r (or alternatively used an unsigned
constant here)!  The logic operations have the same problem.)

-- 
Torbjörn


More information about the gmp-devel mailing list