diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-05-12 19:10:44 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-05-12 19:10:44 +0000 |
commit | 19e6c4b8bc0d692cd31900657714102a418f75e7 (patch) | |
tree | 4f8a674c11b3a30edc6e64bfa93485fbb8837b8d /target-i386/helper.h | |
parent | 4da450e6167830c88225915eb7e75b582b634215 (diff) | |
download | qemu-19e6c4b8bc0d692cd31900657714102a418f75e7.zip qemu-19e6c4b8bc0d692cd31900657714102a418f75e7.tar.gz qemu-19e6c4b8bc0d692cd31900657714102a418f75e7.tar.bz2 |
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.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/target-i386/helper.h b/target-i386/helper.h index bc06fa3..4371c83 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); |