Lines Matching refs:fpc
154 static inline void do_fp_trap(struct pt_regs *regs, int fpc) in do_fp_trap() argument
158 if ((fpc & 0x00000300) == 0) { in do_fp_trap()
160 if (fpc & 0x8000) /* invalid fp operation */ in do_fp_trap()
162 else if (fpc & 0x4000) /* div by 0 */ in do_fp_trap()
164 else if (fpc & 0x2000) /* overflow */ in do_fp_trap()
166 else if (fpc & 0x1000) /* underflow */ in do_fp_trap()
168 else if (fpc & 0x0800) /* inexact */ in do_fp_trap()
262 asm volatile("stfpc %0" : "=m" (current->thread.fp_regs.fpc)); in vector_exception()
263 vic = (current->thread.fp_regs.fpc & 0xf00) >> 8; in vector_exception()
300 asm volatile("stfpc %0" : "=m" (current->thread.fp_regs.fpc)); in data_exception()
303 (current->thread.fp_regs.fpc & FPC_DXC_MASK) == 0xfe00) { in data_exception()
310 if (current->thread.fp_regs.fpc & FPC_DXC_MASK) in data_exception()
315 do_fp_trap(regs, current->thread.fp_regs.fpc); in data_exception()