1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
   | .globl s1
	.type	s1, @function
s1:
	pushl	%ebp
	movl	%esp, %ebp
	movl	12(%ebp), %ecx
	testl	%ecx, %ecx
	jle	.L9
	movl	8(%ebp), %eax
	fldz
	xorl	%edx, %edx
	.p2align 4,,7
.L5:
	fldt	(%eax)
	addl	$1, %edx
	addl	$12, %eax
	cmpl	%ecx, %edx
	faddp	%st, %st(1)
	jne	.L5
	popl	%ebp
	ret
.L9:
	popl	%ebp
	fldz
	ret
	.size	s1, .-s1
	.p2align 4,,15
.globl s2
	.type	s2, @function
s2:
	pushl	%ebp
	movl	%esp, %ebp
	movl	12(%ebp), %ecx
	movl	8(%ebp), %eax
	testl	%ecx, %ecx
	jle	.L17
	fldz
	xorl	%edx, %edx
	.p2align 4,,7
.L14:
	fldt	(%eax)
	addl	$1, %edx
	addl	$12, %eax
	cmpl	%ecx, %edx
	faddp	%st, %st(1)
	jne	.L14
	popl	%ebp
	ret
.L17:
	popl	%ebp
	fldz
	ret  |