add .gitignore file
[musl] / src / math / i386 / s_trunc.s
1 .global ceilf
2 .type ceilf,@function
3 ceilf:  flds 4(%esp)
4         jmp 1f
5         
6 .global ceil
7 .type ceil,@function
8 ceil:   fldl 4(%esp)
9 1:      mov $0x08fb,%edx
10         jmp 0f
11
12 .global floorf
13 .type floorf,@function
14 floorf: flds 4(%esp)
15         jmp 1f
16
17 .global floor
18 .type floor,@function
19 floor:  fldl 4(%esp)
20 1:      mov $0x04f7,%edx
21         jmp 0f
22
23 .global truncf
24 .type truncf,@function
25 truncf: flds 4(%esp)
26         jmp 1f
27
28 .global trunc
29 .type trunc,@function
30 trunc:  fldl 4(%esp)
31 1:      mov $0x0cff,%edx
32
33 0:      fstcw 4(%esp)
34         mov 5(%esp),%ah
35         or %dh,%ah
36         and %dl,%ah
37         xchg %ah,5(%esp)
38         fldcw 4(%esp)
39         frndint
40         mov %ah,5(%esp)
41         fldcw 4(%esp)
42         ret