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