Lines Matching refs:cx
85 round(struct fpemu *fe, struct fpn *fp, int *cx)
107 *cx |= FPSCR_FI; /* inexact */
143 *cx |= FPSCR_FR;
197 round_int(struct fpn *fp, int *cx, int rn, int sign, int odd)
207 *cx |= FPSCR_FI;
226 *cx |= FPSCR_FR;
234 fpu_ftoi(struct fpemu *fe, struct fpn *fp, int *cx, int rn)
242 *cx |= FPSCR_VXSNAN;
271 *cx |= tmp_cx;
278 *cx |= FPSCR_VXCVI;
286 fpu_ftox(struct fpemu *fe, struct fpn *fp, int *cx, int rn)
294 *cx |= FPSCR_VXSNAN;
323 *cx |= tmp_cx;
330 *cx |= FPSCR_VXCVI;
341 fpu_ftos(struct fpemu *fe, struct fpn *fp, int *cx)
351 *cx |= FPSCR_C | FPSCR_FU;
362 *cx |= FPRF_SIGN(sign) | FPSCR_FU;
366 *cx |= FPSCR_FE;
368 *cx |= FPSCR_C;
396 if (round(fe, fp, cx) && fp->fp_mant[3] == SNG_EXP(1)) {
397 *cx |= FPRF_SIGN(sign);
400 if (*cx & FPSCR_FI) {
401 *cx |= FPSCR_UX;
403 *cx |= FPSCR_FE;
407 *cx |= FPSCR_C | FPRF_SIGN(sign);
416 if (round(fe, fp, cx) && fp->fp_mant[3] == SNG_EXP(2))
419 *cx |= FPSCR_OX | FPSCR_FI;
422 *cx |= FPRF_SIGN(sign) | FPSCR_FU;
425 *cx |= FPRF_SIGN(sign);
428 *cx |= FPRF_SIGN(sign);
440 fpu_ftod(struct fpemu *fe, struct fpn *fp, int *cx)
451 *cx |= FPSCR_C | FPSCR_FU;
457 *cx |= FPRF_SIGN(sign) | FPSCR_FU;
461 *cx |= FPSCR_FE;
463 *cx |= FPSCR_C;
469 if (round(fe, fp, cx) && fp->fp_mant[2] == DBL_EXP(1)) {
470 *cx |= FPRF_SIGN(sign);
473 if (*cx & FPSCR_FI) {
474 *cx |= FPSCR_UX;
477 *cx |= FPSCR_FE;
481 *cx |= FPSCR_C | FPRF_SIGN(sign);
486 if (round(fe, fp, cx) && fp->fp_mant[2] == DBL_EXP(2))
489 *cx |= FPSCR_OX | FPSCR_FI;
492 *cx |= FPRF_SIGN(sign) | FPSCR_FU;
495 *cx |= FPRF_SIGN(sign);
499 *cx |= FPRF_SIGN(sign);
512 int cx, rn;
525 cx = 0;
530 *p = fpu_ftox(fe, fp, &cx, rn);
537 *lo = fpu_ftoi(fe, fp, &cx, rn);
542 *hi = fpu_ftos(fe, fp, &cx);
548 *p = fpu_ftod(fe, fp, &cx);
558 fe->fe_cx |= cx;
559 if (cx & FPSCR_FI)