Lines Matching +full:non +full:- +full:sticky

2  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
70 return -1; in float64_getexp()
82 return -1; in float32_getexp()
108 uint8_t sticky; member
113 p->mant = int128_zero(); in accum_init()
114 p->exp = 0; in accum_init()
115 p->sign = 0; in accum_init()
116 p->guard = 0; in accum_init()
117 p->round = 0; in accum_init()
118 p->sticky = 0; in accum_init()
123 a.exp--; in accum_norm_left()
127 a.round = a.sticky; in accum_norm_left()
135 a.sticky |= in accum_norm_right()
144 a.sticky |= a.round | a.guard | (int128_getlo(a.mant) != 0); in accum_norm_right()
149 amt -= 64; in accum_norm_right()
153 a.sticky |= a.round; in accum_norm_right()
157 amt--; in accum_norm_right()
164 * sticky bit for what was shifted out, I think.
179 /* small - big == - (big - small) */ in accum_sub()
183 /* small - big == - (big - small) */ in accum_sub()
200 b = accum_norm_right(b, a.exp - b.exp); in accum_sub()
211 borrow = (b.round << 2) | (b.guard << 1) | b.sticky; in accum_sub()
213 borrow = 0 - borrow; in accum_sub()
216 ret.sticky = (borrow >> 0) & 1; in accum_sub()
253 b = accum_norm_right(b, a.exp - b.exp); in accum_add()
266 ret.sticky = b.sticky; in accum_add()
316 && ((a.guard | a.round | a.sticky) == 0)) { in accum_round_float64()
318 switch (fp_status->float_rounding_mode) { in accum_round_float64()
329 * So we need to normalize right while the high word is non-zero and in accum_round_float64()
340 * shifted out lots of bits from B, or if we had no shift / 1 shift sticky in accum_round_float64()
352 a = accum_norm_right(a, 1 - a.exp); in accum_round_float64()
358 if (a.guard || a.round || a.sticky) { in accum_round_float64()
363 if (a.guard || a.round || a.sticky) { in accum_round_float64()
365 switch (fp_status->float_rounding_mode) { in accum_round_float64()
380 if (a.round || a.sticky) { in accum_round_float64()
404 switch (fp_status->float_rounding_mode) { in accum_round_float64()
442 unsigned int sticky; in internal_mpyhh() local
445 sticky = accumulated & 1; in internal_mpyhh()
459 x.sticky = sticky; in internal_mpyhh()
462 x.exp = float64_getexp(a) + float64_getexp(b) - DF_BIAS - 20; in internal_mpyhh()
465 x.sticky = 1; in internal_mpyhh()
466 x.exp = -4096; in internal_mpyhh()