floor.s raw
1 .global floorf
2 .type floorf,@function
3 floorf:
4 flds 4(%esp)
5 jmp 1f
6
7 .global floorl
8 .type floorl,@function
9 floorl:
10 fldt 4(%esp)
11 jmp 1f
12
13 .global floor
14 .type floor,@function
15 floor:
16 fldl 4(%esp)
17 1: mov $0x7,%al
18 1: fstcw 4(%esp)
19 mov 5(%esp),%ah
20 mov %al,5(%esp)
21 fldcw 4(%esp)
22 frndint
23 mov %ah,5(%esp)
24 fldcw 4(%esp)
25 ret
26
27 .global ceil
28 .type ceil,@function
29 ceil:
30 fldl 4(%esp)
31 mov $0xb,%al
32 jmp 1b
33
34 .global ceilf
35 .type ceilf,@function
36 ceilf:
37 flds 4(%esp)
38 mov $0xb,%al
39 jmp 1b
40
41 .global ceill
42 .type ceill,@function
43 ceill:
44 fldt 4(%esp)
45 mov $0xb,%al
46 jmp 1b
47
48 .global trunc
49 .type trunc,@function
50 trunc:
51 fldl 4(%esp)
52 mov $0xf,%al
53 jmp 1b
54
55 .global truncf
56 .type truncf,@function
57 truncf:
58 flds 4(%esp)
59 mov $0xf,%al
60 jmp 1b
61
62 .global truncl
63 .type truncl,@function
64 truncl:
65 fldt 4(%esp)
66 mov $0xf,%al
67 jmp 1b
68