[BACK]Return to sparc.c-cc CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2018 / asm

File: [local] / OpenXM_contrib2 / asir2018 / asm / sparc.c-cc (download)

Revision 1.1, Wed Sep 19 05:45:05 2018 UTC (5 years, 6 months ago) by noro
Branch: MAIN
CVS Tags: HEAD

Added asir2018 for implementing full-gmp asir.

/* OpenXM */
addpadic(mod,n,n1,n2)
register int mod;
int n;
register int *n1,*n2;
{
	register int i,carry,tmp;

	for ( i = 0, carry = 0; i < n; i++,n1++,n2++ ) {
		asm("	ld	[%i2],%o0	");
		asm("	ld	[%i3],%l7	");
		asm("	add	%o0,%l7,%l7	");
		asm("	add	%l7,%i4,%l7	");
		asm("	mov	%i0,%o1	");
		asm("	call	.udr,2	");
		asm("	mov	%l7,%o0	");

		asm("	mov	%o1,%i4	");
		asm("	st	%o0,[%i3]	");
		/*
		tmp = *n1 + *n2 + carry;
		carry = tmp / mod;
		*n2 = tmp - ( carry * mod );
		*/
	}
}