Lines Matching refs:fp

59 fp_prsave(kfpu_t *fp)  in fp_prsave()  argument
61 if ((fp->fpu_en) || (fp->fpu_fprs & FPRS_FEF)) { in fp_prsave()
64 fp->fpu_fprs = _fp_read_fprs(); in fp_prsave()
65 if ((fp->fpu_fprs & FPRS_FEF) != FPRS_FEF) { in fp_prsave()
69 fp->fpu_fprs = fprs; in fp_prsave()
76 fp_fksave(fp); in fp_prsave()
130 fp_free(kfpu_t *fp, int isexec) in fp_free() argument
135 if (curthread->t_lwp != NULL && lwptofpu(curthread->t_lwp) == fp) { in fp_free()
136 fp->fpu_en = 0; in fp_free()
137 fp->fpu_fprs = fprs; in fp_free()
154 kfpu_t *fp; in fp_enable() local
158 fp = lwptofpu(lwp); in fp_enable()
161 if (fp->fpu_en) { in fp_enable()
167 if ((fp->fpu_fprs & FPRS_FEF) != FPRS_FEF) { in fp_enable()
168 fp->fpu_fprs = FPRS_FEF; in fp_enable()
176 fp_restore(fp); in fp_enable()
178 fp->fpu_en = 1; in fp_enable()
179 fp->fpu_fsr = 0; in fp_enable()
180 fp->fpu_fprs = FPRS_FEF; in fp_enable()
182 fp_clearregs(fp); in fp_enable()
187 if (!fp->fpu_en) { in fp_enable()
188 fp->fpu_en = 1; in fp_enable()
189 fp->fpu_fsr = 0; in fp_enable()
191 fp->fpu_fr.fpu_regs[i] = (uint_t)-1; /* NaN */ in fp_enable()
193 fp->fpu_fr.fpu_dregs[i] = (uint64_t)-1; in fp_enable()
211 kfpu_t *fp; in fp_disabled() local
250 fp = lwptofpu(lwp); in fp_disabled()
253 if (fp->fpu_en) { in fp_disabled()
259 if ((fp->fpu_fprs & FPRS_FEF) != FPRS_FEF) { in fp_disabled()
260 fp->fpu_fprs = FPRS_FEF; in fp_disabled()
268 fp_restore(fp); in fp_disabled()
270 fp->fpu_en = 1; in fp_disabled()
271 fp->fpu_fsr = 0; in fp_disabled()
272 fp->fpu_fprs = FPRS_FEF; in fp_disabled()
274 fp_clearregs(fp); in fp_disabled()
282 if (!fp->fpu_en) { in fp_disabled()
283 fp->fpu_en = 1; in fp_disabled()
284 fp->fpu_fsr = 0; in fp_disabled()
286 fp->fpu_fr.fpu_regs[i] = (uint_t)-1; /* NaN */ in fp_disabled()
288 fp->fpu_fr.fpu_dregs[i] = (uint64_t)-1; in fp_disabled()
291 rp, (ulong_t *)rp->r_sp, fp)) { in fp_disabled()
292 fp->fpu_q_entrysize = sizeof (struct _fpq); in fp_disabled()
320 kfpu_t *fp = lwptofpu(curthread->t_lwp); in fp_runq() local
321 struct _fq *fqp = fp->fpu_q; in fp_runq()
323 uint64_t gsr = get_gsr(fp); in fp_runq()
330 while (fp->fpu_qcnt) { in fp_runq()
335 (fsr_type *)&fp->fpu_fsr, gsr, in fp_runq()
344 if (fqp != fp->fpu_q) { in fp_runq()
354 fqdp = fp->fpu_q; in fp_runq()
355 for (i = fp->fpu_qcnt; i; i--) { in fp_runq()
358 fqp = fp->fpu_q; in fp_runq()
360 fp->fpu_q_entrysize = sizeof (struct _fpq); in fp_runq()
369 _fp_write_pfsr(&fp->fpu_fsr); in fp_runq()
382 fp->fpu_qcnt--; in fp_runq()
395 _fp_read_pfreg(&fp->fpu_fr.fpu_regs[i], i); in fp_runq()
397 _fp_read_pdreg(&fp->fpu_fr.fpu_dregs[i], i); in fp_runq()
398 _fp_write_pfsr(&fp->fpu_fsr); in fp_runq()
423 kfpu_t *fp = lwptofpu(lwp); in fp_precise() local
427 save_gsr(fp); in fp_precise()
428 gsr = get_gsr(fp); in fp_precise()
468 struct _fpq *pfpq = &fp->fpu_q->FQu.fpq; in fp_precise()
474 fp->fpu_qcnt = 1; in fp_precise()
475 fp->fpu_q_entrysize = sizeof (struct _fpq); in fp_precise()
481 (fsr_type *)&fp->fpu_fsr, gsr, kluge.i); in fp_precise()
485 _fp_write_pfsr(&fp->fpu_fsr); in fp_precise()
490 fp->fpu_qcnt = 0; in fp_precise()
497 fp->fpu_qcnt = 0; in fp_precise()
500 fp->fpu_qcnt = 0; in fp_precise()
504 fp_save(fp); in fp_precise()