Lines Matching defs:fe
90 static struct fpemu fe;
97 fe.fe_frame = frame;
98 fe.fe_fpframe = fpf;
99 fe.fe_fpsr = fpf->fpf_fpsr;
100 fe.fe_fpcr = fpf->fpf_fpcr;
103 __func__, fe.fe_fpsr, fe.fe_fpcr));
167 sig = fpu_emul_fmovm(&fe, &insn);
170 sig = fpu_emul_fmovmcr(&fe, &insn);
176 sig = fpu_emul_fstore(&fe, &insn);
180 sig = fpu_emul_fmovecr(&fe, &insn);
184 sig = fpu_emul_fscale(&fe, &insn);
188 sig = fpu_emul_arith(&fe, &insn);
192 sig = fpu_upd_excp(&fe);
199 sig = fpu_emul_brcc(&fe, &insn);
203 sig = fpu_emul_type1(&fe, &insn);
243 fe.fe_fpsr, fe.fe_fpcr));
252 fpu_upd_excp(struct fpemu *fe)
257 fpsr = fe->fe_fpsr;
258 fpcr = fe->fe_fpcr;
279 fe->fe_fpframe->fpf_fpsr = fe->fe_fpsr = fpsr;
286 fpu_upd_fpsr(struct fpemu *fe, struct fpn *fp)
290 DPRINTF(("%s: previous fpsr=%08x\n", __func__, fe->fe_fpsr));
292 fpsr = fe->fe_fpsr & ~FPSR_CCB;
325 fe->fe_fpsr = fe->fe_fpframe->fpf_fpsr = fpsr;
327 DPRINTF(("%s: new fpsr=%08x\n", __func__, fe->fe_fpframe->fpf_fpsr));
333 fpu_emul_fmovmcr(struct fpemu *fe, struct instruction *insn)
335 struct frame *frame = fe->fe_frame;
336 struct fpframe *fpf = fe->fe_fpframe;
445 fpu_emul_fmovm(struct fpemu *fe, struct instruction *insn)
447 struct frame *frame = fe->fe_frame;
448 struct fpframe *fpf = fe->fe_fpframe;
539 fpu_cmp(struct fpemu *fe)
541 struct fpn *x = &fe->fe_f1, *y = &fe->fe_f2;
580 x = fpu_add(fe); /* (x - y) */
598 fpu_emul_arith(struct fpemu *fe, struct instruction *insn)
600 struct frame *frame = fe->fe_frame;
601 uint32_t *fpregs = &(fe->fe_fpframe->fpf_regs[0]);
613 fe->fe_fpsr &= ~FPSR_EXCP;
618 fe->fe_fpsr, fe->fe_fpcr));
629 fpu_explode(fe, &fe->fe_f1, FTYPE_EXT, &fpregs[regnum * 3]);
640 fpu_explode(fe, &fe->fe_f2, FTYPE_EXT, &fpregs[format * 3]);
733 fpu_explode(fe, &fe->fe_f2, format, buf);
743 * fe->fe_f2 as its operand, and return a pointer to the
747 * fe->fe_f1 and fe->fe_f2 as its two operands, and return a
754 res = &fe->fe_f2;
758 res = fpu_int(fe);
762 res = fpu_sinh(fe);
766 res = fpu_intrz(fe);
770 res = fpu_sqrt(fe);
774 res = fpu_lognp1(fe);
778 res = fpu_etoxm1(fe);
782 res = fpu_tanh(fe);
786 res = fpu_atan(fe);
790 res = fpu_asin(fe);
794 res = fpu_atanh(fe);
798 res = fpu_sin(fe);
802 res = fpu_tan(fe);
806 res = fpu_etox(fe);
810 res = fpu_twotox(fe);
814 res = fpu_tentox(fe);
818 res = fpu_logn(fe);
822 res = fpu_log10(fe);
826 res = fpu_log2(fe);
830 fe->fe_f2.fp_sign = 0;
831 res = &fe->fe_f2;
835 res = fpu_cosh(fe);
839 fe->fe_f2.fp_sign = !fe->fe_f2.fp_sign;
840 res = &fe->fe_f2;
844 res = fpu_acos(fe);
848 res = fpu_cos(fe);
852 res = fpu_getexp(fe);
856 res = fpu_getman(fe);
861 res = fpu_div(fe);
865 res = fpu_mod(fe);
869 fe->fe_f2.fp_sign = !fe->fe_f2.fp_sign; /* f2 = -f2 */
872 res = fpu_add(fe);
877 res = fpu_mul(fe);
881 res = fpu_rem(fe);
896 res = fpu_sincos(fe, word1 & 7);
900 res = fpu_cmp(fe);
905 res = &fe->fe_f2;
921 fpu_implode(fe, res, FTYPE_EXT, &fpregs[regnum * 3]);
924 fpu_upd_fpsr(fe, res);
948 fe->fe_fpsr, fe->fe_fpcr));
961 test_cc(struct fpemu *fe, int pred)
966 fpsr = fe->fe_fpsr;
1046 fe->fe_fpframe->fpf_fpsr = fe->fe_fpsr = fpsr;
1059 fpu_emul_type1(struct fpemu *fe, struct instruction *insn)
1061 struct frame *frame = fe->fe_frame;
1065 branch = test_cc(fe, insn->is_word1);
1068 fe->fe_fpframe->fpf_fpsr = fe->fe_fpsr;
1151 fpu_emul_brcc(struct fpemu *fe, struct instruction *insn)
1179 sig = test_cc(fe, insn->is_opcode);
1180 fe->fe_fpframe->fpf_fpsr = fe->fe_fpsr;
1182 if (fe->fe_fpsr & fe->fe_fpcr & FPSR_EXCP) {