/illumos-gate/usr/src/lib/libm/common/m9x/ |
H A D | feexcept.c | 52 unsigned long fsr; in feclearexcept() local 54 __fenv_getfsr(&fsr); in feclearexcept() 55 __fenv_set_ex(fsr, __fenv_get_ex(fsr) & ~e); in feclearexcept() 56 __fenv_setfsr(&fsr); in feclearexcept() 68 unsigned long fsr; in feraiseexcept() local 80 __fenv_getfsr(&fsr); in feraiseexcept() 81 if (!(__fenv_get_te(fsr) & (1 << fp_trap_overflow))) { in feraiseexcept() 82 __fenv_set_ex(fsr, __fenv_get_ex(fsr) | FE_OVERFLOW); in feraiseexcept() 83 __fenv_setfsr(&fsr); in feraiseexcept() 92 __fenv_getfsr(&fsr); in feraiseexcept() [all …]
|
H A D | feround.c | 47 unsigned long fsr; in fegetround() local 49 __fenv_getfsr(&fsr); in fegetround() 50 return (int)__fenv_get_rd(fsr); in fegetround() 55 unsigned long fsr; in fesetround() local 59 __fenv_getfsr(&fsr); in fesetround() 60 __fenv_set_rd(fsr, r); in fesetround() 61 __fenv_setfsr(&fsr); in fesetround() 70 unsigned long fsr; in fesetround96() local 74 __fenv_getfsr(&fsr); in fesetround96() 75 __fenv_set_rd(fsr, r); in fesetround96() [all …]
|
H A D | feprec.c | 40 unsigned long fsr; in fegetprec() local 42 __fenv_getfsr(&fsr); in fegetprec() 43 return __fenv_get_rp(fsr); in fegetprec() 48 unsigned long fsr; in fesetprec() local 52 __fenv_getfsr(&fsr); in fesetprec() 53 __fenv_set_rp(fsr, r); in fesetprec() 54 __fenv_setfsr(&fsr); in fesetprec()
|
H A D | fenv.c | 85 unsigned long fsr; in feupdateenv() local 87 __fenv_getfsr(&fsr); in feupdateenv() 89 (void) feraiseexcept((int)__fenv_get_ex(fsr)); in feupdateenv() 109 unsigned long fsr; in fex_merge_flags() local 111 __fenv_getfsr(&fsr); in fex_merge_flags() 112 __fenv_set_ex(fsr, __fenv_get_ex(fsr) | __fenv_get_ex(p->__fsr)); in fex_merge_flags() 113 __fenv_setfsr(&fsr); in fex_merge_flags()
|
H A D | __fex_hdlr.c | 93 __fex_te_needed(struct fex_handler_data *thr_handlers, unsigned long fsr) in __fex_te_needed() argument 105 ex = (int)__fenv_get_ex(fsr); in __fex_te_needed() 194 unsigned long fsr; in __fex_sync_with_threads() local 195 __fenv_getfsr(&fsr); in __fex_sync_with_threads() 196 __fenv_set_te(fsr, 0); in __fex_sync_with_threads() 197 __fenv_setfsr(&fsr); in __fex_sync_with_threads() 235 unsigned long fsr, tmpfsr, addr; in __fex_hdlr() local 285 __fenv_getfsr(&fsr); in __fex_hdlr() 286 __fenv_set_te(fsr, 0); in __fex_hdlr() 287 __fenv_set_ex(fsr, 0); in __fex_hdlr() [all …]
|
H A D | fma.c | 77 unsigned int xy0, xy1, xy2, xy3, z0, z1, z2, z3, fsr, rm, sticky; in __fma() local 109 __fenv_getfsr32(&fsr); in __fma() 300 rm = fsr >> 30; in __fma() 301 fsr &= ~FSR_CEXC; in __fma() 312 __fenv_setfsr32(&fsr); in __fma() 326 fsr |= FSR_NXC; in __fma() 350 fsr |= FSR_OFC | FSR_NXC; in __fma() 361 fsr |= FSR_UFC | FSR_NXC; in __fma() 362 else if (fsr & FSR_UFM) in __fma() 363 fsr |= FSR_UFC; in __fma() [all …]
|
/illumos-gate/usr/src/lib/libc/sparc/fp/ |
H A D | _Q_fcc.c | 46 unsigned int fsr; in _Q_feq() local 52 __quad_getfsrp(&fsr); in _Q_feq() 53 if (fsr & FSR_NVM) { in _Q_feq() 54 __quad_fcmpq(x, y, &fsr); in _Q_feq() 55 return (((fsr >> 10) & 3) == fcc_equal); in _Q_feq() 57 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; in _Q_feq() 58 __quad_setfsrp(&fsr); in _Q_feq() 77 unsigned int fsr; in _Q_fne() local 83 __quad_getfsrp(&fsr); in _Q_fne() 84 if (fsr & FSR_NVM) { in _Q_fne() [all …]
|
H A D | _Q_qtos.c | 43 unsigned int xm, round, sticky, fsr, rm; in _Q_qtos() local 50 __quad_getfsrp(&fsr); in _Q_qtos() 51 rm = fsr >> 30; in _Q_qtos() 66 if (fsr & FSR_NVM) { in _Q_qtos() 69 fsr = (fsr & ~FSR_CEXC) | in _Q_qtos() 71 __quad_setfsrp(&fsr); in _Q_qtos() 86 if (fsr & (FSR_OFM | FSR_NXM)) { in _Q_qtos() 89 fsr = (fsr & ~FSR_CEXC) | FSR_OFA | FSR_OFC | in _Q_qtos() 91 __quad_setfsrp(&fsr); in _Q_qtos() 106 if (fsr & (FSR_UFM | FSR_NXM)) { in _Q_qtos() [all …]
|
H A D | _Q_qtoi.c | 39 unsigned int xm, fsr; in _Q_qtoi() local 44 __quad_getfsrp(&fsr); in _Q_qtoi() 53 if (fsr & FSR_NXM) { in _Q_qtoi() 56 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | in _Q_qtoi() 58 __quad_setfsrp(&fsr); in _Q_qtoi() 64 if (fsr & FSR_NVM) { in _Q_qtoi() 67 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; in _Q_qtoi() 68 __quad_setfsrp(&fsr); in _Q_qtoi() 76 if (fsr & FSR_NXM) { in _Q_qtoi() 79 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | FSR_NXC; in _Q_qtoi() [all …]
|
H A D | _Q_qtod.c | 40 unsigned int xm, round, sticky, fsr, rm; in _Q_qtod() local 47 __quad_getfsrp(&fsr); in _Q_qtod() 48 rm = fsr >> 30; in _Q_qtod() 65 if (fsr & FSR_NVM) { in _Q_qtod() 68 fsr = (fsr & ~FSR_CEXC) | in _Q_qtod() 70 __quad_setfsrp(&fsr); in _Q_qtod() 89 if (fsr & (FSR_OFM | FSR_NXM)) { in _Q_qtod() 92 fsr = (fsr & ~FSR_CEXC) | FSR_OFA | FSR_OFC | in _Q_qtod() 94 __quad_setfsrp(&fsr); in _Q_qtod() 110 if (fsr & (FSR_UFM | FSR_NXM)) { in _Q_qtod() [all …]
|
H A D | _Q_add.c | 51 unsigned int xm, ym, tm, fsr; in _Qp_add() local 70 __quad_getfsrp(&fsr); in _Qp_add() 83 if (fsr & FSR_NVM) { in _Qp_add() 88 fsr = (fsr & ~FSR_CEXC) | in _Qp_add() 90 __quad_setfsrp(&fsr); in _Qp_add() 103 if (fsr & FSR_NVM) { in _Qp_add() 109 fsr = (fsr & ~FSR_CEXC) | in _Qp_add() 111 __quad_setfsrp(&fsr); in _Qp_add() 124 if (fsr & FSR_NVM) { in _Qp_add() 129 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | in _Qp_add() [all …]
|
H A D | _Q_sub.c | 51 unsigned int xm, ym, tm, fsr; in _Qp_sub() local 73 __quad_getfsrp(&fsr); in _Qp_sub() 86 if (fsr & FSR_NVM) { in _Qp_sub() 91 fsr = (fsr & ~FSR_CEXC) | in _Qp_sub() 93 __quad_setfsrp(&fsr); in _Qp_sub() 106 if (fsr & FSR_NVM) { in _Qp_sub() 112 fsr = (fsr & ~FSR_CEXC) | in _Qp_sub() 114 __quad_setfsrp(&fsr); in _Qp_sub() 128 if (fsr & FSR_NVM) { in _Qp_sub() 133 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | in _Qp_sub() [all …]
|
H A D | _Q_qtou.c | 40 unsigned int xm, fsr; in _Q_qtou() local 45 __quad_getfsrp(&fsr); in _Q_qtou() 54 if (fsr & FSR_NXM) { in _Q_qtou() 93 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | in _Q_qtou() 95 __quad_setfsrp(&fsr); in _Q_qtou() 105 if (fsr & FSR_NXM) { in _Q_qtou() 108 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | in _Q_qtou() 110 __quad_setfsrp(&fsr); in _Q_qtou() 116 if (fsr & FSR_NVM) { in _Q_qtou() 119 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; in _Q_qtou() [all …]
|
H A D | _Q_mul.c | 88 unsigned int xm, ym, fsr, lx, ly, wx[3], wy[3]; in _Qp_mul() local 96 __quad_getfsrp(&fsr); in _Qp_mul() 104 if (fsr & FSR_NVM) { in _Qp_mul() 109 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | in _Qp_mul() 111 __quad_setfsrp(&fsr); in _Qp_mul() 116 if (fsr & FSR_NVM) { in _Qp_mul() 121 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | in _Qp_mul() 123 __quad_setfsrp(&fsr); in _Qp_mul() 133 if (fsr & FSR_NVM) { in _Qp_mul() 138 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | in _Qp_mul() [all …]
|
H A D | _Q_div.c | 106 unsigned int xm, ym, fsr, lx, ly, wx[3], wy[3]; in _Qp_div() local 114 __quad_getfsrp(&fsr); in _Qp_div() 122 if (fsr & FSR_NVM) { in _Qp_div() 127 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | in _Qp_div() 129 __quad_setfsrp(&fsr); in _Qp_div() 134 if (fsr & FSR_NVM) { in _Qp_div() 139 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | in _Qp_div() 141 __quad_setfsrp(&fsr); in _Qp_div() 151 if (fsr & FSR_NVM) { in _Qp_div() 156 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | in _Qp_div() [all …]
|
H A D | _Q_sqrt.c | 97 unsigned int xm, fsr, lx, wx[3]; in _Qp_sqrt() local 108 __quad_getfsrp(&fsr); in _Qp_sqrt() 116 if (fsr & FSR_NVM) { in _Qp_sqrt() 121 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | in _Qp_sqrt() 123 __quad_setfsrp(&fsr); in _Qp_sqrt() 132 if (fsr & FSR_NVM) { in _Qp_sqrt() 137 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; in _Qp_sqrt() 138 __quad_setfsrp(&fsr); in _Qp_sqrt() 149 if (fsr & FSR_NVM) { in _Qp_sqrt() 154 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; in _Qp_sqrt() [all …]
|
H A D | _Q_cmpe.c | 40 unsigned int xm, ym, fsr; in _Q_cmpe() local 44 __quad_getfsrp(&fsr); in _Q_cmpe() 45 if (fsr & FSR_NVM) { in _Q_cmpe() 46 __quad_fcmpeq(x, y, &fsr); in _Q_cmpe() 47 return ((fsr >> 10) & 3); in _Q_cmpe() 49 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; in _Q_cmpe() 50 __quad_setfsrp(&fsr); in _Q_cmpe()
|
H A D | _Q_cmp.c | 40 unsigned int xm, ym, fsr; in _Q_cmp() local 46 __quad_getfsrp(&fsr); in _Q_cmp() 47 if (fsr & FSR_NVM) { in _Q_cmp() 48 __quad_fcmpq(x, y, &fsr); in _Q_cmp() 49 return ((fsr >> 10) & 3); in _Q_cmp() 51 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; in _Q_cmp() 52 __quad_setfsrp(&fsr); in _Q_cmp()
|
H A D | fpsetmask.S | 49 st %fsr, [%sp+ARGPUSH] ! get fsr value 51 and %o1, %o4, %o1 ! generate new fsr value 54 st %o1, [%sp+ARGPUSH] ! move new fsr value to memory 55 ld [%sp+ARGPUSH], %fsr ! load fsr with new value 56 and %o0, %o4, %o0 ! mask off bits of interest in old fsr
|
H A D | fpsetsticky.S | 40 st %fsr, [%sp+ARGPUSH] ! get fsr value 42 and %o1, %o4, %o1 ! generate new fsr value 45 st %o1, [%sp+ARGPUSH] ! move new fsr value to memory 46 ld [%sp+ARGPUSH], %fsr ! load fsr with new value 47 and %o0, %o4, %o0 ! mask off bits of interest in old fsr
|
H A D | _Q_stoq.c | 55 unsigned int m, f, fsr; in _Qp_stoq() local 79 __quad_getfsrp(&fsr); in _Qp_stoq() 80 if (fsr & FSR_NVM) { in _Qp_stoq() 84 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; in _Qp_stoq() 85 __quad_setfsrp(&fsr); in _Qp_stoq()
|
/illumos-gate/usr/src/lib/libc/sparcv9/fp/ |
H A D | _Qp_qtox.c | 36 unsigned int xm, fsr; in _Qp_qtox() local 40 __quad_getfsrp(&fsr); in _Qp_qtox() 50 if (fsr & FSR_NXM) { in _Qp_qtox() 53 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | in _Qp_qtox() 55 __quad_setfsrp(&fsr); in _Qp_qtox() 62 if (fsr & FSR_NVM) { in _Qp_qtox() 65 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; in _Qp_qtox() 66 __quad_setfsrp(&fsr); in _Qp_qtox() 74 if (fsr & FSR_NXM) { in _Qp_qtox() 77 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | FSR_NXC; in _Qp_qtox() [all …]
|
H A D | _Qp_qtoux.c | 37 unsigned int xm, fsr; in _Qp_qtoux() local 41 __quad_getfsrp(&fsr); in _Qp_qtoux() 51 if (fsr & FSR_NXM) { in _Qp_qtoux() 90 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | in _Qp_qtoux() 92 __quad_setfsrp(&fsr); in _Qp_qtoux() 103 if (fsr & FSR_NXM) { in _Qp_qtoux() 106 fsr = (fsr & ~FSR_CEXC) | FSR_NXA | in _Qp_qtoux() 108 __quad_setfsrp(&fsr); in _Qp_qtoux() 114 if (fsr & FSR_NVM) { in _Qp_qtoux() 117 fsr = (fsr & ~FSR_CEXC) | FSR_NVA | FSR_NVC; in _Qp_qtoux() [all …]
|
H A D | fpsetmask.S | 49 st %fsr, [%sp+STACK_BIAS+ARGPUSH] ! get fsr value 51 and %o1, %o4, %o1 ! generate new fsr value 54 st %o1, [%sp+STACK_BIAS+ARGPUSH] ! move new fsr value to memory 55 ld [%sp+STACK_BIAS+ARGPUSH], %fsr ! load fsr with new value 56 and %o0, %o4, %o0 ! mask off bits of interest in old fsr
|
H A D | fpsetsticky.S | 40 st %fsr, [%sp+STACK_BIAS+ARGPUSH] ! get fsr value 42 and %o1, %o4, %o1 ! generate new fsr value 45 st %o1, [%sp+STACK_BIAS+ARGPUSH] ! move new fsr value to memory 46 ld [%sp+STACK_BIAS+ARGPUSH], %fsr ! load fsr with new value 47 and %o0, %o4, %o0 ! mask off bits of interest in old fsr
|