| Index: openssl/crypto/bn/asm/co-586-mac.S
 | 
| diff --git a/openssl/crypto/bn/asm/co-586-mac.S b/openssl/crypto/bn/asm/co-586-mac.S
 | 
| deleted file mode 100644
 | 
| index d82fdcbc7d6bbb94835976815d0a538b08042943..0000000000000000000000000000000000000000
 | 
| --- a/openssl/crypto/bn/asm/co-586-mac.S
 | 
| +++ /dev/null
 | 
| @@ -1,1246 +0,0 @@
 | 
| -.file	"crypto/bn/asm/co-586.s"
 | 
| -.text
 | 
| -.globl	_bn_mul_comba8
 | 
| -.align	4
 | 
| -_bn_mul_comba8:
 | 
| -L_bn_mul_comba8_begin:
 | 
| -	pushl	%esi
 | 
| -	movl	12(%esp),%esi
 | 
| -	pushl	%edi
 | 
| -	movl	20(%esp),%edi
 | 
| -	pushl	%ebp
 | 
| -	pushl	%ebx
 | 
| -	xorl	%ebx,%ebx
 | 
| -	movl	(%esi),%eax
 | 
| -	xorl	%ecx,%ecx
 | 
| -	movl	(%edi),%edx
 | 
| -	# ################## Calculate word 0 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# mul a[0]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,(%eax)
 | 
| -	movl	4(%esi),%eax
 | 
| -	# saved r[0] 
 | 
| -	# ################## Calculate word 1 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# mul a[1]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[0]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,4(%eax)
 | 
| -	movl	8(%esi),%eax
 | 
| -	# saved r[1] 
 | 
| -	# ################## Calculate word 2 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# mul a[2]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[1]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[0]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,8(%eax)
 | 
| -	movl	12(%esi),%eax
 | 
| -	# saved r[2] 
 | 
| -	# ################## Calculate word 3 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# mul a[3]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[2]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[1]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[0]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,12(%eax)
 | 
| -	movl	16(%esi),%eax
 | 
| -	# saved r[3] 
 | 
| -	# ################## Calculate word 4 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# mul a[4]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[3]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[2]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[1]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	16(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[0]*b[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,16(%eax)
 | 
| -	movl	20(%esi),%eax
 | 
| -	# saved r[4] 
 | 
| -	# ################## Calculate word 5 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# mul a[5]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[4]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[3]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[2]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	16(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[1]*b[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	20(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[0]*b[5] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,20(%eax)
 | 
| -	movl	24(%esi),%eax
 | 
| -	# saved r[5] 
 | 
| -	# ################## Calculate word 6 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# mul a[6]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[5]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[4]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[3]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	16(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[2]*b[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	20(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[1]*b[5] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	24(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[0]*b[6] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,24(%eax)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[6] 
 | 
| -	# ################## Calculate word 7 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# mul a[7]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[6]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[5]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[4]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	16(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[3]*b[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	20(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[2]*b[5] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	24(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[1]*b[6] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	28(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[0]*b[7] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,28(%eax)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[7] 
 | 
| -	# ################## Calculate word 8 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# mul a[7]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[6]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[5]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	16(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[4]*b[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	20(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[3]*b[5] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	24(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[2]*b[6] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	28(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[1]*b[7] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,32(%eax)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[8] 
 | 
| -	# ################## Calculate word 9 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# mul a[7]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[6]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	16(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[5]*b[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	20(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[4]*b[5] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	24(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[3]*b[6] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	28(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[2]*b[7] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,36(%eax)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[9] 
 | 
| -	# ################## Calculate word 10 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# mul a[7]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	16(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[6]*b[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	20(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[5]*b[5] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	24(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[4]*b[6] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	28(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[3]*b[7] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	16(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,40(%eax)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[10] 
 | 
| -	# ################## Calculate word 11 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# mul a[7]*b[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	20(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[6]*b[5] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	24(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[5]*b[6] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	28(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[4]*b[7] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	20(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,44(%eax)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[11] 
 | 
