vfpsingle.c (f01387d2693813eb5271a3448e6a082322c7d75d) vfpsingle.c (4ed89f2228061422ce5f62545fd0b6f6648bd2cc)
1/*
2 * linux/arch/arm/vfp/vfpsingle.c
3 *
4 * This code is derived in part from John R. Housers softfloat library, which
5 * carries the following notice:
6 *
7 * ===========================================================================
8 * This C source file is part of the SoftFloat IEC/IEEE Floating-point

--- 276 unchanged lines hidden (view full) ---

285};
286
287u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand)
288{
289 int index;
290 u32 z, a;
291
292 if ((significand & 0xc0000000) != 0x40000000) {
1/*
2 * linux/arch/arm/vfp/vfpsingle.c
3 *
4 * This code is derived in part from John R. Housers softfloat library, which
5 * carries the following notice:
6 *
7 * ===========================================================================
8 * This C source file is part of the SoftFloat IEC/IEEE Floating-point

--- 276 unchanged lines hidden (view full) ---

285};
286
287u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand)
288{
289 int index;
290 u32 z, a;
291
292 if ((significand & 0xc0000000) != 0x40000000) {
293 printk(KERN_WARNING "VFP: estimate_sqrt: invalid significand\n");
293 pr_warn("VFP: estimate_sqrt: invalid significand\n");
294 }
295
296 a = significand << 1;
297 index = (a >> 27) & 15;
298 if (exponent & 1) {
299 z = 0x4000 + (a >> 17) - sqrt_oddadjust[index];
300 z = ((a / z) << 14) + (z << 15);
301 a >>= 1;

--- 945 unchanged lines hidden ---
294 }
295
296 a = significand << 1;
297 index = (a >> 27) & 15;
298 if (exponent & 1) {
299 z = 0x4000 + (a >> 17) - sqrt_oddadjust[index];
300 z = ((a / z) << 14) + (z << 15);
301 a >>= 1;

--- 945 unchanged lines hidden ---