Lines Matching refs:mant

41 	unsigned int mant, frac;  in eexp2()  local
72 mant = exp2s[(pwr >> 20) & 7]; in eexp2()
77 asm("mulhwu %0,%1,%2" : "=r" (frac) : "r" (frac), "r" (mant)); in eexp2()
78 mant += frac; in eexp2()
81 return mant + (exp << 23); in eexp2()
85 mant += 1 << (exp - 1); in eexp2()
86 return mant >> exp; in eexp2()
95 int exp, mant, lz, frac; in elog2() local
98 mant = s & 0x7fffff; in elog2()
100 if (mant != 0) in elog2()
104 if ((exp | mant) == 0) /* +0 or -0 */ in elog2()
109 asm("cntlzw %0,%1" : "=r" (lz) : "r" (mant)); in elog2()
110 mant <<= lz - 8; in elog2()
113 mant |= 0x800000; in elog2()
117 if (mant >= 0xb504f3) { /* 2^0.5 * 2^23 */ in elog2()
119 asm("mulhwu %0,%1,%2" : "=r" (mant) in elog2()
120 : "r" (mant), "r" (0xb504f334)); /* 2^-0.5 * 2^32 */ in elog2()
122 if (mant >= 0x9837f0) { /* 2^0.25 * 2^23 */ in elog2()
124 asm("mulhwu %0,%1,%2" : "=r" (mant) in elog2()
125 : "r" (mant), "r" (0xd744fccb)); /* 2^-0.25 * 2^32 */ in elog2()
127 if (mant >= 0x8b95c2) { /* 2^0.125 * 2^23 */ in elog2()
129 asm("mulhwu %0,%1,%2" : "=r" (mant) in elog2()
130 : "r" (mant), "r" (0xeac0c6e8)); /* 2^-0.125 * 2^32 */ in elog2()
132 if (mant > 0x800000) { /* 1.0 * 2^23 */ in elog2()
136 : "r" ((mant - 0x800000) << 1), "r" (0xb0c7cd3a)); in elog2()
158 int exp, mant; in ctsxs() local
161 mant = x & 0x7fffff; in ctsxs()
162 if (exp == 255 && mant != 0) in ctsxs()
173 mant |= 0x800000; in ctsxs()
174 mant = (mant << 7) >> (30 - exp); in ctsxs()
175 return (x & 0x80000000)? -mant: mant; in ctsxs()
181 unsigned int mant; in ctuxs() local
184 mant = x & 0x7fffff; in ctuxs()
185 if (exp == 255 && mant != 0) in ctuxs()
200 mant |= 0x800000; in ctuxs()
201 mant = (mant << 8) >> (31 - exp); in ctuxs()
202 return mant; in ctuxs()