| -	# ################## Calculate word 12 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# mul a[7]*b[5] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	24(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[6]*b[6] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	28(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[5]*b[7] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	24(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,48(%eax)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[12] 
 | 
| -	# ################## Calculate word 13 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# mul a[7]*b[6] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	28(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[6]*b[7] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	28(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,52(%eax)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[13] 
 | 
| -	# ################## Calculate word 14 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# mul a[7]*b[7] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,56(%eax)
 | 
| -	# saved r[14] 
 | 
| -	# save r[15] 
 | 
| -	movl	%ebx,60(%eax)
 | 
| -	popl	%ebx
 | 
| -	popl	%ebp
 | 
| -	popl	%edi
 | 
| -	popl	%esi
 | 
| -	ret
 | 
| -.globl	_bn_mul_comba4
 | 
| -.align	4
 | 
| -_bn_mul_comba4:
 | 
| -L_bn_mul_comba4_begin:
 | 
| -	pushl	%esi
 | 
| -	movl	12(%esp),%esi
 | 
| -	pushl	%edi
 | 
| -	movl	20(%esp),%edi
 | 
| -	pushl	%ebp
 | 
| -	pushl	%ebx
 | 
| -	xorl	%ebx,%ebx
 | 
| -	movl	(%esi),%eax
 | 
| -	xorl	%ecx,%ecx
 | 
| -	movl	(%edi),%edx
 | 
| -	# ################## Calculate word 0 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# mul a[0]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,(%eax)
 | 
| -	movl	4(%esi),%eax
 | 
| -	# saved r[0] 
 | 
| -	# ################## Calculate word 1 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# mul a[1]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[0]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,4(%eax)
 | 
| -	movl	8(%esi),%eax
 | 
| -	# saved r[1] 
 | 
| -	# ################## Calculate word 2 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# mul a[2]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[1]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[0]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,8(%eax)
 | 
| -	movl	12(%esi),%eax
 | 
| -	# saved r[2] 
 | 
| -	# ################## Calculate word 3 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# mul a[3]*b[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[2]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[1]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	(%esi),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	# mul a[0]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	4(%edi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,12(%eax)
 | 
| -	movl	12(%esi),%eax
 | 
| -	# saved r[3] 
 | 
| -	# ################## Calculate word 4 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# mul a[3]*b[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[2]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	# mul a[1]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ecx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	8(%edi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,16(%eax)
 | 
| -	movl	12(%esi),%eax
 | 
| -	# saved r[4] 
 | 
