summaryrefslogblamecommitdiff
path: root/src/math/i386/sqrt.s
blob: 57837e256889a9abfd5762ed85ff69f5c37518b7 (plain) (tree)
1
2
3
4
5
            
                    

                    
                  














                       
           
.global sqrt
.type sqrt,@function
sqrt:	fldl 4(%esp)
	fsqrt
	fnstsw %ax
	sub $12,%esp
	fld %st(0)
	fstpt (%esp)
	mov (%esp),%ecx
	and $0x7ff,%ecx
	cmp $0x400,%ecx
	jnz 1f
	and $0x200,%eax
	sub $0x100,%eax
	sub %eax,(%esp)
	fstp %st(0)
	fldt (%esp)
1:	add $12,%esp
	fstpl 4(%esp)
	fldl 4(%esp)
	ret