Lines Matching refs:pfpsd

169 	fp_simd_type	*pfpsd,	/* Pointer to fpu simulator data */  in _fp_fpu_simulator()  argument
186 pfpsd->fp_current_exceptions = 0; /* Init current exceptions. */ in _fp_fpu_simulator()
187 pfpsd->fp_fsrtem = fsr.tem; /* Obtain fsr's tem */ in _fp_fpu_simulator()
191 pfpsd->fp_direction = GSR_IM(gsr) ? GSR_IRND(gsr) : fsr.rnd; in _fp_fpu_simulator()
192 pfpsd->fp_precision = fsr.rnp; in _fp_fpu_simulator()
204 _fp_unpack(pfpsd, &us1, nrs1, fma_inst->sz); in _fp_fpu_simulator()
205 _fp_unpack(pfpsd, &us2, nrs2, fma_inst->sz); in _fp_fpu_simulator()
206 _fp_mul(pfpsd, &us1, &us2, &ust); in _fp_fpu_simulator()
207 if ((pfpsd->fp_current_exceptions & fsr.tem) == 0) { in _fp_fpu_simulator()
208 _fp_unpack(pfpsd, &us3, nrs3, fma_inst->sz); in _fp_fpu_simulator()
209 _fp_add(pfpsd, &ust, &us3, &ud); in _fp_fpu_simulator()
210 _fp_pack(pfpsd, &ud, nrd, fma_inst->sz); in _fp_fpu_simulator()
216 _fp_unpack(pfpsd, &us1, nrs1, fma_inst->sz); in _fp_fpu_simulator()
217 _fp_unpack(pfpsd, &us2, nrs2, fma_inst->sz); in _fp_fpu_simulator()
218 _fp_mul(pfpsd, &us1, &us2, &ust); in _fp_fpu_simulator()
219 if ((pfpsd->fp_current_exceptions & fsr.tem) == 0) { in _fp_fpu_simulator()
220 _fp_unpack(pfpsd, &us3, nrs3, fma_inst->sz); in _fp_fpu_simulator()
221 _fp_sub(pfpsd, &ust, &us3, &ud); in _fp_fpu_simulator()
222 _fp_pack(pfpsd, &ud, nrd, fma_inst->sz); in _fp_fpu_simulator()
228 _fp_unpack(pfpsd, &us1, nrs1, fma_inst->sz); in _fp_fpu_simulator()
229 _fp_unpack(pfpsd, &us2, nrs2, fma_inst->sz); in _fp_fpu_simulator()
230 _fp_mul(pfpsd, &us1, &us2, &ust); in _fp_fpu_simulator()
231 if ((pfpsd->fp_current_exceptions & fsr.tem) == 0) { in _fp_fpu_simulator()
232 _fp_unpack(pfpsd, &us3, nrs3, fma_inst->sz); in _fp_fpu_simulator()
236 _fp_sub(pfpsd, &ust, &us3, &ud); in _fp_fpu_simulator()
237 _fp_pack(pfpsd, &ud, nrd, fma_inst->sz); in _fp_fpu_simulator()
243 _fp_unpack(pfpsd, &us1, nrs1, fma_inst->sz); in _fp_fpu_simulator()
244 _fp_unpack(pfpsd, &us2, nrs2, fma_inst->sz); in _fp_fpu_simulator()
245 _fp_mul(pfpsd, &us1, &us2, &ust); in _fp_fpu_simulator()
246 if ((pfpsd->fp_current_exceptions & fsr.tem) == 0) { in _fp_fpu_simulator()
247 _fp_unpack(pfpsd, &us3, nrs3, fma_inst->sz); in _fp_fpu_simulator()
251 _fp_add(pfpsd, &ust, &us3, &ud); in _fp_fpu_simulator()
252 _fp_pack(pfpsd, &ud, nrd, fma_inst->sz); in _fp_fpu_simulator()
266 return (fmovcc(pfpsd, inst, pfsr)); /* fmovcc */ in _fp_fpu_simulator()
271 return (fmovr(pfpsd, inst)); /* fmovr */ in _fp_fpu_simulator()
290 _fp_unpack_word(pfpsd, &usr, nrs2); in _fp_fpu_simulator()
291 _fp_pack_word(pfpsd, &usr, nrd); in _fp_fpu_simulator()
294 _fp_unpack_extword(pfpsd, &lusr, nrs2); in _fp_fpu_simulator()
295 _fp_pack_extword(pfpsd, &lusr, nrd); in _fp_fpu_simulator()
297 _fp_unpack_extword(pfpsd, &lusr, in _fp_fpu_simulator()
299 _fp_pack_extword(pfpsd, &lusr, nrd+2); in _fp_fpu_simulator()
308 _fp_unpack_word(pfpsd, &usr, nrs2); in _fp_fpu_simulator()
310 _fp_pack_word(pfpsd, &usr, nrd); in _fp_fpu_simulator()
313 _fp_unpack_extword(pfpsd, &lusr, nrs2); in _fp_fpu_simulator()
315 _fp_pack_extword(pfpsd, &lusr, nrd); in _fp_fpu_simulator()
317 _fp_unpack_extword(pfpsd, &lusr, in _fp_fpu_simulator()
319 _fp_pack_extword(pfpsd, &lusr, nrd+2); in _fp_fpu_simulator()
328 _fp_unpack_word(pfpsd, &usr, nrs2); in _fp_fpu_simulator()
330 _fp_pack_word(pfpsd, &usr, nrd); in _fp_fpu_simulator()
333 _fp_unpack_extword(pfpsd, &lusr, nrs2); in _fp_fpu_simulator()
335 _fp_pack_extword(pfpsd, &lusr, nrd); in _fp_fpu_simulator()
337 _fp_unpack_extword(pfpsd, &lusr, in _fp_fpu_simulator()
340 _fp_pack_extword(pfpsd, &lusr, nrd+2); in _fp_fpu_simulator()
348 _fp_unpack(pfpsd, &us1, nrs1, inst.prec); in _fp_fpu_simulator()
349 _fp_unpack(pfpsd, &us2, nrs2, inst.prec); in _fp_fpu_simulator()
350 _fp_add(pfpsd, &us1, &us2, &ud); in _fp_fpu_simulator()
351 _fp_pack(pfpsd, &ud, nrd, inst.prec); in _fp_fpu_simulator()
356 _fp_unpack(pfpsd, &us1, nrs1, inst.prec); in _fp_fpu_simulator()
357 _fp_unpack(pfpsd, &us2, nrs2, inst.prec); in _fp_fpu_simulator()
358 _fp_sub(pfpsd, &us1, &us2, &ud); in _fp_fpu_simulator()
359 _fp_pack(pfpsd, &ud, nrd, inst.prec); in _fp_fpu_simulator()
364 _fp_unpack(pfpsd, &us1, nrs1, inst.prec); in _fp_fpu_simulator()
365 _fp_unpack(pfpsd, &us2, nrs2, inst.prec); in _fp_fpu_simulator()
366 _fp_mul(pfpsd, &us1, &us2, &ud); in _fp_fpu_simulator()
367 _fp_pack(pfpsd, &ud, nrd, inst.prec); in _fp_fpu_simulator()
374 _fp_unpack(pfpsd, &us1, nrs1, inst.prec); in _fp_fpu_simulator()
375 _fp_unpack(pfpsd, &us2, nrs2, inst.prec); in _fp_fpu_simulator()
376 _fp_mul(pfpsd, &us1, &us2, &ud); in _fp_fpu_simulator()
377 _fp_pack(pfpsd, &ud, nrd, in _fp_fpu_simulator()
384 _fp_unpack(pfpsd, &us1, nrs1, inst.prec); in _fp_fpu_simulator()
385 _fp_unpack(pfpsd, &us2, nrs2, inst.prec); in _fp_fpu_simulator()
386 _fp_mul(pfpsd, &us1, &us2, &ud); in _fp_fpu_simulator()
387 _fp_pack(pfpsd, &ud, nrd, in _fp_fpu_simulator()
392 _fp_unpack(pfpsd, &us1, nrs1, inst.prec); in _fp_fpu_simulator()
393 _fp_unpack(pfpsd, &us2, nrs2, inst.prec); in _fp_fpu_simulator()
394 _fp_div(pfpsd, &us1, &us2, &ud); in _fp_fpu_simulator()
395 _fp_pack(pfpsd, &ud, nrd, inst.prec); in _fp_fpu_simulator()
400 _fp_unpack(pfpsd, &us1, nrs1, inst.prec); in _fp_fpu_simulator()
401 _fp_unpack(pfpsd, &us2, nrs2, inst.prec); in _fp_fpu_simulator()
402 cc = _fp_compare(pfpsd, &us1, &us2, 0); in _fp_fpu_simulator()
403 if (!(pfpsd->fp_current_exceptions & pfpsd->fp_fsrtem)) in _fp_fpu_simulator()
422 _fp_unpack(pfpsd, &us1, nrs1, inst.prec); in _fp_fpu_simulator()
423 _fp_unpack(pfpsd, &us2, nrs2, inst.prec); in _fp_fpu_simulator()
424 cc = _fp_compare(pfpsd, &us1, &us2, 1); in _fp_fpu_simulator()
425 if (!(pfpsd->fp_current_exceptions & pfpsd->fp_fsrtem)) in _fp_fpu_simulator()
444 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
445 _fp_sqrt(pfpsd, &us1, &ud); in _fp_fpu_simulator()
446 _fp_pack(pfpsd, &ud, nrd, inst.prec); in _fp_fpu_simulator()
451 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
452 pfpsd->fp_direction = fp_tozero; in _fp_fpu_simulator()
454 _fp_pack(pfpsd, &us1, nrd, fp_op_int32); in _fp_fpu_simulator()
459 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
460 pfpsd->fp_direction = fp_tozero; in _fp_fpu_simulator()
462 _fp_pack(pfpsd, &us1, nrd, fp_op_int64); in _fp_fpu_simulator()
467 _fp_unpack(pfpsd, &us1, nrs2, fp_op_int64); in _fp_fpu_simulator()
468 _fp_pack(pfpsd, &us1, nrd, fp_op_single); in _fp_fpu_simulator()
472 _fp_unpack(pfpsd, &us1, nrs2, fp_op_int64); in _fp_fpu_simulator()
473 _fp_pack(pfpsd, &us1, nrd, fp_op_double); in _fp_fpu_simulator()
477 _fp_unpack(pfpsd, &us1, nrs2, fp_op_int64); in _fp_fpu_simulator()
478 _fp_pack(pfpsd, &us1, nrd, fp_op_extended); in _fp_fpu_simulator()
482 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
483 _fp_pack(pfpsd, &us1, nrd, fp_op_single); in _fp_fpu_simulator()
487 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
488 _fp_pack(pfpsd, &us1, nrd, fp_op_double); in _fp_fpu_simulator()
492 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
493 _fp_pack(pfpsd, &us1, nrd, fp_op_extended); in _fp_fpu_simulator()
500 fsr.cexc = pfpsd->fp_current_exceptions; in _fp_fpu_simulator()
501 andexcep = pfpsd->fp_current_exceptions & fsr.tem; in _fp_fpu_simulator()
504 pfpsd->fp_trapcode = FPE_FLTINV; in _fp_fpu_simulator()
507 pfpsd->fp_trapcode = FPE_FLTOVF; in _fp_fpu_simulator()
510 pfpsd->fp_trapcode = FPE_FLTUND; in _fp_fpu_simulator()
513 pfpsd->fp_trapcode = FPE_FLTDIV; in _fp_fpu_simulator()
516 pfpsd->fp_trapcode = FPE_FLTRES; in _fp_fpu_simulator()
519 pfpsd->fp_trapcode = 0; in _fp_fpu_simulator()
524 fsr.aexc |= pfpsd->fp_current_exceptions; in _fp_fpu_simulator()
536 fp_simd_type *pfpsd, /* Pointer to simulator data */ in fpu_vis_sim() argument
552 pfpsd->fp_trapaddr = (caddr_t)pinst; in fpu_vis_sim()
554 pfpsd->fp_current_read_freg = _fp_read_pfreg; in fpu_vis_sim()
555 pfpsd->fp_current_write_freg = _fp_write_pfreg; in fpu_vis_sim()
556 pfpsd->fp_current_read_dreg = _fp_read_pdreg; in fpu_vis_sim()
557 pfpsd->fp_current_write_dreg = _fp_write_pdreg; in fpu_vis_sim()
558 pfpsd->fp_current_read_gsr = _fp_read_pgsr; in fpu_vis_sim()
559 pfpsd->fp_current_write_gsr = _fp_write_pgsr; in fpu_vis_sim()
561 pfpsd->fp_current_pfregs = pfp; in fpu_vis_sim()
562 pfpsd->fp_current_read_freg = _fp_read_vfreg; in fpu_vis_sim()
563 pfpsd->fp_current_write_freg = _fp_write_vfreg; in fpu_vis_sim()
564 pfpsd->fp_current_read_dreg = _fp_read_vdreg; in fpu_vis_sim()
565 pfpsd->fp_current_write_dreg = _fp_write_vdreg; in fpu_vis_sim()
566 pfpsd->fp_current_read_gsr = get_gsr; in fpu_vis_sim()
567 pfpsd->fp_current_write_gsr = set_gsr; in fpu_vis_sim()
571 ftt = vis_fpu_simulator(pfpsd, fp.inst, in fpu_vis_sim()
577 ftt = _fp_fpu_simulator(pfpsd, fp.inst, pfsr, gsr); in fpu_vis_sim()
584 ftt = _fp_iu_simulator(pfpsd, fp.inst, pregs, in fpu_vis_sim()
596 fp_simd_type *pfpsd, /* Pointer to simulator data */ in fpu_simulator() argument
608 pfpsd->fp_trapaddr = (caddr_t)pinst; in fpu_simulator()
609 pfpsd->fp_current_read_freg = _fp_read_pfreg; in fpu_simulator()
610 pfpsd->fp_current_write_freg = _fp_write_pfreg; in fpu_simulator()
611 pfpsd->fp_current_read_dreg = _fp_read_pdreg; in fpu_simulator()
612 pfpsd->fp_current_write_dreg = _fp_write_pdreg; in fpu_simulator()
613 pfpsd->fp_current_read_gsr = _fp_read_pgsr; in fpu_simulator()
614 pfpsd->fp_current_write_gsr = _fp_write_pgsr; in fpu_simulator()
615 return (_fp_fpu_simulator(pfpsd, fp.inst, pfsr, gsr)); in fpu_simulator()
624 fp_simd_type *pfpsd, /* Pointer to simulator data */ in fp_emulator() argument
641 pfpsd->fp_current_pfregs = pfpu; in fp_emulator()
642 pfpsd->fp_current_read_freg = _fp_read_vfreg; in fp_emulator()
643 pfpsd->fp_current_write_freg = _fp_write_vfreg; in fp_emulator()
644 pfpsd->fp_current_read_dreg = _fp_read_vdreg; in fp_emulator()
645 pfpsd->fp_current_write_dreg = _fp_write_vdreg; in fp_emulator()
646 pfpsd->fp_current_read_gsr = get_gsr; in fp_emulator()
647 pfpsd->fp_current_write_gsr = set_gsr; in fp_emulator()
648 pfpsd->fp_trapaddr = (caddr_t)pinst; /* bad inst addr in case we trap */ in fp_emulator()
649 ftt = _fp_read_inst((uint32_t *)pinst, &(fp.i), pfpsd); in fp_emulator()
656 ftt = _fp_fpu_simulator(pfpsd, fp.inst, (fsr_type *)&tfsr, gsr); in fp_emulator()
671 ftt = vis_fpu_simulator(pfpsd, fp.inst, in fp_emulator()
674 ftt = _fp_iu_simulator(pfpsd, fp.inst, pregs, prw, pfpu); in fp_emulator()
689 pfpsd->fp_trapaddr = (caddr_t)pinst; /* bad inst addr in case we trap */ in fp_emulator()
690 ftt = _fp_read_inst((uint32_t *)pinst, &(fp.i), pfpsd); in fp_emulator()
696 ftt = _fp_fpu_simulator(pfpsd, fp.inst, (fsr_type *)&tfsr, gsr); in fp_emulator()
711 ftt = vis_fpu_simulator(pfpsd, fp.inst, in fp_emulator()
729 ftt = _fp_iu_simulator(pfpsd, fp.inst, pregs, prw, pfpu); in fp_emulator()