C implementation of mod_1_1

Marc Glisse marc.glisse at inria.fr
Tue Mar 1 12:44:17 CET 2011

On Tue, 1 Mar 2011, Torbjorn Granlund wrote:

>  I might try to write add_mssaaaa for sparc32 and sparc64 (sparc is the
>  only "obscure" architecture which both I and GMP understand to some
>  extent.
> sparc32 should be piece of cake, sparc64 lacks a carry-generating insn,
> making it somewhat hairy.  The asm code uses two approaches, one makes
> use of a logical formula on the sign bits, the other (see
> mpn/sparc64/ultrasparct1/add_n.asm) does some tricks using 32-bit and
> 64-bit addition operations.

Before the sparc T3 was out (it has been available for a few months now), 
they announced that it had a proper add with carry, mulhi, and the 
multiplications were fully pipelined. I haven't had a chance to check that 
in the doc since then (not sure they even published one...), I only saw it 
there (page 7):

Fujitsu's recent sparc64 are supposed to have an integer FMA that works on 
FPU registers.

(just mentioning those)

Marc Glisse

More information about the gmp-devel mailing list