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

2  *  Copyright(c) 2019-2021 Qualcomm Innovation Center, Inc. All Rights Reserved.
90 return -1; in float64_getexp()
117 return -1; in float32_getexp()
169 uint8_t sticky; member
174 p->mant = int128_zero(); in accum_init()
175 p->exp = 0; in accum_init()
176 p->sign = 0; in accum_init()
177 p->guard = 0; in accum_init()
178 p->round = 0; in accum_init()
179 p->sticky = 0; in accum_init()
184 a.exp--; in accum_norm_left()
188 a.round = a.sticky; in accum_norm_left()
196 a.sticky |= in accum_norm_right()
205 a.sticky |= a.round | a.guard | (int128_getlo(a.mant) != 0); in accum_norm_right()
210 amt -= 64; in accum_norm_right()
214 a.sticky |= a.round; in accum_norm_right()
218 amt--; in accum_norm_right()
225 * sticky bit for what was shifted out, I think.
240 /* small - big == - (big - small) */ in accum_sub()
244 /* small - big == - (big - small) */ in accum_sub()
261 b = accum_norm_right(b, a.exp - b.exp); in accum_sub()
272 borrow = (b.round << 2) | (b.guard << 1) | b.sticky; in accum_sub()
274 borrow = 0 - borrow; in accum_sub()
277 ret.sticky = (borrow >> 0) & 1; in accum_sub()
314 b = accum_norm_right(b, a.exp - b.exp); in accum_add()
327 ret.sticky = b.sticky; in accum_add()
395 && ((a.guard | a.round | a.sticky) == 0)) { \
397 switch (fp_status->float_rounding_mode) { \
407 /* So we need to normalize right while the high word is non-zero and \
417 * shifted out lots of bits from B, or if we had no shift / 1 shift sticky \
429 a = accum_norm_right(a, 1 - a.exp); \
435 if (a.guard || a.round || a.sticky) { \
440 if (a.guard || a.round || a.sticky) { \
442 switch (fp_status->float_rounding_mode) { \
457 if (a.round || a.sticky) { \
481 switch (fp_status->float_rounding_mode) { \
575 * We have checked for adding opposite-signed infinities. in special_fma()
635 prod.exp = float32_getexp(a) + float32_getexp(b) - SF_BIAS - 23; in internal_fmafx()
638 prod.exp = -2 * WAY_BIG_EXP; in internal_fmafx()
642 acc.exp = -WAY_BIG_EXP; in internal_fmafx()
644 acc.sticky = 1; in internal_fmafx()
672 unsigned int sticky; in internal_mpyhh() local
675 sticky = accumulated & 1; in internal_mpyhh()
689 x.sticky = sticky; in internal_mpyhh()
692 x.exp = float64_getexp(a) + float64_getexp(b) - DF_BIAS - 20; in internal_mpyhh()
695 x.sticky = 1; in internal_mpyhh()
696 x.exp = -4096; in internal_mpyhh()