1/*
2 * Public domain.
3 */
4
5#include <machine/asm.h>
6#include <libm-alias-finite.h>
7
8ENTRY(__ieee754_sqrt)
9 fldl 4(%esp)
10 subl $8, %esp
11 cfi_adjust_cfa_offset (8)
12 fstcw 4(%esp)
13 movl $0xfeff, %edx
14 andl 4(%esp), %edx
15 movl %edx, (%esp)
16 fldcw (%esp)
17 fsqrt
18 fldcw 4(%esp)
19 addl $8, %esp
20 cfi_adjust_cfa_offset (-8)
21 ret
22END (__ieee754_sqrt)
23libm_alias_finite (__ieee754_sqrt, __sqrt)
24

source code of glibc/sysdeps/i386/fpu/e_sqrt.S