From 1e64e78d0c8861580a70c99f42d92e28b9a87af0 Mon Sep 17 00:00:00 2001 From: blueswir1 Date: Sat, 20 Oct 2007 07:07:47 +0000 Subject: [PATCH] Fix compiling Sparc64 on PPC host git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3411 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-sparc/op.c | 3 +++ target-sparc/op_helper.c | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/target-sparc/op.c b/target-sparc/op.c index 80864c3bb..55ea2b9fe 100644 --- a/target-sparc/op.c +++ b/target-sparc/op.c @@ -1711,6 +1711,9 @@ void OPPROTO op_fcmped_fcc3(void) /* Integer to float conversion. */ #ifdef USE_INT_TO_FLOAT_HELPERS F_HELPER(ito); +#ifdef TARGET_SPARC64 +F_HELPER(xto); +#endif #else F_OP(ito, s) { diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c index ab456e30c..460ede249 100644 --- a/target-sparc/op_helper.c +++ b/target-sparc/op_helper.c @@ -69,6 +69,21 @@ void do_fitod(void) { DT0 = int32_to_float64(*((int32_t *)&FT1), &env->fp_status); } +#ifdef TARGET_SPARC64 +void do_fxtos(void) +{ + set_float_exception_flags(0, &env->fp_status); + FT0 = int64_to_float32(*((int64_t *)&DT1), &env->fp_status); + check_ieee_exceptions(); +} + +void do_fxtod(void) +{ + set_float_exception_flags(0, &env->fp_status); + DT0 = int64_to_float64(*((int64_t *)&DT1), &env->fp_status); + check_ieee_exceptions(); +} +#endif #endif void do_fabss(void) -- 2.39.5