Lines Matching refs:significand

45 	.significand	= VFP_SINGLE_SIGNIFICAND_QNAN,
51 str, s->sign != 0, s->exponent, s->significand); in vfp_single_dump()
56 int bits = 31 - fls(vs->significand); in vfp_single_normalise_denormal()
62 vs->significand <<= bits; in vfp_single_normalise_denormal()
75 u32 significand, incr, rmode; in __vfp_single_normaliseround() local
83 if (vs->exponent == 255 && (vs->significand == 0 || exceptions)) in __vfp_single_normaliseround()
89 if (vs->significand == 0) { in __vfp_single_normaliseround()
95 significand = vs->significand; in __vfp_single_normaliseround()
102 shift = 32 - fls(significand); in __vfp_single_normaliseround()
105 significand <<= shift; in __vfp_single_normaliseround()
110 vs->significand = significand; in __vfp_single_normaliseround()
119 significand = vfp_shiftright32jamming(significand, -exponent); in __vfp_single_normaliseround()
123 vs->significand = significand; in __vfp_single_normaliseround()
126 if (!(significand & ((1 << (VFP_SINGLE_LOW_BITS + 1)) - 1))) in __vfp_single_normaliseround()
138 if ((significand & (1 << (VFP_SINGLE_LOW_BITS + 1))) == 0) in __vfp_single_normaliseround()
150 if ((significand + incr) < significand) { in __vfp_single_normaliseround()
152 significand = (significand >> 1) | (significand & 1); in __vfp_single_normaliseround()
156 vs->significand = significand; in __vfp_single_normaliseround()
165 if (significand & ((1 << (VFP_SINGLE_LOW_BITS + 1)) - 1)) in __vfp_single_normaliseround()
171 significand += incr; in __vfp_single_normaliseround()
180 vs->significand = 0x7fffffff; in __vfp_single_normaliseround()
183 vs->significand = 0; in __vfp_single_normaliseround()
186 if (significand >> (VFP_SINGLE_LOW_BITS + 1) == 0) in __vfp_single_normaliseround()
188 if (exponent || significand > 0x80000000) in __vfp_single_normaliseround()
193 vs->significand = significand >> 1; in __vfp_single_normaliseround()
244 nan->significand |= VFP_SINGLE_SIGNIFICAND_QNAN; in vfp_propagate_nan()
287 u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand) in vfp_estimate_sqrt_significand() argument
292 if ((significand & 0xc0000000) != 0x40000000) { in vfp_estimate_sqrt_significand()
296 a = significand << 1; in vfp_estimate_sqrt_significand()
366 vsd.significand = vfp_estimate_sqrt_significand(vsm.exponent, vsm.significand) + 2; in vfp_single_fsqrt()
373 if ((vsd.significand & VFP_SINGLE_LOW_BITS_MASK) <= 5) { in vfp_single_fsqrt()
374 if (vsd.significand < 2) { in vfp_single_fsqrt()
375 vsd.significand = 0xffffffff; in vfp_single_fsqrt()
379 vsm.significand <<= !(vsm.exponent & 1); in vfp_single_fsqrt()
380 term = (u64)vsd.significand * vsd.significand; in vfp_single_fsqrt()
381 rem = ((u64)vsm.significand << 32) - term; in vfp_single_fsqrt()
386 vsd.significand -= 1; in vfp_single_fsqrt()
387 rem += ((u64)vsd.significand << 1) | 1; in vfp_single_fsqrt()
389 vsd.significand |= rem != 0; in vfp_single_fsqrt()
392 vsd.significand = vfp_shiftright32jamming(vsd.significand, 1); in vfp_single_fsqrt()
503 vdd.significand = (u64)vsm.significand << 32; in vfp_single_fcvtd()
511 vdd.significand |= VFP_DOUBLE_SIGNIFICAND_QNAN; in vfp_single_fcvtd()
531 vs.significand = (u32)m; in vfp_single_fuito()
542 vs.significand = vs.sign ? -m : m; in vfp_single_fsito()
577 d = (vsm.significand << 1) >> shift; in vfp_single_ftoui()
578 rem = vsm.significand << (33 - shift); in vfp_single_ftoui()
604 if (vsm.exponent | vsm.significand) { in vfp_single_ftoui()
660 d = (vsm.significand << 1) >> shift; in vfp_single_ftosi()
661 rem = vsm.significand << (33 - shift); in vfp_single_ftosi()
685 if (vsm.exponent | vsm.significand) { in vfp_single_ftosi()
776 if (vsn->significand & 0x80000000 || in vfp_single_add()
777 vsm->significand & 0x80000000) { in vfp_single_add()
812 m_sig = vfp_shiftright32jamming(vsm->significand, exp_diff); in vfp_single_add()
818 m_sig = vsn->significand - m_sig; in vfp_single_add()
827 m_sig = vsn->significand + m_sig; in vfp_single_add()
829 vsd->significand = m_sig; in vfp_single_add()
858 if (vsn->significand || (vsm->exponent == 255 && vsm->significand)) in vfp_single_multiply()
860 if ((vsm->exponent | vsm->significand) == 0) { in vfp_single_multiply()
865 vsd->significand = 0; in vfp_single_multiply()
873 if ((vsm->exponent | vsm->significand) == 0) { in vfp_single_multiply()
875 vsd->significand = 0; in vfp_single_multiply()
885 vsd->significand = vfp_hi64to32jamming((u64)vsn->significand * vsm->significand); in vfp_single_multiply()
904 if (vsn.exponent == 0 && vsn.significand) in vfp_single_multiply_accumulate()
908 if (vsm.exponent == 0 && vsm.significand) in vfp_single_multiply_accumulate()
918 if (vsn.exponent == 0 && vsn.significand) in vfp_single_multiply_accumulate()
976 if (vsn.exponent == 0 && vsn.significand) in vfp_single_fmul()
980 if (vsm.exponent == 0 && vsm.significand) in vfp_single_fmul()
999 if (vsn.exponent == 0 && vsn.significand) in vfp_single_fnmul()
1003 if (vsm.exponent == 0 && vsm.significand) in vfp_single_fnmul()
1026 if (vsn.exponent == 0 && vsn.significand) in vfp_single_fadd()
1030 if (vsm.exponent == 0 && vsm.significand) in vfp_single_fadd()
1115 vsm.significand <<= 1; in vfp_single_fdiv()
1116 if (vsm.significand <= (2 * vsn.significand)) { in vfp_single_fdiv()
1117 vsn.significand >>= 1; in vfp_single_fdiv()
1121 u64 significand = (u64)vsn.significand << 32; in vfp_single_fdiv() local
1122 do_div(significand, vsm.significand); in vfp_single_fdiv()
1123 vsd.significand = significand; in vfp_single_fdiv()
1125 if ((vsd.significand & 0x3f) == 0) in vfp_single_fdiv()
1126 vsd.significand |= ((u64)vsm.significand * vsd.significand != (u64)vsn.significand << 32); in vfp_single_fdiv()
1142 vsd.significand = 0; in vfp_single_fdiv()
1149 vsd.significand = 0; in vfp_single_fdiv()