Revision be1c17c7
b/target-i386/exec.h | ||
---|---|---|
115 | 115 |
#define floatx_sub floatx80_sub |
116 | 116 |
#define floatx_abs floatx80_abs |
117 | 117 |
#define floatx_chs floatx80_chs |
118 |
#define floatx_scalbn floatx80_scalbn |
|
118 | 119 |
#define floatx_round_to_int floatx80_round_to_int |
119 | 120 |
#define floatx_compare floatx80_compare |
120 | 121 |
#define floatx_compare_quiet floatx80_compare_quiet |
122 |
#define floatx_is_any_nan floatx80_is_any_nan |
|
121 | 123 |
#else |
122 | 124 |
#define floatx_to_int32 float64_to_int32 |
123 | 125 |
#define floatx_to_int64 float64_to_int64 |
... | ... | |
134 | 136 |
#define floatx_sub float64_sub |
135 | 137 |
#define floatx_abs float64_abs |
136 | 138 |
#define floatx_chs float64_chs |
139 |
#define floatx_scalbn float64_scalbn |
|
137 | 140 |
#define floatx_round_to_int float64_round_to_int |
138 | 141 |
#define floatx_compare float64_compare |
139 | 142 |
#define floatx_compare_quiet float64_compare_quiet |
143 |
#define floatx_is_any_nan float64_is_any_nan |
|
140 | 144 |
#endif |
141 | 145 |
|
142 | 146 |
#define RC_MASK 0xc00 |
b/target-i386/op_helper.c | ||
---|---|---|
4174 | 4174 |
|
4175 | 4175 |
void helper_fscale(void) |
4176 | 4176 |
{ |
4177 |
ST0 = ldexp (ST0, (int)(ST1)); |
|
4177 |
if (floatx_is_any_nan(ST1)) { |
|
4178 |
ST0 = ST1; |
|
4179 |
} else { |
|
4180 |
int n = floatx_to_int32_round_to_zero(ST1, &env->fp_status); |
|
4181 |
ST0 = floatx_scalbn(ST0, n, &env->fp_status); |
|
4182 |
} |
|
4178 | 4183 |
} |
4179 | 4184 |
|
4180 | 4185 |
void helper_fsin(void) |
Also available in: Unified diff