: "+a"(ret),"+c"(n),"+r"(i)
: "=&a"(ret),"+c"(n),"=&r"(i)
BN_ULONG bn_add_words (BN_ULONG *rp, BN_ULONG *ap, BN_ULONG *bp,int n){ BN_ULONG ret=0,i=0;	if (n <= 0) return 0;	asm (	"	subq	%2,%2		\n"	".align 16			\n"	"1:	movq	(%4,%2,8),%0	\n"	"	adcq	(%5,%2,8),%0	\n"	"	movq	%0,(%3,%2,8)	\n"	"	leaq	1(%2),%2	\n"	"	loop	1b		\n"	"	sbbq	%0,%0		\n"		: "+a"(ret),"+c"(n),"+r"(i)		: "r"(rp),"r"(ap),"r"(bp)		: "cc"	);  return ret&1;}