This source file includes following definitions.
- fadd__
- fmul__
- fsub__
- fsubr_
- fdiv__
- fdivr_
- fadd_i
- fmul_i
- fsubri
- fsub_i
- fdivri
- fdiv_i
- faddp_
- fmulp_
- fsubrp
- fsubp_
- fdivrp
- fdivp_
1
2
3
4
5
6
7
8
9
10
11
12
13 #include "fpu_system.h"
14 #include "fpu_emu.h"
15 #include "control_w.h"
16
17
18 void fadd__()
19 {
20
21 reg_add(FPU_st0_ptr, &st(FPU_rm), FPU_st0_ptr);
22 PRECISION_ADJUST(FPU_st0_ptr);
23 }
24
25
26 void fmul__()
27 {
28
29 reg_mul(FPU_st0_ptr, &st(FPU_rm), FPU_st0_ptr);
30 PRECISION_ADJUST(FPU_st0_ptr);
31 }
32
33
34
35 void fsub__()
36 {
37
38 reg_sub(FPU_st0_ptr, &st(FPU_rm), FPU_st0_ptr);
39 PRECISION_ADJUST(FPU_st0_ptr);
40 }
41
42
43 void fsubr_()
44 {
45
46 reg_sub(&st(FPU_rm), FPU_st0_ptr, FPU_st0_ptr);
47 PRECISION_ADJUST(FPU_st0_ptr);
48 }
49
50
51 void fdiv__()
52 {
53
54 reg_div(FPU_st0_ptr, &st(FPU_rm), FPU_st0_ptr);
55 PRECISION_ADJUST(FPU_st0_ptr);
56 }
57
58
59 void fdivr_()
60 {
61
62 reg_div(&st(FPU_rm), FPU_st0_ptr, FPU_st0_ptr);
63 PRECISION_ADJUST(FPU_st0_ptr);
64 }
65
66
67
68 void fadd_i()
69 {
70
71 reg_add(FPU_st0_ptr, &st(FPU_rm), &st(FPU_rm));
72 PRECISION_ADJUST(&st(FPU_rm));
73 }
74
75
76 void fmul_i()
77 {
78
79 reg_mul(&st(FPU_rm), FPU_st0_ptr, &st(FPU_rm));
80 PRECISION_ADJUST(&st(FPU_rm));
81 }
82
83
84 void fsubri()
85 {
86
87
88
89 reg_sub(FPU_st0_ptr, &st(FPU_rm), &st(FPU_rm));
90 PRECISION_ADJUST(&st(FPU_rm));
91 }
92
93
94 void fsub_i()
95 {
96
97
98
99 reg_sub(&st(FPU_rm), FPU_st0_ptr, &st(FPU_rm));
100 PRECISION_ADJUST(&st(FPU_rm));
101 }
102
103
104 void fdivri()
105 {
106
107 reg_div(FPU_st0_ptr, &st(FPU_rm), &st(FPU_rm));
108 PRECISION_ADJUST(&st(FPU_rm));
109 }
110
111
112 void fdiv_i()
113 {
114
115 reg_div(&st(FPU_rm), FPU_st0_ptr, &st(FPU_rm));
116 PRECISION_ADJUST(&st(FPU_rm));
117 }
118
119
120
121 void faddp_()
122 {
123
124 reg_add(FPU_st0_ptr, &st(FPU_rm), &st(FPU_rm));
125 PRECISION_ADJUST(&st(FPU_rm));
126 pop();
127 }
128
129
130 void fmulp_()
131 {
132
133 reg_mul(&st(FPU_rm), FPU_st0_ptr, &st(FPU_rm));
134 PRECISION_ADJUST(&st(FPU_rm));
135 pop();
136 }
137
138
139
140 void fsubrp()
141 {
142
143
144
145 reg_sub(FPU_st0_ptr, &st(FPU_rm), &st(FPU_rm));
146 PRECISION_ADJUST(&st(FPU_rm));
147 pop();
148 }
149
150
151 void fsubp_()
152 {
153
154
155
156 reg_sub(&st(FPU_rm), FPU_st0_ptr, &st(FPU_rm));
157 PRECISION_ADJUST(&st(FPU_rm));
158 pop();
159 }
160
161
162 void fdivrp()
163 {
164
165 reg_div(FPU_st0_ptr, &st(FPU_rm), &st(FPU_rm));
166 PRECISION_ADJUST(&st(FPU_rm));
167 pop();
168 }
169
170
171 void fdivp_()
172 {
173
174 reg_div(&st(FPU_rm), FPU_st0_ptr, &st(FPU_rm));
175 PRECISION_ADJUST(&st(FPU_rm));
176 pop();
177 }
178