/illumos-gate/usr/src/lib/libc/sparc/fp/ |
H A D | _Q_cmp.c | 42 unsigned int xm, ym, fsr; local 48 __quad_getfsrp(&fsr); 49 if (fsr & FSR_NVM) { 50 __quad_fcmpq(x, y, &fsr); 51 return ((fsr >> 10) & 3); 53 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; 54 __quad_setfsrp(&fsr);
|
H A D | _Q_cmpe.c | 42 unsigned int xm, ym, fsr; local 46 __quad_getfsrp(&fsr); 47 if (fsr & FSR_NVM) { 48 __quad_fcmpeq(x, y, &fsr); 49 return ((fsr >> 10) & 3); 51 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; 52 __quad_setfsrp(&fsr);
|
H A D | _Q_qtoi.c | 41 unsigned int xm, fsr; local 46 __quad_getfsrp(&fsr); 55 if (fsr & FSR_NXM) { 58 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | 60 __quad_setfsrp(&fsr); 66 if (fsr & FSR_NVM) { 69 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; 70 __quad_setfsrp(&fsr); [all...] |
H A D | _Q_qtou.c | 42 unsigned int xm, fsr; local 47 __quad_getfsrp(&fsr); 56 if (fsr & FSR_NXM) { 95 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | 97 __quad_setfsrp(&fsr); 107 if (fsr & FSR_NXM) { 110 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | 112 __quad_setfsrp(&fsr); [all...] |
H A D | _Q_dtoq.c | 54 unsigned int m, lhi, llo, fsr; local 81 __quad_getfsrp(&fsr); 82 if (fsr & FSR_NVM) { 86 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; 87 __quad_setfsrp(&fsr);
|
H A D | _Q_qtod.c | 42 unsigned int xm, round, sticky, fsr, rm; local 49 __quad_getfsrp(&fsr); 50 rm = fsr >> 30; 67 if (fsr & FSR_NVM) { 70 fsr = (fsr & ~FSR_CEXC) | 72 __quad_setfsrp(&fsr); 91 if (fsr & (FSR_OFM | FSR_NXM)) { 94 fsr = (fsr [all...] |
H A D | _Q_stoq.c | 57 unsigned int m, f, fsr; local 81 __quad_getfsrp(&fsr); 82 if (fsr & FSR_NVM) { 86 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; 87 __quad_setfsrp(&fsr);
|
H A D | _Q_add.c | 53 unsigned int xm, ym, tm, fsr; local 71 /* get the fsr */ 72 __quad_getfsrp(&fsr); 85 if (fsr & FSR_NVM) { 90 fsr = (fsr & ~FSR_CEXC) | 92 __quad_setfsrp(&fsr); 105 if (fsr & FSR_NVM) { 111 fsr = (fsr [all...] |
H A D | _Q_fcc.c | 48 unsigned int fsr; local 54 __quad_getfsrp(&fsr); 55 if (fsr & FSR_NVM) { 56 __quad_fcmpq(x, y, &fsr); 57 return (((fsr >> 10) & 3) == fcc_equal); 59 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; 60 __quad_setfsrp(&fsr); 79 unsigned int fsr; local 85 __quad_getfsrp(&fsr); 109 unsigned int xm, ym, fsr; local 152 unsigned int xm, ym, fsr; local 196 unsigned int xm, ym, fsr; local 239 unsigned int xm, ym, fsr; local [all...] |
H A D | _Q_qtos.c | 45 unsigned int xm, round, sticky, fsr, rm; local 52 __quad_getfsrp(&fsr); 53 rm = fsr >> 30; 68 if (fsr & FSR_NVM) { 71 fsr = (fsr & ~FSR_CEXC) | 73 __quad_setfsrp(&fsr); 88 if (fsr & (FSR_OFM | FSR_NXM)) { 91 fsr = (fsr [all...] |
H A D | _Q_sub.c | 53 unsigned int xm, ym, tm, fsr; local 74 /* get the fsr */ 75 __quad_getfsrp(&fsr); 88 if (fsr & FSR_NVM) { 93 fsr = (fsr & ~FSR_CEXC) | 95 __quad_setfsrp(&fsr); 108 if (fsr & FSR_NVM) { 114 fsr = (fsr [all...] |
H A D | __quad_mag.c | 37 * __quad_mag_add(x, y, z, fsr) 39 * Sets *z = *x + *y, rounded according to the rounding mode in *fsr, 40 * and updates the current exceptions in *fsr. This routine assumes 46 union longdouble *z, unsigned int *fsr) 148 rm = *fsr >> 30; 154 *fsr |= FSR_NXC; 172 *fsr |= FSR_OFC | FSR_NXC; 191 if (uflo && (*fsr & FSR_UFM)) 192 *fsr |= FSR_UFC; 197 * __quad_mag_sub(x, y, z, fsr) 45 __quad_mag_add(const union longdouble *x, const union longdouble *y, union longdouble *z, unsigned int *fsr) argument 205 __quad_mag_sub(const union longdouble *x, const union longdouble *y, union longdouble *z, unsigned int *fsr) argument [all...] |
/illumos-gate/usr/src/lib/libc/sparcv9/fp/ |
H A D | _Qp_qtoux.c | 39 unsigned int xm, fsr; local 43 __quad_getfsrp(&fsr); 53 if (fsr & FSR_NXM) { 92 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | 94 __quad_setfsrp(&fsr); 105 if (fsr & FSR_NXM) { 108 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | 110 __quad_setfsrp(&fsr); [all...] |
H A D | _Qp_qtox.c | 38 unsigned int xm, fsr; local 42 __quad_getfsrp(&fsr); 52 if (fsr & FSR_NXM) { 55 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | 57 __quad_setfsrp(&fsr); 64 if (fsr & FSR_NVM) { 67 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; 68 __quad_setfsrp(&fsr); [all...] |
/illumos-gate/usr/src/lib/libm/common/m9x/ |
H A D | feprec.c | 40 unsigned long fsr; local 42 __fenv_getfsr(&fsr); 43 return __fenv_get_rp(fsr); 48 unsigned long fsr; local 52 __fenv_getfsr(&fsr); 53 __fenv_set_rp(fsr, r); 54 __fenv_setfsr(&fsr);
|
H A D | feround.c | 47 unsigned long fsr; local 49 __fenv_getfsr(&fsr); 50 return (int)__fenv_get_rd(fsr); 55 unsigned long fsr; local 59 __fenv_getfsr(&fsr); 60 __fenv_set_rd(fsr, r); 61 __fenv_setfsr(&fsr); 70 unsigned long fsr; local 74 __fenv_getfsr(&fsr); 75 __fenv_set_rd(fsr, [all...] |
H A D | feexcept.c | 52 unsigned long fsr; local 54 __fenv_getfsr(&fsr); 55 __fenv_set_ex(fsr, __fenv_get_ex(fsr) & ~e); 56 __fenv_setfsr(&fsr); 68 unsigned long fsr; local 80 __fenv_getfsr(&fsr); 81 if (!(__fenv_get_te(fsr) & (1 << fp_trap_overflow))) { 82 __fenv_set_ex(fsr, __fenv_get_ex(fsr) | FE_OVERFLO 111 unsigned long fsr; local 119 unsigned long fsr; local 128 unsigned long fsr; local [all...] |
H A D | fenv.c | 85 unsigned long fsr; local 87 __fenv_getfsr(&fsr); 89 (void) feraiseexcept((int)__fenv_get_ex(fsr)); 109 unsigned long fsr; local 111 __fenv_getfsr(&fsr); 112 __fenv_set_ex(fsr, __fenv_get_ex(fsr) | __fenv_get_ex(p->__fsr)); 113 __fenv_setfsr(&fsr);
|
H A D | lrintl.c | 51 unsigned int hx, sx, frac, l, fsr; local 68 __fenv_getfsr32(&fsr); 69 rm = fsr >> 30;
|
H A D | nearbyintl.c | 50 unsigned int fsr; local 72 __fenv_getfsr32(&fsr); 73 rm = fsr >> 30;
|
H A D | __fex_sparc.c | 189 unsigned long fsr; local 465 __fenv_getfsr(&fsr); 466 info->flags = (int)__fenv_get_ex(fsr); 467 __fenv_set_ex(fsr, 0); 468 __fenv_setfsr(&fsr);
|
H A D | llrintl.c | 57 unsigned int hx, sx, frac, fsr; local 74 __fenv_getfsr32(&fsr); 75 rm = fsr >> 30;
|
/illumos-gate/usr/src/lib/libm/sparc/src/ |
H A D | libm_inlines.h | 176 uint32_t fsr; local 183 "st %%fsr,%1\n\t" 184 "ld %1,%0\n\t" /* %0 = fsr */ 186 "or %2,%3,%2\n\t" /* %2 = new fsr */ 188 "ld %1,%%fsr\n\t" 192 : "=r" (ret), "=m" (fsr), "=r" (tmp1), "=r" (tmp2) 214 uint32_t fsr; local 221 "st %%fsr,%1\n\t" 222 "ld %1,%0\n\t" /* %0 = fsr */ 225 "or %2,%3,%2\n\t" /* %2 = new fsr */ 242 uint32_t fsr, tmp1, tmp2; local [all...] |
/illumos-gate/usr/src/lib/libm/sparcv9/src/ |
H A D | libm_inlines.h | 169 uint32_t fsr; local 176 "st %%fsr,%1\n\t" 177 "ld %1,%0\n\t" /* %0 = fsr */ 179 "or %2,%3,%2\n\t" /* %2 = new fsr */ 181 "ld %1,%%fsr\n\t" 185 : "=r" (ret), "=m" (fsr), "=r" (tmp1), "=r" (tmp2) 207 uint32_t fsr; local 214 "st %%fsr,%1\n\t" 215 "ld %1,%0\n\t" /* %0 = fsr */ 219 "or %2,%3,%2\n\t" /* %2 = new fsr */ 236 uint32_t fsr; local [all...] |
/illumos-gate/usr/src/uts/sparc/fpu/ |
H A D | iu_simulator.c | 48 fsr_type fsr; local 64 fsr.ll = pfpu->fpu_fsr; 69 fcc = fsr.fcc0; 72 fcc = fsr.fcc1; 75 fcc = fsr.fcc2; 78 fcc = fsr.fcc3; 82 fcc = fsr.fcc0;
|