feinstr.h
Go to the documentation of this file.00001
00002
00003
00004
00005
#ifndef _EM_INSTR_H
00006
#define _EM_INSTR_H
00007
00008
#include "fepublic.h"
00009
00010
static EM_fp_reg_type
00011
fp_ieee_recip(
00012
EM_fp_reg_type den);
00013
00014
static EM_fp_reg_type
00015
fp_ieee_recip_sqrt(
00016
EM_fp_reg_type root);
00017
00018
00019
00020
00021
00022
00023
static INLINE void
00024
_fma(
EM_state_type *ps,
00025 EM_opcode_pc_type pc,
00026 EM_opcode_sf_type sf,
00027 EM_uint_t qp,
00028 EM_uint_t f1,
00029 EM_uint_t f3,
00030 EM_uint_t f4,
00031 EM_uint_t f2);
00032
00033
00034
static INLINE void
00035
_fpma(
EM_state_type *ps,
00036 EM_opcode_sf_type sf,
00037 EM_uint_t qp,
00038 EM_uint_t f1,
00039 EM_uint_t f3,
00040 EM_uint_t f4,
00041 EM_uint_t f2);
00042
00043
00044
static INLINE void
00045
_fms(
EM_state_type *ps,
00046 EM_opcode_pc_type pc,
00047 EM_opcode_sf_type sf,
00048 EM_uint_t qp,
00049 EM_uint_t f1,
00050 EM_uint_t f3,
00051 EM_uint_t f4,
00052 EM_uint_t f2);
00053
00054
00055
static INLINE void
00056
_fpms(
EM_state_type *ps,
00057 EM_opcode_sf_type sf,
00058 EM_uint_t qp,
00059 EM_uint_t f1,
00060 EM_uint_t f3,
00061 EM_uint_t f4,
00062 EM_uint_t f2);
00063
00064
00065
static INLINE void
00066
_fnma(
EM_state_type *ps,
00067 EM_opcode_pc_type pc,
00068 EM_opcode_sf_type sf,
00069 EM_uint_t qp,
00070 EM_uint_t f1,
00071 EM_uint_t f3,
00072 EM_uint_t f4,
00073 EM_uint_t f2);
00074
00075
00076
00077
static INLINE void
00078
_fpnma(
EM_state_type *ps,
00079 EM_opcode_sf_type sf,
00080 EM_uint_t qp,
00081 EM_uint_t f1,
00082 EM_uint_t f3,
00083 EM_uint_t f4,
00084 EM_uint_t f2);
00085
00086
00087
00088
static INLINE void
00089
_fcmp(
EM_state_type *ps,
00090 EM_opcode_frel_type frel,
00091 EM_opcode_ctype_type ctype,
00092 EM_opcode_sf_type sf,
00093 EM_uint_t qp,
00094 EM_uint_t p1,
00095 EM_uint_t p2,
00096 EM_uint_t f2,
00097 EM_uint_t f3);
00098
00099
00100
static INLINE void
00101
_frcpa(
EM_state_type *ps,
00102 EM_opcode_sf_type sf,
00103 EM_uint_t qp,
00104 EM_uint_t f1,
00105 EM_uint_t p2,
00106 EM_uint_t f2,
00107 EM_uint_t f3);
00108
00109
00110
static INLINE void
00111
_fprcpa(
EM_state_type *ps,
00112 EM_opcode_sf_type sf,
00113 EM_uint_t qp,
00114 EM_uint_t f1,
00115 EM_uint_t p2,
00116 EM_uint_t f2,
00117 EM_uint_t f3);
00118
00119
00120
static INLINE void
00121
_frsqrta(
EM_state_type *ps,
00122 EM_opcode_sf_type sf,
00123 EM_uint_t qp,
00124 EM_uint_t f1,
00125 EM_uint_t p2,
00126 EM_uint_t f3);
00127
00128
00129
static INLINE void
00130
_fprsqrta(
EM_state_type *ps,
00131 EM_opcode_sf_type sf,
00132 EM_uint_t qp,
00133 EM_uint_t f1,
00134 EM_uint_t p2,
00135 EM_uint_t f3);
00136
00137
00138
static INLINE void
00139
_fmin(
EM_state_type *ps,
00140 EM_opcode_sf_type sf,
00141 EM_uint_t qp,
00142 EM_uint_t f1,
00143 EM_uint_t f2,
00144 EM_uint_t f3);
00145
00146
static INLINE void
00147
_fmax(
EM_state_type *ps,
00148 EM_opcode_sf_type sf,
00149 EM_uint_t qp,
00150 EM_uint_t f1,
00151 EM_uint_t f2,
00152 EM_uint_t f3);
00153
00154
00155
static INLINE void
00156
_famin(
EM_state_type *ps,
00157 EM_opcode_sf_type sf,
00158 EM_uint_t qp,
00159 EM_uint_t f1,
00160 EM_uint_t f2,
00161 EM_uint_t f3);
00162
00163
00164
static INLINE void
00165
_famax(
EM_state_type *ps,
00166 EM_opcode_sf_type sf,
00167 EM_uint_t qp,
00168 EM_uint_t f1,
00169 EM_uint_t f2,
00170 EM_uint_t f3);
00171
00172
00173
static INLINE void
00174
_fpmin(
EM_state_type *ps,
00175 EM_opcode_sf_type sf,
00176 EM_uint_t qp,
00177 EM_uint_t f1,
00178 EM_uint_t f2,
00179 EM_uint_t f3);
00180
00181
00182
static INLINE void
00183
_fpmax(
EM_state_type *ps,
00184 EM_opcode_sf_type sf,
00185 EM_uint_t qp,
00186 EM_uint_t f1,
00187 EM_uint_t f2,
00188 EM_uint_t f3);
00189
00190
00191
00192
static INLINE void
00193
_fpamin(
EM_state_type *ps,
00194 EM_opcode_sf_type sf,
00195 EM_uint_t qp,
00196 EM_uint_t f1,
00197 EM_uint_t f2,
00198 EM_uint_t f3);
00199
00200
00201
static INLINE void
00202
_fpamax(
EM_state_type *ps,
00203 EM_opcode_sf_type sf,
00204 EM_uint_t qp,
00205 EM_uint_t f1,
00206 EM_uint_t f2,
00207 EM_uint_t f3);
00208
00209
00210
static INLINE void
00211
_fpcmp(
EM_state_type *ps,
00212 EM_opcode_frel_type frel,
00213 EM_opcode_sf_type sf,
00214 EM_uint_t qp,
00215 EM_uint_t f1,
00216 EM_uint_t f2,
00217 EM_uint_t f3);
00218
00219
00220
static INLINE void
00221
_fcvt_fx(
EM_state_type *ps,
00222 EM_opcode_sf_type sf,
00223 EM_uint_t qp,
00224 EM_uint_t f1,
00225 EM_uint_t f2);
00226
00227
00228
static INLINE void
00229
_fpcvt_fx(
EM_state_type *ps,
00230 EM_opcode_sf_type sf,
00231 EM_uint_t qp,
00232 EM_uint_t f1,
00233 EM_uint_t f2);
00234
00235
#endif
00236
00237
#undef GETSTATE_F1
00238
#undef PUTSTATE_F1
00239
00240
#undef GETSTATE_F4
00241
#undef PUTSTATE_F4
00242
00243
#undef GETSTATE_F6
00244
#undef PUTSTATE_F6
00245
00246
#undef GETSTATE_F7
00247
#undef PUTSTATE_F7
00248
00249
#undef GETSTATE_F8
00250
#undef PUTSTATE_F8
00251
00252
#undef GETSTATE_F10
00253
#undef PUTSTATE_F10
00254
00255 #define GETSTATE_F1(qp,f1,f3,f4,f2) _GETSTATE_F1(ps, qp,f1,f3,f4,f2)
00256 #define PUTSTATE_F1(f1) _PUTSTATE_F1(ps, f1)
00257
00258 #define GETSTATE_F4(qp,p1,p2,f2,f3) _GETSTATE_F4(ps, qp,p1,p2,f2,f3)
00259 #define PUTSTATE_F4(p1,p2) _PUTSTATE_F4(ps, p1,p2)
00260
00261 #define GETSTATE_F6(qp,f1,p2,f2,f3) _GETSTATE_F6(ps,qp,f1,p2,f2,f3)
00262 #define PUTSTATE_F6(f1,p2) _PUTSTATE_F6(ps,f1,p2)
00263
00264 #define GETSTATE_F7(qp,f1,p2,f3) _GETSTATE_F7(ps, qp,f1,p2,f3)
00265 #define PUTSTATE_F7(f1,p2) _PUTSTATE_F7(ps, f1,p2)
00266
00267 #define GETSTATE_F8(qp,f1,f2,f3) _GETSTATE_F8(ps, qp,f1,f2,f3)
00268 #define PUTSTATE_F8(f1) _PUTSTATE_F8(ps, f1)
00269
00270 #define GETSTATE_F10(qp,f1,f2) _GETSTATE_F10(ps, qp,f1,f2)
00271 #define PUTSTATE_F10(f1) _PUTSTATE_F10(ps, f1)
00272
00273
00274
00275
00276
00277
#undef fp_reg_disabled
00278
#undef fp_reg_read_hi
00279
#undef fp_reg_read_lo
00280
#undef fp_ieee_rnd_to_int
00281
#undef fp_ieee_rnd_to_int_sp
00282
#undef fp_ieee_round_sp
00283
#undef fp_ieee_round
00284
00285
#undef fminmax_exception_fault_check
00286
#undef fpminmax_exception_fault_check
00287
#undef fcmp_exception_fault_check
00288
#undef fpcmp_exception_fault_check
00289
00290
#undef fcvt_exception_fault_check
00291
#undef fpcvt_exception_fault_check
00292
00293
#undef fma_exception_fault_check
00294
#undef fpma_exception_fault_check
00295
#undef fms_fnma_exception_fault_check
00296
#undef fpms_fpnma_exception_fault_check
00297
00298
#undef frcpa_exception_fault_check
00299
#undef fprcpa_exception_fault_check
00300
#undef frsqrta_exception_fault_check
00301
#undef fprsqrta_exception_fault_check
00302
00303
#undef illegal_operation_fault
00304
#undef fp_check_target_register
00305
00306
#undef fp_exception_fault
00307
#undef fp_exception_trap
00308
00309
#undef disabled_fp_register_fault
00310
00311
#undef fp_update_fpsr
00312
#undef fp_update_psr
00313
00314
00315
00316
00317 #define fp_reg_disabled(f1,f2,f3,f4) fp82_fp_reg_disabled(ps, f1,f2,f3,f4)
00318
00319
00320 #define fp_reg_read_hi(f2) fp82_reg_read_hi(ps,f2)
00321 #define fp_reg_read_lo(f3) fp82_reg_read_lo(ps,f3)
00322
00323 #define fp_ieee_rnd_to_int(arg1,arg2) \
00324
fp82_fp_ieee_rnd_to_int(ps, arg1, arg2)
00325 #define fp_ieee_rnd_to_int_sp(arg1,arg2, arg3) \
00326
fp82_fp_ieee_rnd_to_int_sp(ps, arg1, arg2, arg3)
00327
00328
00329 #define fp_ieee_round_sp(arg1, arg2, arg3) \
00330
fp82_fp_ieee_round_sp(ps, arg1, arg2, arg3)
00331 #define fp_ieee_round(arg1, arg2) \
00332
fp82_fp_ieee_round(ps, arg1, arg2)
00333
00334 #define fminmax_exception_fault_check(arg1, arg2, arg3, arg4) \
00335
fp82_fminmax_exception_fault_check(ps, arg1, arg2, arg3, arg4)
00336 #define fpminmax_exception_fault_check(arg1, arg2, arg3, arg4) \
00337
fp82_fpminmax_exception_fault_check(ps, arg1, arg2, arg3, arg4)
00338
00339 #define fcmp_exception_fault_check(arg1, arg2, arg3, arg4, arg5) \
00340
fp82_fcmp_exception_fault_check(ps, arg1, arg2, arg3, arg4, arg5)
00341 #define fpcmp_exception_fault_check(arg1, arg2, arg3, arg4, arg5) \
00342
fp82_fpcmp_exception_fault_check(ps, arg1, arg2, arg3, arg4, arg5)
00343
00344 #define fcvt_exception_fault_check(arg1, arg2, arg3, arg4, arg5) \
00345
fp82_fcvt_exception_fault_check(ps, arg1, arg2, arg3, arg4, arg5)
00346 #define fpcvt_exception_fault_check(arg1, arg2, arg3, arg4, arg5) \
00347
fp82_fpcvt_exception_fault_check(ps, arg1, arg2, arg3, arg4, arg5)
00348
00349 #define fma_exception_fault_check(arg1, arg2, arg3, arg4, arg5, arg6) \
00350
fp82_fma_exception_fault_check(ps, arg1, arg2, arg3, arg4, arg5, arg6)
00351 #define fpma_exception_fault_check(arg1, arg2, arg3, arg4, arg5) \
00352
fp82_fpma_exception_fault_check(ps, arg1, arg2, arg3, arg4, arg5)
00353
00354 #define fms_fnma_exception_fault_check(arg1, arg2, arg3, arg4, arg5, arg6) \
00355
fp82_fms_fnma_exception_fault_check(ps, arg1, arg2, arg3, arg4, arg5, arg6)
00356
00357 #define fpms_fpnma_exception_fault_check(arg1, arg2, arg3, arg4, arg5) \
00358
fp82_fpms_fpnma_exception_fault_check(ps, arg1, arg2, arg3, arg4, arg5)
00359
00360 #define frcpa_exception_fault_check(arg1, arg2, arg3, arg4) \
00361
fp82_frcpa_exception_fault_check(ps, arg1, arg2, arg3, arg4)
00362
00363 #define fprcpa_exception_fault_check(arg1, arg2, arg3, arg4, arg5) \
00364
fp82_fprcpa_exception_fault_check(ps, arg1, arg2, arg3, arg4, arg5)
00365
00366 #define frsqrta_exception_fault_check(arg1, arg2, arg3) \
00367
fp82_frsqrta_exception_fault_check(ps, arg1, arg2, arg3)
00368
00369 #define fprsqrta_exception_fault_check(arg1, arg2, arg3, arg4) \
00370
fp82_fprsqrta_exception_fault_check(ps, arg1, arg2, arg3, arg4)
00371
00372 #define illegal_operation_fault( NON_RS) \
00373
fp82_illegal_operation_fault(ps, NON_RS)
00374
00375 #define fp_check_target_register( reg_specifier) \
00376
fp82_fp_check_target_register(ps, reg_specifier)
00377
00378 #define fp_exception_fault( tmp) \
00379
fp82_fp_exception_fault(ps, tmp)
00380
00381 #define fp_exception_trap( tmp) \
00382
fp82_fp_exception_trap(ps, tmp)
00383
00384 #define disabled_fp_register_fault(isr_code, itype) \
00385
fp82_disabled_fp_register_fault(ps, isr_code, itype)
00386
00387 #define fp_update_fpsr(sf, tmp_env) fp82_fp_update_fpsr(ps,sf, tmp_env)
00388 #define fp_update_psr(dest_freg) fp82_fp_update_psr(ps,dest_freg)
00389
00390
Generated on Sat May 15 19:39:59 2004 for test by
1.3.7