Commit 1e64e78d0c8861580a70c99f42d92e28b9a87af0
1 parent
f85e9a68
Fix compiling Sparc64 on PPC host
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3411 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
2 changed files
with
18 additions
and
0 deletions
target-sparc/op.c
| @@ -1711,6 +1711,9 @@ void OPPROTO op_fcmped_fcc3(void) | @@ -1711,6 +1711,9 @@ void OPPROTO op_fcmped_fcc3(void) | ||
| 1711 | /* Integer to float conversion. */ | 1711 | /* Integer to float conversion. */ |
| 1712 | #ifdef USE_INT_TO_FLOAT_HELPERS | 1712 | #ifdef USE_INT_TO_FLOAT_HELPERS |
| 1713 | F_HELPER(ito); | 1713 | F_HELPER(ito); |
| 1714 | +#ifdef TARGET_SPARC64 | ||
| 1715 | +F_HELPER(xto); | ||
| 1716 | +#endif | ||
| 1714 | #else | 1717 | #else |
| 1715 | F_OP(ito, s) | 1718 | F_OP(ito, s) |
| 1716 | { | 1719 | { |
target-sparc/op_helper.c
| @@ -69,6 +69,21 @@ void do_fitod(void) | @@ -69,6 +69,21 @@ void do_fitod(void) | ||
| 69 | { | 69 | { |
| 70 | DT0 = int32_to_float64(*((int32_t *)&FT1), &env->fp_status); | 70 | DT0 = int32_to_float64(*((int32_t *)&FT1), &env->fp_status); |
| 71 | } | 71 | } |
| 72 | +#ifdef TARGET_SPARC64 | ||
| 73 | +void do_fxtos(void) | ||
| 74 | +{ | ||
| 75 | + set_float_exception_flags(0, &env->fp_status); | ||
| 76 | + FT0 = int64_to_float32(*((int64_t *)&DT1), &env->fp_status); | ||
| 77 | + check_ieee_exceptions(); | ||
| 78 | +} | ||
| 79 | + | ||
| 80 | +void do_fxtod(void) | ||
| 81 | +{ | ||
| 82 | + set_float_exception_flags(0, &env->fp_status); | ||
| 83 | + DT0 = int64_to_float64(*((int64_t *)&DT1), &env->fp_status); | ||
| 84 | + check_ieee_exceptions(); | ||
| 85 | +} | ||
| 86 | +#endif | ||
| 72 | #endif | 87 | #endif |
| 73 | 88 | ||
| 74 | void do_fabss(void) | 89 | void do_fabss(void) |