T3/T3 mul_2 and addmul_2

Torbjorn Granlund tg at gmplib.org
Fri Mar 8 13:41:01 CET 2013


David Miller <davem at davemloft.net> writes:

  From: Torbjorn Granlund <tg at gmplib.org>
  Date: Thu, 07 Mar 2013 20:58:51 +0100
  
  > I'm reasonably sure this is correct.
  
  Needs some work still:
  
It was a one character bug in the non-emulation stuff.  This is also in
the smaller checked in version (there combined into aormul_2):

This change in needed in all files:

*** /home/tege/asm-workshop/.~/ultrasparct4-mul_2.asm.~1~	Fri Mar  8 13:09:20 2013
--- /home/tege/asm-workshop/ultrasparct4-mul_2.asm	Fri Mar  8 13:36:30 2013
***************
*** 38,44 ****
  ifdef(`FAKE_T3',`
    include(`missing.m4')
  ',`
!   define(`addxccc',	``addxcc'	 $1, $2, $3')
    define(`addxc',	``addxc'	$1, $2, $3')
    define(`umulxhi',	``umulxhi'	$1, $2, $3')
  ')
--- 38,44 ----
  ifdef(`FAKE_T3',`
    include(`missing.m4')
  ',`
!   define(`addxccc',	``addxccc'	$1, $2, $3')
    define(`addxc',	``addxc'	$1, $2, $3')
    define(`umulxhi',	``umulxhi'	$1, $2, $3')
  ')

This took time to track down...

I reverted to the version I sent you, then tested your operands, as will
as a trillion other operands.  The code works perfectly with my
emulation of the umulxhi, addxc, and addxccc...

Then I re-read the documentation, ad stared at the *mul_2 code as well
as the emulation code.  All looked good.

-- 
Torbjörn


More information about the gmp-devel mailing list