00001 #include "def-helper.h"
00002
00003 DEF_HELPER_FLAGS_1(cc_compute_all, TCG_CALL_PURE, i32, int)
00004 DEF_HELPER_FLAGS_1(cc_compute_c, TCG_CALL_PURE, i32, int)
00005
00006 DEF_HELPER_0(lock, void)
00007 DEF_HELPER_0(unlock, void)
00008 DEF_HELPER_2(write_eflags, void, tl, i32)
00009 DEF_HELPER_0(read_eflags, tl)
00010 DEF_HELPER_1(divb_AL, void, tl)
00011 DEF_HELPER_1(idivb_AL, void, tl)
00012 DEF_HELPER_1(divw_AX, void, tl)
00013 DEF_HELPER_1(idivw_AX, void, tl)
00014 DEF_HELPER_1(divl_EAX, void, tl)
00015 DEF_HELPER_1(idivl_EAX, void, tl)
00016 #ifdef TARGET_X86_64
00017 DEF_HELPER_1(mulq_EAX_T0, void, tl)
00018 DEF_HELPER_1(imulq_EAX_T0, void, tl)
00019 DEF_HELPER_2(imulq_T0_T1, tl, tl, tl)
00020 DEF_HELPER_1(divq_EAX, void, tl)
00021 DEF_HELPER_1(idivq_EAX, void, tl)
00022 #endif
00023
00024 DEF_HELPER_1(aam, void, int)
00025 DEF_HELPER_1(aad, void, int)
00026 DEF_HELPER_0(aaa, void)
00027 DEF_HELPER_0(aas, void)
00028 DEF_HELPER_0(daa, void)
00029 DEF_HELPER_0(das, void)
00030
00031 DEF_HELPER_1(lsl, tl, tl)
00032 DEF_HELPER_1(lar, tl, tl)
00033 DEF_HELPER_1(verr, void, tl)
00034 DEF_HELPER_1(verw, void, tl)
00035 DEF_HELPER_1(lldt, void, int)
00036 DEF_HELPER_1(ltr, void, int)
00037 DEF_HELPER_2(load_seg, void, int, int)
00038 DEF_HELPER_3(ljmp_protected, void, int, tl, int)
00039 DEF_HELPER_4(lcall_real, void, int, tl, int, int)
00040 DEF_HELPER_4(lcall_protected, void, int, tl, int, int)
00041 DEF_HELPER_1(iret_real, void, int)
00042 DEF_HELPER_2(iret_protected, void, int, int)
00043 DEF_HELPER_2(lret_protected, void, int, int)
00044 DEF_HELPER_1(read_crN, tl, int)
00045 DEF_HELPER_2(write_crN, void, int, tl)
00046 DEF_HELPER_1(lmsw, void, tl)
00047 DEF_HELPER_0(clts, void)
00048 DEF_HELPER_2(movl_drN_T0, void, int, tl)
00049 DEF_HELPER_1(invlpg, void, tl)
00050
00051 DEF_HELPER_3(enter_level, void, int, int, tl)
00052 #ifdef TARGET_X86_64
00053 DEF_HELPER_3(enter64_level, void, int, int, tl)
00054 #endif
00055 DEF_HELPER_0(sysenter, void)
00056 DEF_HELPER_1(sysexit, void, int)
00057 #ifdef TARGET_X86_64
00058 DEF_HELPER_1(syscall, void, int)
00059 DEF_HELPER_1(sysret, void, int)
00060 #endif
00061 DEF_HELPER_1(hlt, void, int)
00062 DEF_HELPER_1(monitor, void, tl)
00063 DEF_HELPER_1(mwait, void, int)
00064 DEF_HELPER_0(debug, void)
00065 DEF_HELPER_2(raise_interrupt, void, int, int)
00066 DEF_HELPER_1(raise_exception, void, int)
00067 DEF_HELPER_0(cli, void)
00068 DEF_HELPER_0(sti, void)
00069 DEF_HELPER_0(set_inhibit_irq, void)
00070 DEF_HELPER_0(reset_inhibit_irq, void)
00071 DEF_HELPER_2(boundw, void, tl, int)
00072 DEF_HELPER_2(boundl, void, tl, int)
00073 DEF_HELPER_0(rsm, void)
00074 DEF_HELPER_1(into, void, int)
00075 DEF_HELPER_1(cmpxchg8b, void, tl)
00076 #ifdef TARGET_X86_64
00077 DEF_HELPER_1(cmpxchg16b, void, tl)
00078 #endif
00079 DEF_HELPER_0(single_step, void)
00080 DEF_HELPER_0(cpuid, void)
00081 DEF_HELPER_0(rdtsc, void)
00082 DEF_HELPER_0(rdpmc, void)
00083 DEF_HELPER_0(rdmsr, void)
00084 DEF_HELPER_0(wrmsr, void)
00085
00086 DEF_HELPER_1(check_iob, void, i32)
00087 DEF_HELPER_1(check_iow, void, i32)
00088 DEF_HELPER_1(check_iol, void, i32)
00089 DEF_HELPER_2(outb, void, i32, i32)
00090 DEF_HELPER_1(inb, tl, i32)
00091 DEF_HELPER_2(outw, void, i32, i32)
00092 DEF_HELPER_1(inw, tl, i32)
00093 DEF_HELPER_2(outl, void, i32, i32)
00094 DEF_HELPER_1(inl, tl, i32)
00095
00096 DEF_HELPER_2(svm_check_intercept_param, void, i32, i64)
00097 DEF_HELPER_2(vmexit, void, i32, i64)
00098 DEF_HELPER_3(svm_check_io, void, i32, i32, i32)
00099 DEF_HELPER_2(vmrun, void, int, int)
00100 DEF_HELPER_0(vmmcall, void)
00101 DEF_HELPER_1(vmload, void, int)
00102 DEF_HELPER_1(vmsave, void, int)
00103 DEF_HELPER_0(stgi, void)
00104 DEF_HELPER_0(clgi, void)
00105 DEF_HELPER_0(skinit, void)
00106 DEF_HELPER_1(invlpga, void, int)
00107
00108
00109
00110 DEF_HELPER_1(flds_FT0, void, i32)
00111 DEF_HELPER_1(fldl_FT0, void, i64)
00112 DEF_HELPER_1(fildl_FT0, void, s32)
00113 DEF_HELPER_1(flds_ST0, void, i32)
00114 DEF_HELPER_1(fldl_ST0, void, i64)
00115 DEF_HELPER_1(fildl_ST0, void, s32)
00116 DEF_HELPER_1(fildll_ST0, void, s64)
00117 DEF_HELPER_0(fsts_ST0, i32)
00118 DEF_HELPER_0(fstl_ST0, i64)
00119 DEF_HELPER_0(fist_ST0, s32)
00120 DEF_HELPER_0(fistl_ST0, s32)
00121 DEF_HELPER_0(fistll_ST0, s64)
00122 DEF_HELPER_0(fistt_ST0, s32)
00123 DEF_HELPER_0(fisttl_ST0, s32)
00124 DEF_HELPER_0(fisttll_ST0, s64)
00125 DEF_HELPER_1(fldt_ST0, void, tl)
00126 DEF_HELPER_1(fstt_ST0, void, tl)
00127 DEF_HELPER_0(fpush, void)
00128 DEF_HELPER_0(fpop, void)
00129 DEF_HELPER_0(fdecstp, void)
00130 DEF_HELPER_0(fincstp, void)
00131 DEF_HELPER_1(ffree_STN, void, int)
00132 DEF_HELPER_0(fmov_ST0_FT0, void)
00133 DEF_HELPER_1(fmov_FT0_STN, void, int)
00134 DEF_HELPER_1(fmov_ST0_STN, void, int)
00135 DEF_HELPER_1(fmov_STN_ST0, void, int)
00136 DEF_HELPER_1(fxchg_ST0_STN, void, int)
00137 DEF_HELPER_0(fcom_ST0_FT0, void)
00138 DEF_HELPER_0(fucom_ST0_FT0, void)
00139 DEF_HELPER_0(fcomi_ST0_FT0, void)
00140 DEF_HELPER_0(fucomi_ST0_FT0, void)
00141 DEF_HELPER_0(fadd_ST0_FT0, void)
00142 DEF_HELPER_0(fmul_ST0_FT0, void)
00143 DEF_HELPER_0(fsub_ST0_FT0, void)
00144 DEF_HELPER_0(fsubr_ST0_FT0, void)
00145 DEF_HELPER_0(fdiv_ST0_FT0, void)
00146 DEF_HELPER_0(fdivr_ST0_FT0, void)
00147 DEF_HELPER_1(fadd_STN_ST0, void, int)
00148 DEF_HELPER_1(fmul_STN_ST0, void, int)
00149 DEF_HELPER_1(fsub_STN_ST0, void, int)
00150 DEF_HELPER_1(fsubr_STN_ST0, void, int)
00151 DEF_HELPER_1(fdiv_STN_ST0, void, int)
00152 DEF_HELPER_1(fdivr_STN_ST0, void, int)
00153 DEF_HELPER_0(fchs_ST0, void)
00154 DEF_HELPER_0(fabs_ST0, void)
00155 DEF_HELPER_0(fxam_ST0, void)
00156 DEF_HELPER_0(fld1_ST0, void)
00157 DEF_HELPER_0(fldl2t_ST0, void)
00158 DEF_HELPER_0(fldl2e_ST0, void)
00159 DEF_HELPER_0(fldpi_ST0, void)
00160 DEF_HELPER_0(fldlg2_ST0, void)
00161 DEF_HELPER_0(fldln2_ST0, void)
00162 DEF_HELPER_0(fldz_ST0, void)
00163 DEF_HELPER_0(fldz_FT0, void)
00164 DEF_HELPER_0(fnstsw, i32)
00165 DEF_HELPER_0(fnstcw, i32)
00166 DEF_HELPER_1(fldcw, void, i32)
00167 DEF_HELPER_0(fclex, void)
00168 DEF_HELPER_0(fwait, void)
00169 DEF_HELPER_0(fninit, void)
00170 DEF_HELPER_1(fbld_ST0, void, tl)
00171 DEF_HELPER_1(fbst_ST0, void, tl)
00172 DEF_HELPER_0(f2xm1, void)
00173 DEF_HELPER_0(fyl2x, void)
00174 DEF_HELPER_0(fptan, void)
00175 DEF_HELPER_0(fpatan, void)
00176 DEF_HELPER_0(fxtract, void)
00177 DEF_HELPER_0(fprem1, void)
00178 DEF_HELPER_0(fprem, void)
00179 DEF_HELPER_0(fyl2xp1, void)
00180 DEF_HELPER_0(fsqrt, void)
00181 DEF_HELPER_0(fsincos, void)
00182 DEF_HELPER_0(frndint, void)
00183 DEF_HELPER_0(fscale, void)
00184 DEF_HELPER_0(fsin, void)
00185 DEF_HELPER_0(fcos, void)
00186 DEF_HELPER_2(fstenv, void, tl, int)
00187 DEF_HELPER_2(fldenv, void, tl, int)
00188 DEF_HELPER_2(fsave, void, tl, int)
00189 DEF_HELPER_2(frstor, void, tl, int)
00190 DEF_HELPER_2(fxsave, void, tl, int)
00191 DEF_HELPER_2(fxrstor, void, tl, int)
00192 DEF_HELPER_1(bsf, tl, tl)
00193 DEF_HELPER_1(bsr, tl, tl)
00194
00195
00196 DEF_HELPER_1(psst_ld8u, tl, tl)
00197 DEF_HELPER_1(psst_ld8s, tl, tl)
00198 DEF_HELPER_1(psst_ld16u, tl, tl)
00199 DEF_HELPER_1(psst_ld16s, tl, tl)
00200 DEF_HELPER_1(psst_ld32u, tl, tl)
00201 DEF_HELPER_1(psst_ld32s, tl, tl)
00202 DEF_HELPER_1(psst_ld64, tl, tl)
00203 DEF_HELPER_2(psst_st8, void, tl, tl)
00204 DEF_HELPER_2(psst_st16, void, tl, tl)
00205 DEF_HELPER_2(psst_st32, void, tl, tl)
00206 DEF_HELPER_2(psst_st64, void, tl, tl)
00207
00208
00209
00210
00211 DEF_HELPER_0(enter_mmx, void)
00212 DEF_HELPER_0(emms, void)
00213 DEF_HELPER_2(movq, void, ptr, ptr)
00214
00215 #define SHIFT 0
00216 #include "ops_sse_header.h"
00217 #define SHIFT 1
00218 #include "ops_sse_header.h"
00219
00220 DEF_HELPER_2(rclb, tl, tl, tl)
00221 DEF_HELPER_2(rclw, tl, tl, tl)
00222 DEF_HELPER_2(rcll, tl, tl, tl)
00223 DEF_HELPER_2(rcrb, tl, tl, tl)
00224 DEF_HELPER_2(rcrw, tl, tl, tl)
00225 DEF_HELPER_2(rcrl, tl, tl, tl)
00226 #ifdef TARGET_X86_64
00227 DEF_HELPER_2(rclq, tl, tl, tl)
00228 DEF_HELPER_2(rcrq, tl, tl, tl)
00229 #endif
00230
00231 #include "def-helper.h"