Lines Matching refs:inst

170 	fp_inst_type	inst,	/* FPU instruction to simulate. */  in _fp_fpu_simulator()  argument
182 nrs1 = inst.rs1; in _fp_fpu_simulator()
183 nrs2 = inst.rs2; in _fp_fpu_simulator()
184 nrd = inst.rd; in _fp_fpu_simulator()
194 if (inst.op3 == 0x37) { /* IMPDEP2B FMA-fused opcode */ in _fp_fpu_simulator()
199 fma_inst = (fp_fma_inst_type *) &inst; in _fp_fpu_simulator()
259 if (inst.op3 == 0x35) { /* fpop2 */ in _fp_fpu_simulator()
262 if ((inst.opcode & 0xf) == 0) { in _fp_fpu_simulator()
263 if ((fp_notp) && (inst.prec == 0)) in _fp_fpu_simulator()
266 return (fmovcc(pfpsd, inst, pfsr)); /* fmovcc */ in _fp_fpu_simulator()
267 } else if ((inst.opcode & 0x7) == 1) { in _fp_fpu_simulator()
268 if ((fp_notp) && (inst.prec == 0)) in _fp_fpu_simulator()
271 return (fmovr(pfpsd, inst)); /* fmovr */ in _fp_fpu_simulator()
275 if ((fp_notp) && (inst.ibit != 0)) in _fp_fpu_simulator()
277 if ((fp_notp) && (inst.prec == 0)) { /* fxto[sdq], fito[sdq] */ in _fp_fpu_simulator()
278 if ((inst.opcode != flltos) && in _fp_fpu_simulator()
279 (inst.opcode != flltod) && in _fp_fpu_simulator()
280 (inst.opcode != flltox) && in _fp_fpu_simulator()
281 (inst.opcode != fitos) && in _fp_fpu_simulator()
282 (inst.opcode != fitod) && in _fp_fpu_simulator()
283 (inst.opcode != fitox)) { in _fp_fpu_simulator()
287 switch (inst.opcode) { in _fp_fpu_simulator()
289 if (inst.prec < 2) { /* fmovs */ in _fp_fpu_simulator()
296 if (inst.prec > 2) { /* fmovq */ in _fp_fpu_simulator()
307 if (inst.prec < 2) { /* fabss */ in _fp_fpu_simulator()
316 if (inst.prec > 2) { /* fabsq */ in _fp_fpu_simulator()
327 if (inst.prec < 2) { /* fnegs */ in _fp_fpu_simulator()
336 if (inst.prec > 2) { /* fnegq */ 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()
351 _fp_pack(pfpsd, &ud, nrd, inst.prec); in _fp_fpu_simulator()
352 FPUINFO_KSTAT_PREC(inst.prec, fpu_sim_fadds, 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()
359 _fp_pack(pfpsd, &ud, nrd, inst.prec); in _fp_fpu_simulator()
360 FPUINFO_KSTAT_PREC(inst.prec, fpu_sim_fsubs, 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()
367 _fp_pack(pfpsd, &ud, nrd, inst.prec); in _fp_fpu_simulator()
368 FPUINFO_KSTAT_PREC(inst.prec, fpu_sim_fmuls, in _fp_fpu_simulator()
372 if ((fp_notp) && (inst.prec != 1)) 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()
378 (enum fp_op_type) ((int)inst.prec+1)); in _fp_fpu_simulator()
382 if ((fp_notp) && (inst.prec != 2)) 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()
388 (enum fp_op_type) ((int)inst.prec+1)); 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()
395 _fp_pack(pfpsd, &ud, nrd, inst.prec); in _fp_fpu_simulator()
396 FPUINFO_KSTAT_PREC(inst.prec, fpu_sim_fdivs, 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()
418 FPUINFO_KSTAT_PREC(inst.prec, fpu_sim_fcmps, 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()
440 FPUINFO_KSTAT_PREC(inst.prec, fpu_sim_fcmpes, in _fp_fpu_simulator()
444 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
446 _fp_pack(pfpsd, &ud, nrd, inst.prec); in _fp_fpu_simulator()
447 FPUINFO_KSTAT_PREC(inst.prec, fpu_sim_fsqrts, in _fp_fpu_simulator()
451 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
455 FPUINFO_KSTAT_PREC(inst.prec, fpu_sim_fstoi, in _fp_fpu_simulator()
459 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
463 FPUINFO_KSTAT_PREC(inst.prec, fpu_sim_fstox, in _fp_fpu_simulator()
482 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
487 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
492 _fp_unpack(pfpsd, &us1, nrs2, inst.prec); in _fp_fpu_simulator()
541 uint32_t inst) /* The FPU instruction to simulate */ in fpu_vis_sim() argument
546 fp_inst_type inst; in fpu_vis_sim() member
551 fp.i = inst; in fpu_vis_sim()
570 if ((fp.inst.hibits == 2) && (fp.inst.op3 == 0x36)) { in fpu_vis_sim()
571 ftt = vis_fpu_simulator(pfpsd, fp.inst, in fpu_vis_sim()
574 } else if ((fp.inst.hibits == 2) && in fpu_vis_sim()
575 ((fp.inst.op3 == 0x34) || (fp.inst.op3 == 0x35) || in fpu_vis_sim()
576 (fp.inst.op3 == 0x37))) { 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()
600 uint32_t inst) /* The FPU instruction to simulate */ in fpu_simulator() argument
604 fp_inst_type inst; in fpu_simulator() member
607 fp.i = inst; in fpu_simulator()
615 return (_fp_fpu_simulator(pfpsd, fp.inst, pfsr, gsr)); in fpu_simulator()
633 fp_inst_type inst; in fp_emulator() member
653 if ((fp.inst.hibits == 2) && in fp_emulator()
654 ((fp.inst.op3 == 0x34) || (fp.inst.op3 == 0x35) || in fp_emulator()
655 (fp.inst.op3 == 0x37))) { in fp_emulator()
656 ftt = _fp_fpu_simulator(pfpsd, fp.inst, (fsr_type *)&tfsr, gsr); in fp_emulator()
670 } else if ((fp.inst.hibits == 2) && (fp.inst.op3 == 0x36)) { 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()
693 if ((fp.inst.hibits == 2) && /* fpops */ in fp_emulator()
694 ((fp.inst.op3 == 0x34) || (fp.inst.op3 == 0x35) || in fp_emulator()
695 (fp.inst.op3 == 0x37))) { in fp_emulator()
696 ftt = _fp_fpu_simulator(pfpsd, fp.inst, (fsr_type *)&tfsr, gsr); in fp_emulator()
710 } else if ((fp.inst.hibits == 2) && (fp.inst.op3 == 0x36)) { in fp_emulator()
711 ftt = vis_fpu_simulator(pfpsd, fp.inst, in fp_emulator()
715 ((fp.inst.hibits == 2) && ((fp.inst.op3 & 0x3f) == 0x28) && in fp_emulator()
716 (fp.inst.rs1 == 0x13)) || in fp_emulator()
718 ((fp.inst.hibits == 2) && ((fp.inst.op3 & 0x3f) == 0x30) && in fp_emulator()
719 (fp.inst.rd == 0x13)) || in fp_emulator()
721 ((fp.inst.hibits == 2) && ((fp.inst.op3 & 0x3f) == 0x2c) && in fp_emulator()
724 ((fp.inst.hibits == 0) && (((fp.i>>22) & 0x7) == 5)) || in fp_emulator()
726 ((fp.inst.hibits == 3) && ((fp.inst.op3 & 0x38) == 0x20)) || in fp_emulator()
728 ((fp.inst.hibits == 0) && (((fp.i>>22) & 0x7) == 6))) { in fp_emulator()
729 ftt = _fp_iu_simulator(pfpsd, fp.inst, pregs, prw, pfpu); in fp_emulator()