Lines Matching +full:5 +full:vs

54 static void vfp_single_normalise_denormal(struct vfp_single *vs)  in vfp_single_normalise_denormal()  argument
56 int bits = 31 - fls(vs->significand); in vfp_single_normalise_denormal()
58 vfp_single_dump("normalise_denormal: in", vs); in vfp_single_normalise_denormal()
61 vs->exponent -= bits - 1; in vfp_single_normalise_denormal()
62 vs->significand <<= bits; in vfp_single_normalise_denormal()
65 vfp_single_dump("normalise_denormal: out", vs); in vfp_single_normalise_denormal()
70 u32 __vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exceptions) in __vfp_single_normaliseround() argument
72 u32 vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exceptions, const char … in __vfp_single_normaliseround()
78 vfp_single_dump("pack: in", vs); in __vfp_single_normaliseround()
83 if (vs->exponent == 255 && (vs->significand == 0 || exceptions)) in __vfp_single_normaliseround()
89 if (vs->significand == 0) { in __vfp_single_normaliseround()
90 vs->exponent = 0; in __vfp_single_normaliseround()
94 exponent = vs->exponent; in __vfp_single_normaliseround()
95 significand = vs->significand; in __vfp_single_normaliseround()
109 vs->exponent = exponent; in __vfp_single_normaliseround()
110 vs->significand = significand; in __vfp_single_normaliseround()
111 vfp_single_dump("pack: normalised", vs); in __vfp_single_normaliseround()
122 vs->exponent = exponent; in __vfp_single_normaliseround()
123 vs->significand = significand; in __vfp_single_normaliseround()
124 vfp_single_dump("pack: tiny number", vs); in __vfp_single_normaliseround()
142 } else if ((rmode == FPSCR_ROUND_PLUSINF) ^ (vs->sign != 0)) in __vfp_single_normaliseround()
155 vs->exponent = exponent; in __vfp_single_normaliseround()
156 vs->significand = significand; in __vfp_single_normaliseround()
157 vfp_single_dump("pack: overflow", vs); in __vfp_single_normaliseround()
179 vs->exponent = 253; in __vfp_single_normaliseround()
180 vs->significand = 0x7fffffff; in __vfp_single_normaliseround()
182 vs->exponent = 255; /* infinity */ in __vfp_single_normaliseround()
183 vs->significand = 0; in __vfp_single_normaliseround()
192 vs->exponent = exponent; in __vfp_single_normaliseround()
193 vs->significand = significand >> 1; in __vfp_single_normaliseround()
197 vfp_single_dump("pack: final", vs); in __vfp_single_normaliseround()
199 s32 d = vfp_single_pack(vs); in __vfp_single_normaliseround()
373 if ((vsd.significand & VFP_SINGLE_LOW_BITS_MASK) <= 5) { in vfp_single_fsqrt()
527 struct vfp_single vs; in vfp_single_fuito() local
529 vs.sign = 0; in vfp_single_fuito()
530 vs.exponent = 127 + 31 - 1; in vfp_single_fuito()
531 vs.significand = (u32)m; in vfp_single_fuito()
533 return vfp_single_normaliseround(sd, &vs, fpscr, 0, "fuito"); in vfp_single_fuito()
538 struct vfp_single vs; in vfp_single_fsito() local
540 vs.sign = (m & 0x80000000) >> 16; in vfp_single_fsito()
541 vs.exponent = 127 + 31 - 1; in vfp_single_fsito()
542 vs.significand = vs.sign ? -m : m; in vfp_single_fsito()
544 return vfp_single_normaliseround(sd, &vs, fpscr, 0, "fsito"); in vfp_single_fsito()