David Miller <da...@davemloft.net> writes: From: Torbjorn Granlund <t...@gmplib.org> Date: Tue, 05 Mar 2013 23:27:45 +0100 > David Miller <da...@davemloft.net> writes: > > diff --git a/mpn/sparc64/ultrasparct3/mul_1.asm b/mpn/sparc64/ultrasparct3/mul_1.asm > index df52647..6a3f193 100644 > --- a/mpn/sparc64/ultrasparct3/mul_1.asm > +++ b/mpn/sparc64/ultrasparct3/mul_1.asm > @@ -50,8 +50,7 @@ L(top): > umulxhi %o4, v0, %o4 > addcc %o5, %g3, %g3 > stx %g3, [rp-16] > - addxc %g0, %g2, %o5 > - addcc %o5, %g1, %g1 > + addxccc %g2, %g1, %g1 > addxc %g0, %o4, %o5 > brgz n, L(top) > stx %g1, [rp-8] > > You should keep carry alive around the loop. Both "addxc g0" should be > removed. Then you'll need to use addxccc after final_one. Yes, that's the next level of simpifying this, I'll play with that after my commute home. This should have the right instructions. Scheduling might be needed. Obviously untested.
mul_1.asm
Description: Binary data
-- Torbjörn
_______________________________________________ gmp-devel mailing list gmp-devel@gmplib.org http://gmplib.org/mailman/listinfo/gmp-devel