00001 
00002 
00003 
00004 
00005 
#ifndef _EM_PROTOTYPES_H
00006 
#define _EM_PROTOTYPES_H
00007 
00008 
#ifndef INLINE
00009 
#define INLINE
00010 
#endif
00011 
00012 
#if !(defined(BIG_ENDIAN) || defined(LITTLE_ENDIAN))
00013 
    #error Endianness not established; define BIG_ENDIAN or LITTLE_ENDIAN
00014 
#endif
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
void
00023 
fp82_famax(
EM_state_type *ps,
00024     EM_opcode_sf_type sf,
00025     EM_pred_reg_specifier qp,
00026     EM_fp_reg_specifier f1,
00027     EM_fp_reg_specifier f2,
00028     EM_fp_reg_specifier f3);
00029 
00030 
00031 
00032 
void
00033 
fp82_fpamax(
EM_state_type *ps,
00034     EM_opcode_sf_type sf,
00035     EM_pred_reg_specifier qp,
00036     EM_fp_reg_specifier f1,
00037     EM_fp_reg_specifier f2,
00038     EM_fp_reg_specifier f3);
00039 
00040 
00041 
void
00042 
fp82_famin(
EM_state_type *ps,
00043     EM_opcode_sf_type sf,
00044     EM_pred_reg_specifier qp,
00045     EM_fp_reg_specifier f1,
00046     EM_fp_reg_specifier f2,
00047     EM_fp_reg_specifier f3);
00048 
00049 
00050 
00051 
00052 
void
00053 
fp82_fpamin(
EM_state_type *ps,
00054     EM_opcode_sf_type sf,
00055     EM_pred_reg_specifier qp,
00056     EM_fp_reg_specifier f1,
00057     EM_fp_reg_specifier f2,
00058     EM_fp_reg_specifier f3);
00059 
00060 
00061 
00062 
00063 
void
00064 
fp82_fcmp_eq(
EM_state_type *ps,
00065     EM_opcode_ctype_type ctype,
00066     EM_opcode_sf_type sf,
00067     EM_pred_reg_specifier qp,
00068     EM_pred_reg_specifier p1,
00069     EM_pred_reg_specifier p2,
00070     EM_fp_reg_specifier f2,
00071     EM_fp_reg_specifier f3);
00072 
00073 
void
00074 
fp82_fcmp_lt(
EM_state_type *ps,
00075     EM_opcode_ctype_type ctype,
00076     EM_opcode_sf_type sf,
00077     EM_pred_reg_specifier qp,
00078     EM_pred_reg_specifier p1,
00079     EM_pred_reg_specifier p2,
00080     EM_fp_reg_specifier f2,
00081     EM_fp_reg_specifier f3);
00082 
00083 
void
00084 
fp82_fcmp_le(
EM_state_type *ps,
00085     EM_opcode_ctype_type ctype,
00086     EM_opcode_sf_type sf,
00087     EM_pred_reg_specifier qp,
00088     EM_pred_reg_specifier p1,
00089     EM_pred_reg_specifier p2,
00090     EM_fp_reg_specifier f2,
00091     EM_fp_reg_specifier f3);
00092 
00093 
00094 
void
00095 
fp82_fcmp_unord(
EM_state_type *ps,
00096     EM_opcode_ctype_type ctype,
00097     EM_opcode_sf_type sf,
00098     EM_pred_reg_specifier qp,
00099     EM_pred_reg_specifier p1,
00100     EM_pred_reg_specifier p2,
00101     EM_fp_reg_specifier f2,
00102     EM_fp_reg_specifier f3);
00103 
00104 
00105 
00106 
00107 
void
00108 
fp82_fpcmp_eq(
EM_state_type *ps,
00109     EM_opcode_sf_type sf,
00110     EM_pred_reg_specifier qp,
00111     EM_fp_reg_specifier f1,
00112     EM_fp_reg_specifier f2,
00113     EM_fp_reg_specifier f3);
00114 
00115 
void
00116 
fp82_fpcmp_lt(
EM_state_type *ps,
00117     EM_opcode_sf_type sf,
00118     EM_pred_reg_specifier qp,
00119     EM_fp_reg_specifier f1,
00120     EM_fp_reg_specifier f2,
00121     EM_fp_reg_specifier f3);
00122 
00123 
void
00124 
fp82_fpcmp_le(
EM_state_type *ps,
00125     EM_opcode_sf_type sf,
00126     EM_pred_reg_specifier qp,
00127     EM_fp_reg_specifier f1,
00128     EM_fp_reg_specifier f2,
00129     EM_fp_reg_specifier f3);
00130 
00131 
void
00132 
fp82_fpcmp_unord(
EM_state_type *ps,
00133     EM_opcode_sf_type sf,
00134     EM_pred_reg_specifier qp,
00135     EM_fp_reg_specifier f1,
00136     EM_fp_reg_specifier f2,
00137     EM_fp_reg_specifier f3);
00138 
00139 
void
00140 
fp82_fpcmp_neq(
EM_state_type *ps,
00141     EM_opcode_sf_type sf,
00142     EM_pred_reg_specifier qp,
00143     EM_fp_reg_specifier f1,
00144     EM_fp_reg_specifier f2,
00145     EM_fp_reg_specifier f3);
00146 
00147 
void
00148 
fp82_fpcmp_nlt(
EM_state_type *ps,
00149     EM_opcode_sf_type sf,
00150     EM_pred_reg_specifier qp,
00151     EM_fp_reg_specifier f1,
00152     EM_fp_reg_specifier f2,
00153     EM_fp_reg_specifier f3);
00154 
00155 
void
00156 
fp82_fpcmp_nle(
EM_state_type *ps,
00157     EM_opcode_sf_type sf,
00158     EM_pred_reg_specifier qp,
00159     EM_fp_reg_specifier f1,
00160     EM_fp_reg_specifier f2,
00161     EM_fp_reg_specifier f3);
00162 
00163 
void
00164 
fp82_fpcmp_ord(
EM_state_type *ps,
00165     EM_opcode_sf_type sf,
00166     EM_pred_reg_specifier qp,
00167     EM_fp_reg_specifier f1,
00168     EM_fp_reg_specifier f2,
00169     EM_fp_reg_specifier f3);
00170 
00171 
00172 
00173 
00174 
void
00175 
fp82_fcvt_fx(
EM_state_type *ps,
00176     EM_opcode_sf_type sf,
00177     EM_pred_reg_specifier qp,
00178     EM_fp_reg_specifier f1,
00179     EM_fp_reg_specifier f2);
00180 
00181 
void
00182 
fp82_fcvt_fx_trunc(
EM_state_type *ps,
00183     EM_opcode_sf_type sf,
00184     EM_pred_reg_specifier qp,
00185     EM_fp_reg_specifier f1,
00186     EM_fp_reg_specifier f2);
00187 
00188 
void
00189 
fp82_fcvt_fxu(
EM_state_type *ps,
00190     EM_opcode_sf_type sf,
00191     EM_pred_reg_specifier qp,
00192     EM_fp_reg_specifier f1,
00193     EM_fp_reg_specifier f2);
00194 
00195 
void
00196 
fp82_fcvt_fxu_trunc(
EM_state_type *ps,
00197     EM_opcode_sf_type sf,
00198     EM_pred_reg_specifier qp,
00199     EM_fp_reg_specifier f1,
00200     EM_fp_reg_specifier f2);
00201 
00202 
00203 
00204 
00205 
void
00206 
fp82_fpcvt_fx(
EM_state_type *ps,
00207     EM_opcode_sf_type sf,
00208     EM_pred_reg_specifier qp,
00209     EM_fp_reg_specifier f1,
00210     EM_fp_reg_specifier f2);
00211 
00212 
void
00213 
fp82_fpcvt_fx_trunc(
EM_state_type *ps,
00214     EM_opcode_sf_type sf,
00215     EM_pred_reg_specifier qp,
00216     EM_fp_reg_specifier f1,
00217     EM_fp_reg_specifier f2);
00218 
00219 
void
00220 
fp82_fpcvt_fxu(
EM_state_type *ps,
00221     EM_opcode_sf_type sf,
00222     EM_pred_reg_specifier qp,
00223     EM_fp_reg_specifier f1,
00224     EM_fp_reg_specifier f2);
00225 
00226 
void
00227 
fp82_fpcvt_fxu_trunc(
EM_state_type *ps,
00228     EM_opcode_sf_type sf,
00229     EM_pred_reg_specifier qp,
00230     EM_fp_reg_specifier f1,
00231     EM_fp_reg_specifier f2);
00232 
00233 
00234 
00235 
00236 
00237 
void
00238 
fp82_fma(
EM_state_type *ps,
00239     EM_opcode_pc_type pc,
00240     EM_opcode_sf_type sf,
00241     EM_pred_reg_specifier qp,
00242     EM_fp_reg_specifier f1,
00243     EM_fp_reg_specifier f3,
00244     EM_fp_reg_specifier f4,
00245     EM_fp_reg_specifier f2);
00246 
00247 
00248 
00249 
void
00250 
fp82_fpma(
EM_state_type *ps,
00251     EM_opcode_sf_type sf,
00252     EM_pred_reg_specifier qp,
00253     EM_fp_reg_specifier f1,
00254     EM_fp_reg_specifier f3,
00255     EM_fp_reg_specifier f4,
00256     EM_fp_reg_specifier f2);
00257 
00258 
00259 
00260 
void
00261 
fp82_fmax(
EM_state_type *ps,
00262     EM_opcode_sf_type sf,
00263     EM_pred_reg_specifier qp,
00264     EM_fp_reg_specifier f1,
00265     EM_fp_reg_specifier f2,
00266     EM_fp_reg_specifier f3);
00267 
00268 
00269 
00270 
void
00271 
fp82_fpmax(
EM_state_type *ps,
00272     EM_opcode_sf_type sf,
00273     EM_pred_reg_specifier qp,
00274     EM_fp_reg_specifier f1,
00275     EM_fp_reg_specifier f2,
00276     EM_fp_reg_specifier f3);
00277 
00278 
00279 
void
00280 
fp82_fmin(
EM_state_type *ps,
00281     EM_opcode_sf_type sf,
00282     EM_pred_reg_specifier qp,
00283     EM_fp_reg_specifier f1,
00284     EM_fp_reg_specifier f2,
00285     EM_fp_reg_specifier f3);
00286 
00287 
00288 
00289 
void
00290 
fp82_fpmin(
EM_state_type *ps,
00291     EM_opcode_sf_type sf,
00292     EM_pred_reg_specifier qp,
00293     EM_fp_reg_specifier f1,
00294     EM_fp_reg_specifier f2,
00295     EM_fp_reg_specifier f3);
00296 
00297 
00298 
00299 
void
00300 
fp82_fms(
EM_state_type *ps,
00301     EM_opcode_pc_type pc,
00302     EM_opcode_sf_type sf,
00303     EM_pred_reg_specifier qp,
00304     EM_fp_reg_specifier f1,
00305     EM_fp_reg_specifier f3,
00306      EM_fp_reg_specifier f4,
00307     EM_fp_reg_specifier f2);
00308 
00309 
00310 
00311 
void
00312 
fp82_fpms(
EM_state_type *ps,
00313     EM_opcode_sf_type sf,
00314     EM_pred_reg_specifier qp,
00315     EM_fp_reg_specifier f1,
00316     EM_fp_reg_specifier f3,
00317     EM_fp_reg_specifier f4,
00318     EM_fp_reg_specifier f2);
00319 
00320 
00321 
00322 
00323 
void
00324 
fp82_fnma(
EM_state_type *ps,
00325     EM_opcode_pc_type pc,
00326     EM_opcode_sf_type sf,
00327     EM_pred_reg_specifier qp,
00328     EM_fp_reg_specifier f1,
00329     EM_fp_reg_specifier f3,
00330      EM_fp_reg_specifier f4,
00331     EM_fp_reg_specifier f2);
00332 
00333 
00334 
00335 
00336 
void
00337 
fp82_fpnma(
EM_state_type *ps,
00338     EM_opcode_sf_type sf,
00339     EM_pred_reg_specifier qp,
00340     EM_fp_reg_specifier f1,
00341     EM_fp_reg_specifier f3,
00342      EM_fp_reg_specifier f4,
00343     EM_fp_reg_specifier f2);
00344 
00345 
00346 
00347 
void
00348 
fp82_frcpa(
EM_state_type *ps,
00349     EM_opcode_sf_type sf,
00350     EM_pred_reg_specifier qp,
00351     EM_fp_reg_specifier f1,
00352     EM_pred_reg_specifier p2,
00353     EM_fp_reg_specifier f2,
00354     EM_fp_reg_specifier f3);
00355 
00356 
00357 
void
00358 
fp82_fprcpa(
EM_state_type *ps,
00359     EM_opcode_sf_type sf,
00360     EM_pred_reg_specifier qp,
00361     EM_fp_reg_specifier f1,
00362     EM_pred_reg_specifier p2,
00363     EM_fp_reg_specifier f2,
00364     EM_fp_reg_specifier f3);
00365 
00366 
00367 
void
00368 
fp82_frsqrta(
EM_state_type *ps,
00369     EM_opcode_sf_type sf,
00370     EM_pred_reg_specifier qp,
00371     EM_fp_reg_specifier f1,
00372     EM_pred_reg_specifier p2,
00373     EM_fp_reg_specifier f3);
00374 
00375 
00376 
00377 
void
00378 
fp82_fprsqrta(
EM_state_type *ps,
00379     EM_opcode_sf_type sf,
00380     EM_pred_reg_specifier qp,
00381     EM_fp_reg_specifier f1,
00382     EM_pred_reg_specifier p2,
00383     EM_fp_reg_specifier f3);
00384 
00385 
00386 
00387 
00388 
00389 
00390 
00391 
00392 
#ifndef FP82_NO_SHORTCUTS
00393 #define famax           fp82_famax
00394 #define fpamax          fp82_fpamax
00395 #define famin           fp82_famin
00396 #define fpamin          fp82_fpamin
00397 
00398 #define fcmp_eq         fp82_fcmp_eq
00399 #define fcmp_lt         fp82_fcmp_lt
00400 #define fcmp_le         fp82_fcmp_le
00401 #define fcmp_unord      fp82_fcmp_unord
00402 
00403 #define fpcmp_eq        fp82_fpcmp_eq
00404 #define fpcmp_lt        fp82_fpcmp_lt
00405 #define fpcmp_le        fp82_fpcmp_le
00406 #define fpcmp_unord     fp82_fpcmp_unord
00407 #define fpcmp_neq       fp82_fpcmp_neq
00408 #define fpcmp_nlt       fp82_fpcmp_nlt
00409 #define fpcmp_nle       fp82_fpcmp_nle
00410 #define fpcmp_ord       fp82_fpcmp_ord
00411 
00412 #define fcvt_fx         fp82_fcvt_fx
00413 #define fcvt_fx_trunc   fp82_fcvt_fx_trunc
00414 #define fcvt_fxu        fp82_fcvt_fxu
00415 #define fcvt_fxu_trunc  fp82_fcvt_fxu_trunc
00416 
00417 #define fpcvt_fxu_trunc fp82_fpcvt_fxu_trunc
00418 #define fpcvt_fxu       fp82_fpcvt_fxu
00419 #define fpcvt_fx        fp82_fpcvt_fx
00420 #define fpcvt_fx_trunc  fp82_fpcvt_fx_trunc
00421 
00422 
00423 #define fma             fp82_fma
00424 #define fpma            fp82_fpma
00425 #define fmax            fp82_fmax
00426 #define fpmax           fp82_fpmax
00427 #define fmin            fp82_fmin
00428 #define fpmin           fp82_fpmin
00429 #define fms             fp82_fms
00430 #define fpms            fp82_fpms
00431 #define fnma            fp82_fnma
00432 #define fpnma           fp82_fpnma
00433 #define frcpa           fp82_frcpa
00434 #define fprcpa          fp82_fprcpa
00435 #define frsqrta         fp82_frsqrta
00436 #define fprsqrta        fp82_fprsqrta
00437 
00438 
#endif 
00439 
00440 
00441 
#endif 
00442