aboutsummaryrefslogtreecommitdiff
path: root/target-ppc/op_helper.h
diff options
context:
space:
mode:
authorj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-27 17:54:30 +0000
committerj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-27 17:54:30 +0000
commit7c58044c0ab79f11604f71aa04b4691baacef886 (patch)
treeb8a4f5b7e4ab2ada25ced61c0bd05a5d6a49e3f2 /target-ppc/op_helper.h
parenta32ff1ad95c4f09420c4b5e19dfd86ded0d2bc79 (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.h15
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)