Lines Matching refs:zSig1
648 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in roundAndPackFloatx80() argument
669 zSig0 |= ( zSig1 != 0 ); in roundAndPackFloatx80()
725 increment = ( (sbits64) zSig1 < 0 ); in roundAndPackFloatx80()
732 increment = ( roundingMode == float_round_down ) && zSig1; in roundAndPackFloatx80()
735 increment = ( roundingMode == float_round_up ) && zSig1; in roundAndPackFloatx80()
763 shift64ExtraRightJamming( zSig0, zSig1, 1 - zExp, &zSig0, &zSig1 ); in roundAndPackFloatx80()
765 if ( isTiny && zSig1 ) float_raise( float_flag_underflow ); in roundAndPackFloatx80()
766 if ( zSig1 ) float_exception_flags |= float_flag_inexact; in roundAndPackFloatx80()
768 increment = ( (sbits64) zSig1 < 0 ); in roundAndPackFloatx80()
772 increment = ( roundingMode == float_round_down ) && zSig1; in roundAndPackFloatx80()
775 increment = ( roundingMode == float_round_up ) && zSig1; in roundAndPackFloatx80()
781 ~ ( ( (bits64) ( zSig1<<1 ) == 0 ) & roundNearestEven ); in roundAndPackFloatx80()
787 if ( zSig1 ) float_exception_flags |= float_flag_inexact; in roundAndPackFloatx80()
795 zSig0 &= ~ ( ( (bits64) ( zSig1<<1 ) == 0 ) & roundNearestEven ); in roundAndPackFloatx80()
817 int8 roundingPrecision, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in normalizeRoundAndPackFloatx80() argument
823 zSig0 = zSig1; in normalizeRoundAndPackFloatx80()
824 zSig1 = 0; in normalizeRoundAndPackFloatx80()
828 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 ); in normalizeRoundAndPackFloatx80()
831 roundAndPackFloatx80( roundingPrecision, zSign, zExp, zSig0, zSig1 ); in normalizeRoundAndPackFloatx80()
947 packFloat128( flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 ) in packFloat128() argument
951 z.low = zSig1; in packFloat128()
981 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1, bits64 zSig2 ) in roundAndPackFloat128() argument
1009 zSig1 in roundAndPackFloat128()
1036 zSig1, in roundAndPackFloat128()
1041 zSig0, zSig1, zSig2, - zExp, &zSig0, &zSig1, &zSig2 ); in roundAndPackFloat128()
1059 add128( zSig0, zSig1, 0, 1, &zSig0, &zSig1 ); in roundAndPackFloat128()
1060 zSig1 &= ~ ( ( zSig2 + zSig2 == 0 ) & roundNearestEven ); in roundAndPackFloat128()
1063 if ( ( zSig0 | zSig1 ) == 0 ) zExp = 0; in roundAndPackFloat128()
1065 return packFloat128( zSign, zExp, zSig0, zSig1 ); in roundAndPackFloat128()
1082 flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 ) in normalizeRoundAndPackFloat128() argument
1088 zSig0 = zSig1; in normalizeRoundAndPackFloat128()
1089 zSig1 = 0; in normalizeRoundAndPackFloat128()
1095 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 ); in normalizeRoundAndPackFloat128()
1099 zSig0, zSig1, 0, - shiftCount, &zSig0, &zSig1, &zSig2 ); in normalizeRoundAndPackFloat128()
1102 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in normalizeRoundAndPackFloat128()
1347 bits64 zSig0, zSig1; in int64_to_float128() local
1355 zSig1 = 0; in int64_to_float128()
1360 zSig1 = absA; in int64_to_float128()
1363 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 ); in int64_to_float128()
1364 return packFloat128( zSign, zExp, zSig0, zSig1 ); in int64_to_float128()
2574 bits64 aSig, zSig0, zSig1; in float64_to_float128() local
2588 shift128Right( aSig, 0, 4, &zSig0, &zSig1 ); in float64_to_float128()
2589 return packFloat128( aSign, aExp + 0x3C00, zSig0, zSig1 ); in float64_to_float128()
2863 bits64 aSig, bSig, zSig0, zSig1; in float64_mul() local
2901 mul64To128( aSig, bSig, &zSig0, &zSig1 ); in float64_mul()
2902 zSig0 |= ( zSig1 != 0 ); in float64_mul()
3513 bits64 aSig, zSig0, zSig1; in floatx80_to_float128() local
3521 shift128Right( aSig<<1, 0, 16, &zSig0, &zSig1 ); in floatx80_to_float128()
3522 return packFloat128( aSign, aExp, zSig0, zSig1 ); in floatx80_to_float128()
3616 bits64 aSig, bSig, zSig0, zSig1; in addFloatx80Sigs() local
3630 shift64ExtraRightJamming( bSig, 0, expDiff, &bSig, &zSig1 ); in addFloatx80Sigs()
3639 shift64ExtraRightJamming( aSig, 0, - expDiff, &aSig, &zSig1 ); in addFloatx80Sigs()
3649 zSig1 = 0; in addFloatx80Sigs()
3661 shift64ExtraRightJamming( zSig0, zSig1, 1, &zSig0, &zSig1 ); in addFloatx80Sigs()
3667 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in addFloatx80Sigs()
3683 bits64 aSig, bSig, zSig0, zSig1; in subFloatx80Sigs() local
3707 zSig1 = 0; in subFloatx80Sigs()
3717 shift128RightJamming( aSig, 0, - expDiff, &aSig, &zSig1 ); in subFloatx80Sigs()
3719 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 ); in subFloatx80Sigs()
3729 shift128RightJamming( bSig, 0, expDiff, &bSig, &zSig1 ); in subFloatx80Sigs()
3731 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 ); in subFloatx80Sigs()
3736 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in subFloatx80Sigs()
3795 bits64 aSig, bSig, zSig0, zSig1; in floatx80_mul() local
3833 mul64To128( aSig, bSig, &zSig0, &zSig1 ); in floatx80_mul()
3835 shortShift128Left( zSig0, zSig1, 1, &zSig0, &zSig1 ); in floatx80_mul()
3840 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in floatx80_mul()
3855 bits64 aSig, bSig, zSig0, zSig1; in floatx80_div() local
3909 zSig1 = estimateDiv128To64( rem1, 0, bSig ); in floatx80_div()
3910 if ( (bits64) ( zSig1<<1 ) <= 8 ) { in floatx80_div()
3911 mul64To128( bSig, zSig1, &term1, &term2 ); in floatx80_div()
3914 --zSig1; in floatx80_div()
3917 zSig1 |= ( ( rem1 | rem2 ) != 0 ); in floatx80_div()
3921 floatx80_rounding_precision, zSign, zExp, zSig0, zSig1 ); in floatx80_div()
4034 bits64 aSig0, aSig1, zSig0, zSig1, doubleZSig0; in floatx80_sqrt() local
4070 zSig1 = estimateDiv128To64( rem1, 0, doubleZSig0 ); in floatx80_sqrt()
4071 if ( ( zSig1 & LIT64( 0x3FFFFFFFFFFFFFFF ) ) <= 5 ) { in floatx80_sqrt()
4072 if ( zSig1 == 0 ) zSig1 = 1; in floatx80_sqrt()
4073 mul64To128( doubleZSig0, zSig1, &term1, &term2 ); in floatx80_sqrt()
4075 mul64To128( zSig1, zSig1, &term2, &term3 ); in floatx80_sqrt()
4078 --zSig1; in floatx80_sqrt()
4079 shortShift128Left( 0, zSig1, 1, &term2, &term3 ); in floatx80_sqrt()
4084 zSig1 |= ( ( rem1 | rem2 | rem3 ) != 0 ); in floatx80_sqrt()
4086 shortShift128Left( 0, zSig1, 1, &zSig0, &zSig1 ); in floatx80_sqrt()
4090 floatx80_rounding_precision, 0, zExp, zSig0, zSig1 ); in floatx80_sqrt()
4765 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; in addFloat128Sigs() local
4812 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in addFloat128Sigs()
4813 if ( aExp == 0 ) return packFloat128( zSign, 0, zSig0, zSig1 ); in addFloat128Sigs()
4820 add128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in addFloat128Sigs()
4826 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 ); in addFloat128Sigs()
4828 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in addFloat128Sigs()
4844 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1; in subFloat128Sigs() local
4891 sub128( bSig0, bSig1, aSig0, aSig1, &zSig0, &zSig1 ); in subFloat128Sigs()
4909 sub128( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1 ); in subFloat128Sigs()
4913 return normalizeRoundAndPackFloat128( zSign, zExp - 14, zSig0, zSig1 ); in subFloat128Sigs()
4972 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2, zSig3; in float128_mul() local
5014 mul128To256( aSig0, aSig1, bSig0, bSig1, &zSig0, &zSig1, &zSig2, &zSig3 ); in float128_mul()
5015 add128( zSig0, zSig1, aSig0, aSig1, &zSig0, &zSig1 ); in float128_mul()
5019 zSig0, zSig1, zSig2, 1, &zSig0, &zSig1, &zSig2 ); in float128_mul()
5022 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in float128_mul()
5037 bits64 aSig0, aSig1, bSig0, bSig1, zSig0, zSig1, zSig2; in float128_div() local
5096 zSig1 = estimateDiv128To64( rem1, rem2, bSig0 ); in float128_div()
5097 if ( ( zSig1 & 0x3FFF ) <= 4 ) { in float128_div()
5098 mul128By64To192( bSig0, bSig1, zSig1, &term1, &term2, &term3 ); in float128_div()
5101 --zSig1; in float128_div()
5104 zSig1 |= ( ( rem1 | rem2 | rem3 ) != 0 ); in float128_div()
5106 shift128ExtraRightJamming( zSig0, zSig1, 0, 15, &zSig0, &zSig1, &zSig2 ); in float128_div()
5107 return roundAndPackFloat128( zSign, zExp, zSig0, zSig1, zSig2 ); in float128_div()
5233 bits64 aSig0, aSig1, zSig0, zSig1, zSig2, doubleZSig0; in float128_sqrt() local
5271 zSig1 = estimateDiv128To64( rem1, 0, doubleZSig0 ); in float128_sqrt()
5272 if ( ( zSig1 & 0x1FFF ) <= 5 ) { in float128_sqrt()
5273 if ( zSig1 == 0 ) zSig1 = 1; in float128_sqrt()
5274 mul64To128( doubleZSig0, zSig1, &term1, &term2 ); in float128_sqrt()
5276 mul64To128( zSig1, zSig1, &term2, &term3 ); in float128_sqrt()
5279 --zSig1; in float128_sqrt()
5280 shortShift128Left( 0, zSig1, 1, &term2, &term3 ); in float128_sqrt()
5285 zSig1 |= ( ( rem1 | rem2 | rem3 ) != 0 ); in float128_sqrt()
5287 shift128ExtraRightJamming( zSig0, zSig1, 0, 14, &zSig0, &zSig1, &zSig2 ); in float128_sqrt()
5288 return roundAndPackFloat128( 0, zExp, zSig0, zSig1, zSig2 ); in float128_sqrt()