Lines Matching refs:fpscr
112 vfp->hard.fpscr = FPSCR_ROUND_NEAREST;
243 static void vfp_raise_exceptions(u32 exceptions, u32 inst, u32 fpscr, struct pt_regs *regs)
261 fpscr &= ~(FPSCR_N|FPSCR_Z|FPSCR_C|FPSCR_V);
263 fpscr |= exceptions;
265 fmxr(FPSCR, fpscr);
268 if (exceptions & stat && fpscr & en) \
287 static u32 vfp_emulate_instruction(u32 inst, u32 fpscr, struct pt_regs *regs)
291 pr_debug("VFP: emulate: INST=0x%08x SCR=0x%08x\n", inst, fpscr);
299 exceptions = vfp_single_cpdo(inst, fpscr);
301 exceptions = vfp_double_cpdo(inst, fpscr);
326 u32 fpscr, orig_fpscr, fpsid, exceptions;
346 orig_fpscr = fpscr = fmrx(FPSCR);
352 && (fpscr & FPSCR_IXE)) {
372 vfp_raise_exceptions(VFP_EXCEPTION_ERROR, trigger, fpscr, regs);
377 * Modify fpscr to indicate the number of iterations remaining.
386 fpscr &= ~FPSCR_LENGTH_MASK;
387 fpscr |= (len & FPEXC_LENGTH_MASK) << (FPSCR_LENGTH_BIT - FPEXC_LENGTH_BIT);
395 exceptions = vfp_emulate_instruction(trigger, fpscr, regs);
566 ufp->fpscr = hwstate->fpscr;
582 hwstate->fpscr &= ~(FPSCR_LENGTH_MASK | FPSCR_STRIDE_MASK);
604 hwstate->fpscr = ufp->fpscr;
754 u32 fpscr = fmrx(FPSCR);
762 if (!(fpscr & FPSCR_IXE)) {
763 if (!(fpscr & FPSCR_LENGTH_MASK)) {