Lines Matching refs:vd
54 static void vfp_double_normalise_denormal(struct vfp_double *vd) in vfp_double_normalise_denormal() argument
56 int bits = 31 - fls(vd->significand >> 32); in vfp_double_normalise_denormal()
58 bits = 63 - fls(vd->significand); in vfp_double_normalise_denormal()
60 vfp_double_dump("normalise_denormal: in", vd); in vfp_double_normalise_denormal()
63 vd->exponent -= bits - 1; in vfp_double_normalise_denormal()
64 vd->significand <<= bits; in vfp_double_normalise_denormal()
67 vfp_double_dump("normalise_denormal: out", vd); in vfp_double_normalise_denormal()
70 u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exceptions, const char … in vfp_double_normaliseround() argument
76 vfp_double_dump("pack: in", vd); in vfp_double_normaliseround()
81 if (vd->exponent == 2047 && (vd->significand == 0 || exceptions)) in vfp_double_normaliseround()
87 if (vd->significand == 0) { in vfp_double_normaliseround()
88 vd->exponent = 0; in vfp_double_normaliseround()
92 exponent = vd->exponent; in vfp_double_normaliseround()
93 significand = vd->significand; in vfp_double_normaliseround()
104 vd->exponent = exponent; in vfp_double_normaliseround()
105 vd->significand = significand; in vfp_double_normaliseround()
106 vfp_double_dump("pack: normalised", vd); in vfp_double_normaliseround()
117 vd->exponent = exponent; in vfp_double_normaliseround()
118 vd->significand = significand; in vfp_double_normaliseround()
119 vfp_double_dump("pack: tiny number", vd); in vfp_double_normaliseround()
137 } else if ((rmode == FPSCR_ROUND_PLUSINF) ^ (vd->sign != 0)) in vfp_double_normaliseround()
150 vd->exponent = exponent; in vfp_double_normaliseround()
151 vd->significand = significand; in vfp_double_normaliseround()
152 vfp_double_dump("pack: overflow", vd); in vfp_double_normaliseround()
174 vd->exponent = 2045; in vfp_double_normaliseround()
175 vd->significand = 0x7fffffffffffffffULL; in vfp_double_normaliseround()
177 vd->exponent = 2047; /* infinity */ in vfp_double_normaliseround()
178 vd->significand = 0; in vfp_double_normaliseround()
187 vd->exponent = exponent; in vfp_double_normaliseround()
188 vd->significand = significand >> 1; in vfp_double_normaliseround()
192 vfp_double_dump("pack: final", vd); in vfp_double_normaliseround()
194 s64 d = vfp_double_pack(vd); in vfp_double_normaliseround()