summaryrefslogtreecommitdiff
path: root/target-i386/helper.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-12 19:10:44 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2008-05-12 19:10:44 +0000
commit19e6c4b8bc0d692cd31900657714102a418f75e7 (patch)
tree4f8a674c11b3a30edc6e64bfa93485fbb8837b8d /target-i386/helper.h
parent4da450e6167830c88225915eb7e75b582b634215 (diff)
downloadqemu-19e6c4b8bc0d692cd31900657714102a418f75e7.tar.gz
converted x87 FPU ops to TCG
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4444 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386/helper.h')
-rw-r--r--target-i386/helper.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/target-i386/helper.h b/target-i386/helper.h
index bc06fa3a8b..4371c8378e 100644
--- a/target-i386/helper.h
+++ b/target-i386/helper.h
@@ -2,6 +2,95 @@
void TCG_HELPER_PROTO helper_divl_EAX_T0(target_ulong t0);
void TCG_HELPER_PROTO helper_idivl_EAX_T0(target_ulong t0);
+
+/* x86 FPU */
+
+void helper_flds_FT0(uint32_t val);
+void helper_fldl_FT0(uint64_t val);
+void helper_fildl_FT0(int32_t val);
+void helper_flds_ST0(uint32_t val);
+void helper_fldl_ST0(uint64_t val);
+void helper_fildl_ST0(int32_t val);
+void helper_fildll_ST0(int64_t val);
+uint32_t helper_fsts_ST0(void);
+uint64_t helper_fstl_ST0(void);
+int32_t helper_fist_ST0(void);
+int32_t helper_fistl_ST0(void);
+int64_t helper_fistll_ST0(void);
+int32_t helper_fistt_ST0(void);
+int32_t helper_fisttl_ST0(void);
+int64_t helper_fisttll_ST0(void);
+void helper_fldt_ST0(target_ulong ptr);
+void helper_fstt_ST0(target_ulong ptr);
+void helper_fpush(void);
+void helper_fpop(void);
+void helper_fdecstp(void);
+void helper_fincstp(void);
+void helper_ffree_STN(int st_index);
+void helper_fmov_ST0_FT0(void);
+void helper_fmov_FT0_STN(int st_index);
+void helper_fmov_ST0_STN(int st_index);
+void helper_fmov_STN_ST0(int st_index);
+void helper_fxchg_ST0_STN(int st_index);
+void helper_fcom_ST0_FT0(void);
+void helper_fucom_ST0_FT0(void);
+void helper_fcomi_ST0_FT0(void);
+void helper_fucomi_ST0_FT0(void);
+void helper_fadd_ST0_FT0(void);
+void helper_fmul_ST0_FT0(void);
+void helper_fsub_ST0_FT0(void);
+void helper_fsubr_ST0_FT0(void);
+void helper_fdiv_ST0_FT0(void);
+void helper_fdivr_ST0_FT0(void);
+void helper_fadd_STN_ST0(int st_index);
+void helper_fmul_STN_ST0(int st_index);
+void helper_fsub_STN_ST0(int st_index);
+void helper_fsubr_STN_ST0(int st_index);
+void helper_fdiv_STN_ST0(int st_index);
+void helper_fdivr_STN_ST0(int st_index);
+void helper_fchs_ST0(void);
+void helper_fabs_ST0(void);
+void helper_fxam_ST0(void);
+void helper_fld1_ST0(void);
+void helper_fldl2t_ST0(void);
+void helper_fldl2e_ST0(void);
+void helper_fldpi_ST0(void);
+void helper_fldlg2_ST0(void);
+void helper_fldln2_ST0(void);
+void helper_fldz_ST0(void);
+void helper_fldz_FT0(void);
+uint32_t helper_fnstsw(void);
+uint32_t helper_fnstcw(void);
+void helper_fldcw(uint32_t val);
+void helper_fclex(void);
+void helper_fwait(void);
+void helper_fninit(void);
+void helper_fbld_ST0(target_ulong ptr);
+void helper_fbst_ST0(target_ulong ptr);
+void helper_f2xm1(void);
+void helper_fyl2x(void);
+void helper_fptan(void);
+void helper_fpatan(void);
+void helper_fxtract(void);
+void helper_fprem1(void);
+void helper_fprem(void);
+void helper_fyl2xp1(void);
+void helper_fsqrt(void);
+void helper_fsincos(void);
+void helper_frndint(void);
+void helper_fscale(void);
+void helper_fsin(void);
+void helper_fcos(void);
+void helper_fxam_ST0(void);
+void helper_fstenv(target_ulong ptr, int data32);
+void helper_fldenv(target_ulong ptr, int data32);
+void helper_fsave(target_ulong ptr, int data32);
+void helper_frstor(target_ulong ptr, int data32);
+void helper_fxsave(target_ulong ptr, int data64);
+void helper_fxrstor(target_ulong ptr, int data64);
+
+/* MMX/SSE */
+
void TCG_HELPER_PROTO helper_enter_mmx(void);
void TCG_HELPER_PROTO helper_emms(void);
void TCG_HELPER_PROTO helper_movq(uint64_t *d, uint64_t *s);