Revision 82b323cd
b/target-ppc/op_helper.c | ||
---|---|---|
1902 | 1902 |
/* If X is a NaN, store the corresponding QNaN into RESULT. Otherwise, |
1903 | 1903 |
* execute the following block. */ |
1904 | 1904 |
#define DO_HANDLE_NAN(result, x) \ |
1905 |
if (float32_is_quiet_nan(x) || float32_is_signaling_nan(x)) { \
|
|
1905 |
if (float32_is_any_nan(x)) { \
|
|
1906 | 1906 |
CPU_FloatU __f; \ |
1907 | 1907 |
__f.f = x; \ |
1908 | 1908 |
__f.l = __f.l | (1 << 22); /* Set QNaN bit. */ \ |
... | ... | |
2247 | 2247 |
float_status s = env->vec_status; \ |
2248 | 2248 |
set_float_rounding_mode(float_round_to_zero, &s); \ |
2249 | 2249 |
for (i = 0; i < ARRAY_SIZE(r->f); i++) { \ |
2250 |
if (float32_is_quiet_nan(b->f[i]) || \ |
|
2251 |
float32_is_signaling_nan(b->f[i])) { \ |
|
2250 |
if (float32_is_any_nan(b->f[i])) { \ |
|
2252 | 2251 |
r->element[i] = 0; \ |
2253 | 2252 |
} else { \ |
2254 | 2253 |
float64 t = float32_to_float64(b->f[i], &s); \ |
Also available in: Unified diff