diff options
author | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-10-27 17:54:30 +0000 |
---|---|---|
committer | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-10-27 17:54:30 +0000 |
commit | 7c58044c0ab79f11604f71aa04b4691baacef886 (patch) | |
tree | b8a4f5b7e4ab2ada25ced61c0bd05a5d6a49e3f2 /target-ppc/op_helper.h | |
parent | a32ff1ad95c4f09420c4b5e19dfd86ded0d2bc79 (diff) |
Fix PowerPC FPSCR update and floating-point exception generation
in most useful cases.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3458 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc/op_helper.h')
-rw-r--r-- | target-ppc/op_helper.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/target-ppc/op_helper.h b/target-ppc/op_helper.h index d8b2f252c8..6597b3ca58 100644 --- a/target-ppc/op_helper.h +++ b/target-ppc/op_helper.h @@ -60,7 +60,7 @@ void do_store_cr (uint32_t mask); #if defined(TARGET_PPC64) void do_store_pri (int prio); #endif -void do_load_fpscr (void); +void do_fpscr_setbit (int bit); void do_store_fpscr (uint32_t mask); target_ulong ppc_load_dump_spr (int sprn); void ppc_store_dump_spr (int sprn, target_ulong val); @@ -94,6 +94,16 @@ void do_popcntb_64 (void); #endif /* Floating-point arithmetic helpers */ +void do_compute_fprf (int set_class); +#ifdef CONFIG_SOFTFLOAT +void do_float_check_status (void); +#endif +#if USE_PRECISE_EMULATION +void do_fadd (void); +void do_fsub (void); +void do_fmul (void); +void do_fdiv (void); +#endif void do_fsqrt (void); void do_fre (void); void do_fres (void); @@ -105,6 +115,9 @@ void do_fmsub (void); #endif void do_fnmadd (void); void do_fnmsub (void); +#if USE_PRECISE_EMULATION +void do_frsp (void); +#endif void do_fctiw (void); void do_fctiwz (void); #if defined(TARGET_PPC64) |