Lines Matching refs:mant
39 unsigned int mant, frac; in eexp2() local
70 mant = exp2s[(pwr >> 20) & 7]; in eexp2()
75 asm("mulhwu %0,%1,%2" : "=r" (frac) : "r" (frac), "r" (mant)); in eexp2()
76 mant += frac; in eexp2()
79 return mant + (exp << 23); in eexp2()
83 mant += 1 << (exp - 1); in eexp2()
84 return mant >> exp; in eexp2()
93 int exp, mant, lz, frac; in elog2() local
96 mant = s & 0x7fffff; in elog2()
98 if (mant != 0) in elog2()
102 if ((exp | mant) == 0) /* +0 or -0 */ in elog2()
107 asm("cntlzw %0,%1" : "=r" (lz) : "r" (mant)); in elog2()
108 mant <<= lz - 8; in elog2()
111 mant |= 0x800000; in elog2()
115 if (mant >= 0xb504f3) { /* 2^0.5 * 2^23 */ in elog2()
117 asm("mulhwu %0,%1,%2" : "=r" (mant) in elog2()
118 : "r" (mant), "r" (0xb504f334)); /* 2^-0.5 * 2^32 */ in elog2()
120 if (mant >= 0x9837f0) { /* 2^0.25 * 2^23 */ in elog2()
122 asm("mulhwu %0,%1,%2" : "=r" (mant) in elog2()
123 : "r" (mant), "r" (0xd744fccb)); /* 2^-0.25 * 2^32 */ in elog2()
125 if (mant >= 0x8b95c2) { /* 2^0.125 * 2^23 */ in elog2()
127 asm("mulhwu %0,%1,%2" : "=r" (mant) in elog2()
128 : "r" (mant), "r" (0xeac0c6e8)); /* 2^-0.125 * 2^32 */ in elog2()
130 if (mant > 0x800000) { /* 1.0 * 2^23 */ in elog2()
134 : "r" ((mant - 0x800000) << 1), "r" (0xb0c7cd3a)); in elog2()
156 int exp, mant; in ctsxs() local
159 mant = x & 0x7fffff; in ctsxs()
160 if (exp == 255 && mant != 0) in ctsxs()
171 mant |= 0x800000; in ctsxs()
172 mant = (mant << 7) >> (30 - exp); in ctsxs()
173 return (x & 0x80000000)? -mant: mant; in ctsxs()
179 unsigned int mant; in ctuxs() local
182 mant = x & 0x7fffff; in ctuxs()
183 if (exp == 255 && mant != 0) in ctuxs()
198 mant |= 0x800000; in ctuxs()
199 mant = (mant << 8) >> (31 - exp); in ctuxs()
200 return mant; in ctuxs()