| -	# ################## Calculate word 5 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# mul a[3]*b[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	# mul a[2]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebp
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	12(%edi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,20(%eax)
 | 
| -	movl	12(%esi),%eax
 | 
| -	# saved r[5] 
 | 
| -	# ################## Calculate word 6 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# mul a[3]*b[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%ebx
 | 
| -	movl	20(%esp),%eax
 | 
| -	adcl	%edx,%ecx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,24(%eax)
 | 
| -	# saved r[6] 
 | 
| -	# save r[7] 
 | 
| -	movl	%ecx,28(%eax)
 | 
| -	popl	%ebx
 | 
| -	popl	%ebp
 | 
| -	popl	%edi
 | 
| -	popl	%esi
 | 
| -	ret
 | 
| -.globl	_bn_sqr_comba8
 | 
| -.align	4
 | 
| -_bn_sqr_comba8:
 | 
| -L_bn_sqr_comba8_begin:
 | 
| -	pushl	%esi
 | 
| -	pushl	%edi
 | 
| -	pushl	%ebp
 | 
| -	pushl	%ebx
 | 
| -	movl	20(%esp),%edi
 | 
| -	movl	24(%esp),%esi
 | 
| -	xorl	%ebx,%ebx
 | 
| -	xorl	%ecx,%ecx
 | 
| -	movl	(%esi),%eax
 | 
| -	# ############### Calculate word 0 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# sqr a[0]*a[0] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	(%esi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,(%edi)
 | 
| -	movl	4(%esi),%eax
 | 
| -	# saved r[0] 
 | 
| -	# ############### Calculate word 1 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# sqr a[1]*a[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,4(%edi)
 | 
| -	movl	(%esi),%edx
 | 
| -	# saved r[1] 
 | 
| -	# ############### Calculate word 2 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# sqr a[2]*a[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	# sqr a[1]*a[1] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	(%esi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,8(%edi)
 | 
| -	movl	12(%esi),%eax
 | 
| -	# saved r[2] 
 | 
| -	# ############### Calculate word 3 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# sqr a[3]*a[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	4(%esi),%edx
 | 
| -	# sqr a[2]*a[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,12(%edi)
 | 
| -	movl	(%esi),%edx
 | 
| -	# saved r[3] 
 | 
| -	# ############### Calculate word 4 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# sqr a[4]*a[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	4(%esi),%edx
 | 
| -	# sqr a[3]*a[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	# sqr a[2]*a[2] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	(%esi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,16(%edi)
 | 
| -	movl	20(%esi),%eax
 | 
| -	# saved r[4] 
 | 
| -	# ############### Calculate word 5 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# sqr a[5]*a[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	4(%esi),%edx
 | 
| -	# sqr a[4]*a[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	8(%esi),%edx
 | 
| -	# sqr a[3]*a[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,20(%edi)
 | 
| -	movl	(%esi),%edx
 | 
| -	# saved r[5] 
 | 
| -	# ############### Calculate word 6 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# sqr a[6]*a[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	4(%esi),%edx
 | 
| -	# sqr a[5]*a[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	8(%esi),%edx
 | 
| -	# sqr a[4]*a[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	# sqr a[3]*a[3] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	(%esi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,24(%edi)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[6] 
 | 
| -	# ############### Calculate word 7 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# sqr a[7]*a[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	4(%esi),%edx
 | 
| -	# sqr a[6]*a[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	8(%esi),%edx
 | 
| -	# sqr a[5]*a[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	12(%esi),%edx
 | 
| -	# sqr a[4]*a[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	28(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,28(%edi)
 | 
| -	movl	4(%esi),%edx
 | 
| -	# saved r[7] 
 | 
| -	# ############### Calculate word 8 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# sqr a[7]*a[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	8(%esi),%edx
 | 
| -	# sqr a[6]*a[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	12(%esi),%edx
 | 
| -	# sqr a[5]*a[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	16(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	# sqr a[4]*a[4] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	8(%esi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,32(%edi)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[8] 
 | 
| -	# ############### Calculate word 9 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# sqr a[7]*a[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	12(%esi),%edx
 | 
| -	# sqr a[6]*a[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	16(%esi),%edx
 | 
| -	# sqr a[5]*a[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	28(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,36(%edi)
 | 
| -	movl	12(%esi),%edx
 | 
| -	# saved r[9] 
 | 
| -	# ############### Calculate word 10 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# sqr a[7]*a[3] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	16(%esi),%edx
 | 
| -	# sqr a[6]*a[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	20(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	# sqr a[5]*a[5] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	16(%esi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,40(%edi)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[10] 
 | 
| -	# ############### Calculate word 11 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# sqr a[7]*a[4] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	20(%esi),%edx
 | 
| -	# sqr a[6]*a[5] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	28(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,44(%edi)
 | 
| -	movl	20(%esi),%edx
 | 
| -	# saved r[11] 
 | 
| -	# ############### Calculate word 12 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# sqr a[7]*a[5] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	24(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	# sqr a[6]*a[6] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	24(%esi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,48(%edi)
 | 
| -	movl	28(%esi),%eax
 | 
| -	# saved r[12] 
 | 
| -	# ############### Calculate word 13 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# sqr a[7]*a[6] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	28(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,52(%edi)
 | 
| -	# saved r[13] 
 | 
| -	# ############### Calculate word 14 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# sqr a[7]*a[7] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,56(%edi)
 | 
| -	# saved r[14] 
 | 
| -	movl	%ebx,60(%edi)
 | 
| -	popl	%ebx
 | 
| -	popl	%ebp
 | 
| -	popl	%edi
 | 
| -	popl	%esi
 | 
| -	ret
 | 
| -.globl	_bn_sqr_comba4
 | 
| -.align	4
 | 
| -_bn_sqr_comba4:
 | 
| -L_bn_sqr_comba4_begin:
 | 
| -	pushl	%esi
 | 
| -	pushl	%edi
 | 
| -	pushl	%ebp
 | 
| -	pushl	%ebx
 | 
| -	movl	20(%esp),%edi
 | 
| -	movl	24(%esp),%esi
 | 
| -	xorl	%ebx,%ebx
 | 
| -	xorl	%ecx,%ecx
 | 
| -	movl	(%esi),%eax
 | 
| -	# ############### Calculate word 0 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# sqr a[0]*a[0] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	(%esi),%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,(%edi)
 | 
| -	movl	4(%esi),%eax
 | 
| -	# saved r[0] 
 | 
| -	# ############### Calculate word 1 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# sqr a[1]*a[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,4(%edi)
 | 
| -	movl	(%esi),%edx
 | 
| -	# saved r[1] 
 | 
| -	# ############### Calculate word 2 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# sqr a[2]*a[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	4(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	# sqr a[1]*a[1] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	(%esi),%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,8(%edi)
 | 
| -	movl	12(%esi),%eax
 | 
| -	# saved r[2] 
 | 
| -	# ############### Calculate word 3 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# sqr a[3]*a[0] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	4(%esi),%edx
 | 
| -	# sqr a[2]*a[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebp
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,12(%edi)
 | 
| -	movl	4(%esi),%edx
 | 
| -	# saved r[3] 
 | 
| -	# ############### Calculate word 4 
 | 
| -	xorl	%ebx,%ebx
 | 
| -	# sqr a[3]*a[1] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	8(%esi),%eax
 | 
| -	adcl	$0,%ebx
 | 
| -	# sqr a[2]*a[2] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ecx
 | 
| -	adcl	%edx,%ebp
 | 
| -	movl	8(%esi),%edx
 | 
| -	adcl	$0,%ebx
 | 
| -	movl	%ecx,16(%edi)
 | 
| -	movl	12(%esi),%eax
 | 
| -	# saved r[4] 
 | 
| -	# ############### Calculate word 5 
 | 
| -	xorl	%ecx,%ecx
 | 
| -	# sqr a[3]*a[2] 
 | 
| -	mull	%edx
 | 
| -	addl	%eax,%eax
 | 
| -	adcl	%edx,%edx
 | 
| -	adcl	$0,%ecx
 | 
| -	addl	%eax,%ebp
 | 
| -	adcl	%edx,%ebx
 | 
| -	movl	12(%esi),%eax
 | 
| -	adcl	$0,%ecx
 | 
| -	movl	%ebp,20(%edi)
 | 
| -	# saved r[5] 
 | 
| -	# ############### Calculate word 6 
 | 
| -	xorl	%ebp,%ebp
 | 
| -	# sqr a[3]*a[3] 
 | 
| -	mull	%eax
 | 
| -	addl	%eax,%ebx
 | 
| -	adcl	%edx,%ecx
 | 
| -	adcl	$0,%ebp
 | 
| -	movl	%ebx,24(%edi)
 | 
| -	# saved r[6] 
 | 
| -	movl	%ecx,28(%edi)
 | 
| -	popl	%ebx
 | 
| -	popl	%ebp
 | 
| -	popl	%edi
 | 
| -	popl	%esi
 | 
| -	ret
 | 
| 
 |