Home | History | Annotate | Download | only in fpu

Lines Matching defs:instr

94 #include <powerpc/instr.h>
170 static int fpu_execute(struct trapframe *, struct fpemu *, union instr *);
210 union instr insn;
344 fpu_execute(struct trapframe *tf, struct fpemu *fe, union instr *insn)
347 union instr instr = *insn;
364 cond = instr.i_any.i_rc;
373 opc_disasm(loc, instr.i_int);
381 if ((instr.i_any.i_opcd >= OPC_LFS && instr.i_any.i_opcd <= OPC_STFDU) ||
382 instr.i_any.i_opcd == OPC_integer_31) {
396 if (instr.i_any.i_opcd == OPC_integer_31) {
397 if (instr.i_x.i_xo == OPC31_STFIWX) {
401 ra = instr.i_x.i_ra;
402 rb = instr.i_x.i_rb;
409 rt = instr.i_x.i_rt;
421 if ((instr.i_x.i_xo & OPC31_FPMASK) != OPC31_FPOP)
425 store = (instr.i_x.i_xo & 0x80);
426 if ((instr.i_x.i_xo & 0x40) == 0) {
430 update = (instr.i_x.i_xo & 0x20);
433 ra = instr.i_x.i_ra;
434 rb = instr.i_x.i_rb;
440 rt = instr.i_x.i_rt;
442 store = instr.i_d.i_opcd & 0x4;
443 if ((instr.i_d.i_opcd & 0x2) == 0) {
447 update = instr.i_d.i_opcd & 0x1;
450 ra = instr.i_d.i_ra;
451 addr = instr.i_d.i_d;
456 rt = instr.i_d.i_rt;
509 } else if (instr.i_any.i_opcd == OPC_sp_fp_59 ||
510 instr.i_any.i_opcd == OPC_dp_fp_63) {
513 if (instr.i_any.i_opcd == OPC_dp_fp_63 &&
514 !(instr.i_a.i_xo & OPC63M_MASK)) {
516 rt = instr.i_x.i_rt;
517 ra = instr.i_x.i_ra;
518 rb = instr.i_x.i_rb;
522 switch (instr.i_x.i_xo) {
533 bf = instr.i_x.i_rs & 0xfc;
561 if (instr.i_x.i_xo == OPC63_FCTIWZ)
574 bf = instr.i_x.i_rs & 0xfc;
652 if ((rt = instr.i_xfl.i_flm) == -1) {
672 if (instr.i_x.i_xo == OPC63_FCTIDZ)
688 rt = instr.i_a.i_frt;
689 ra = instr.i_a.i_fra;
690 rb = instr.i_a.i_frb;
691 rc = instr.i_a.i_frc;
698 switch ((unsigned int)instr.i_a.i_xo) {
817 if (!(instr.i_any.i_opcd & 0x4)) {