Lines Matching refs:zSig1
664 int8 roundingPrecision, flag zSign, int32 zExp, uint64_t zSig0, uint64_t zSig1 in roundAndPackFloatx80()
685 zSig0 |= ( zSig1 != 0 ); in roundAndPackFloatx80()
745 increment = ( (int64_t) zSig1 < 0 ); in roundAndPackFloatx80()
752 increment = ( roundingMode == float_round_down ) && zSig1; in roundAndPackFloatx80()
755 increment = ( roundingMode == float_round_up ) && zSig1; in roundAndPackFloatx80()
783 shift64ExtraRightJamming( zSig0, zSig1, 1 - zExp, &zSig0, &zSig1 ); in roundAndPackFloatx80()
785 if ( isTiny && zSig1 ) float_raise( float_flag_underflow STATUS_VAR); in roundAndPackFloatx80()
786 if ( zSig1 ) STATUS(float_exception_flags) |= float_flag_inexact; in roundAndPackFloatx80()
788 increment = ( (int64_t) zSig1 < 0 ); in roundAndPackFloatx80()
792 increment = ( roundingMode == float_round_down ) && zSig1; in roundAndPackFloatx80()
795 increment = ( roundingMode == float_round_up ) && zSig1; in roundAndPackFloatx80()
801 ~ ( ( (uint64_t) ( zSig1<<1 ) == 0 ) & roundNearestEven ); in roundAndPackFloatx80()
807 if ( zSig1 ) STATUS(float_exception_flags) |= float_flag_inexact; in roundAndPackFloatx80()
815 zSig0 &= ~ ( ( (uint64_t) ( zSig1<<1 ) == 0 ) & roundNearestEven ); in roundAndPackFloatx80()
836 int8 roundingPrecision, flag zSign, int32 zExp, uint64_t zSig0, uint64_t zSig1 in normalizeRoundAndPackFloatx80()
842 zSig0 = zSig1; in normalizeRoundAndPackFloatx80()
843 zSig1 = 0; in normalizeRoundAndPackFloatx80()
847 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 ); in normalizeRoundAndPackFloatx80()
850 roundAndPackFloatx80( roundingPrecision, zSign, zExp, zSig0, zSig1 STATUS_VAR); in normalizeRoundAndPackFloatx80()
960 packFloat128( flag zSign, int32 zExp, uint64_t zSig0, uint64_t zSig1 ) in packFloat128() argument
964 z.low = zSig1; in packFloat128()
993 flag zSign, int32 zExp, uint64_t zSig0, uint64_t zSig1, uint64_t zSig2 STATUS_PARAM) in roundAndPackFloat128() argument
1021 zSig1 in roundAndPackFloat128()
1052 zSig1, in roundAndPackFloat128()
1057 zSig0, zSig1, zSig2, - zExp, &zSig0, &zSig1, &zSig2 ); in roundAndPackFloat128()
1075 add128( zSig0, zSig1, 0, 1, &zSig0, &zSig1 ); in roundAndPackFloat128()
1076 zSig1 &= ~ ( ( zSig2 + zSig2 == 0 ) & roundNearestEven ); in roundAndPackFloat128()
1079 if ( ( zSig0 | zSig1 ) == 0 ) zExp = 0; in roundAndPackFloat128()
1081 return packFloat128( zSign, zExp, zSig0, zSig1 ); in roundAndPackFloat128()
1097 flag zSign, int32 zExp, uint64_t zSig0, uint64_t zSig1 STATUS_PARAM) in normalizeRoundAndPackFloat128()
1103 zSig0 = zSig1; in normalizeRoundAndPackFloat128()
1104 zSig1 = 0; in normalizeRoundAndPackFloat128()
1110 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 ); in normalizeRoundAndPackFloat128()
1114 zSig0, zSig1, 0, - shiftCount, &zSig0, &zSig1, &zSig2 ); in normalizeRoundAndPackFloat128()
1117 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 STATUS_VAR); in normalizeRoundAndPackFloat128()
1333 uint64_t zSig0, zSig1; in int64_to_float128() local
1341 zSig1 = 0; in int64_to_float128()
1346 zSig1 = absA; in int64_to_float128()
1349 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 ); in int64_to_float128()
1350 return packFloat128( zSign, zExp, zSig0, zSig1 ); in int64_to_float128()
2990 uint64_t aSig, zSig0, zSig1; in float64_to_float128() local
3005 shift128Right( aSig, 0, 4, &zSig0, &zSig1 ); in float64_to_float128()
3006 return packFloat128( aSign, aExp + 0x3C00, zSig0, zSig1 ); in float64_to_float128()
3295 uint64_t aSig, bSig, zSig0, zSig1; in float64_mul() local
3336 mul64To128( aSig, bSig, &zSig0, &zSig1 ); in float64_mul()
3337 zSig0 |= ( zSig1 != 0 ); in float64_mul()
4046 uint64_t aSig, zSig0, zSig1; in floatx80_to_float128() local
4054 shift128Right( aSig<<1, 0, 16, &zSig0, &zSig1 ); in floatx80_to_float128()
4055 return packFloat128( aSign, aExp, zSig0, zSig1 ); in floatx80_to_float128()
4145 uint64_t aSig, bSig, zSig0, zSig1; in addFloatx80Sigs() local
4159 shift64ExtraRightJamming( bSig, 0, expDiff, &bSig, &zSig1 ); in addFloatx80Sigs()
4168 shift64ExtraRightJamming( aSig, 0, - expDiff, &aSig, &zSig1 ); in addFloatx80Sigs()
4178 zSig1 = 0; in addFloatx80Sigs()
4190 shift64ExtraRightJamming( zSig0, zSig1, 1, &zSig0, &zSig1 ); in addFloatx80Sigs()
4196 STATUS(floatx80_rounding_precision), zSign, zExp, zSig0, zSig1 STATUS_VAR ); in addFloatx80Sigs()
4211 uint64_t aSig, bSig, zSig0, zSig1; in subFloatx80Sigs() local
4235 zSig1 = 0; in subFloatx80Sigs()
4245 shift128RightJamming( aSig, 0, - expDiff, &aSig, &zSig1 ); in subFloatx80Sigs()
4247 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 ); in subFloatx80Sigs()
4257 shift128RightJamming( bSig, 0, expDiff, &bSig, &zSig1 ); in subFloatx80Sigs()
4259 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 ); in subFloatx80Sigs()
4264 STATUS(floatx80_rounding_precision), zSign, zExp, zSig0, zSig1 STATUS_VAR ); in subFloatx80Sigs()
4320 uint64_t aSig, bSig, zSig0, zSig1; in floatx80_mul() local
4358 mul64To128( aSig, bSig, &zSig0, &zSig1 ); in floatx80_mul()
4360 shortShift128Left( zSig0, zSig1, 1, &zSig0, &zSig1 ); in floatx80_mul()
4365 STATUS(floatx80_rounding_precision), zSign, zExp, zSig0, zSig1 STATUS_VAR ); in floatx80_mul()
4379 uint64_t aSig, bSig, zSig0, zSig1; in floatx80_div() local
4433 zSig1 = estimateDiv128To64( rem1, 0, bSig ); in floatx80_div()
4434 if ( (uint64_t) ( zSig1<<1 ) <= 8 ) { in floatx80_div()
4435 mul64To128( bSig, zSig1, &term1, &term2 ); in floatx80_div()
4438 --zSig1; in floatx80_div()
4441 zSig1 |= ( ( rem1 | rem2 ) != 0 ); in floatx80_div()
4445 STATUS(floatx80_rounding_precision), zSign, zExp, zSig0, zSig1 STATUS_VAR ); in floatx80_div()
4555 uint64_t aSig0, aSig1, zSig0, zSig1, doubleZSig0; in floatx80_sqrt() local
4591 zSig1 = estimateDiv128To64( rem1, 0, doubleZSig0 ); in floatx80_sqrt()
4592 if ( ( zSig1 & LIT64( 0x3FFFFFFFFFFFFFFF ) ) <= 5 ) { in floatx80_sqrt()
4593 if ( zSig1 == 0 ) zSig1 = 1; in floatx80_sqrt()
4594 mul64To128( doubleZSig0, zSig1, &term1, &term2 ); in floatx80_sqrt()
4596 mul64To128( zSig1, zSig1, &term2, &term3 ); in floatx80_sqrt()
4599 --zSig1; in floatx80_sqrt()
4600 shortShift128Left( 0, zSig1, 1, &term2, &term3 ); in floatx80_sqrt()
4605 zSig1 |= ( ( rem1 | rem2 | rem3 ) != 0 ); in floatx80_sqrt()
4607 shortShift128Left( 0, zSig1, 1, &zSig0, &zSig1 ); in floatx80_sqrt()
4611 STATUS(floatx80_rounding_precision), 0, zExp, zSig0, zSig1 STATUS_VAR ); in floatx80_sqrt()
5258 uint64_t aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; in addFloat128Sigs() local
5305 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in addFloat128Sigs()
5308 if (zSig0 | zSig1) { in addFloat128Sigs()
5313 return packFloat128( zSign, 0, zSig0, zSig1 ); in addFloat128Sigs()
5321 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in addFloat128Sigs()
5327 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 ); in addFloat128Sigs()
5329 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 STATUS_VAR ); in addFloat128Sigs()
5344 uint64_t aSig0, aSig1, bSig0, bSig1, zSig0, zSig1; in subFloat128Sigs() local
5391 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 ); in subFloat128Sigs()
5409 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in subFloat128Sigs()
5413 return normalizeRoundAndPackFloat128( zSign, zExp - 14, zSig0, zSig1 STATUS_VAR ); in subFloat128Sigs()
5469 uint64_t aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3; in float128_mul() local
5511 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 ); in float128_mul()
5512 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 ); in float128_mul()
5516 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 ); in float128_mul()
5519 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 STATUS_VAR ); in float128_mul()
5533 uint64_t aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; in float128_div() local
5592 zSig1 = estimateDiv128To64( rem1, rem2, bSig0 ); in float128_div()
5593 if ( ( zSig1 & 0x3FFF ) <= 4 ) { in float128_div()
5594 mul128By64To192( bSig0, bSig1, zSig1, &term1, &term2, &term3 ); in float128_div()
5597 --zSig1; in float128_div()
5600 zSig1 |= ( ( rem1 | rem2 | rem3 ) != 0 ); in float128_div()
5602 shift128ExtraRightJamming( zSig0, zSig1, 0, 15, &zSig0, &zSig1, &zSig2 ); in float128_div()
5603 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 STATUS_VAR ); in float128_div()
5726 uint64_t aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0; in float128_sqrt() local
5764 zSig1 = estimateDiv128To64( rem1, 0, doubleZSig0 ); in float128_sqrt()
5765 if ( ( zSig1 & 0x1FFF ) <= 5 ) { in float128_sqrt()
5766 if ( zSig1 == 0 ) zSig1 = 1; in float128_sqrt()
5767 mul64To128( doubleZSig0, zSig1, &term1, &term2 ); in float128_sqrt()
5769 mul64To128( zSig1, zSig1, &term2, &term3 ); in float128_sqrt()
5772 --zSig1; in float128_sqrt()
5773 shortShift128Left( 0, zSig1, 1, &term2, &term3 ); in float128_sqrt()
5778 zSig1 |= ( ( rem1 | rem2 | rem3 ) != 0 ); in float128_sqrt()
5780 shift128ExtraRightJamming( zSig0, zSig1, 0, 14, &zSig0, &zSig1, &zSig2 ); in float128_sqrt()
5781 return roundAndPackFloat128( 0, zExp, zSig0, zSig1, zSig2 STATUS_VAR ); in float128_sqrt()