Rich Felker | 0b70a1e | 2012-03-19 05:42:04 -0400 | [diff] [blame] | 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 |