Lines Matching refs:zSig0
566 struct roundingData *roundData, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in roundAndPackFloatx80() argument
588 zSig0 |= ( zSig1 != 0 ); in roundAndPackFloatx80()
603 roundBits = zSig0 & roundMask; in roundAndPackFloatx80()
606 || ( ( zExp == 0x7FFE ) && ( zSig0 + roundIncrement < zSig0 ) ) in roundAndPackFloatx80()
614 || ( zSig0 <= zSig0 + roundIncrement ); in roundAndPackFloatx80()
615 shift64RightJamming( zSig0, 1 - zExp, &zSig0 ); in roundAndPackFloatx80()
617 roundBits = zSig0 & roundMask; in roundAndPackFloatx80()
620 zSig0 += roundIncrement; in roundAndPackFloatx80()
621 if ( (sbits64) zSig0 < 0 ) zExp = 1; in roundAndPackFloatx80()
626 zSig0 &= ~ roundMask; in roundAndPackFloatx80()
627 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
631 zSig0 += roundIncrement; in roundAndPackFloatx80()
632 if ( zSig0 < roundIncrement ) { in roundAndPackFloatx80()
634 zSig0 = LIT64( 0x8000000000000000 ); in roundAndPackFloatx80()
640 zSig0 &= ~ roundMask; in roundAndPackFloatx80()
641 if ( zSig0 == 0 ) zExp = 0; in roundAndPackFloatx80()
642 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
661 && ( zSig0 == LIT64( 0xFFFFFFFFFFFFFFFF ) ) in roundAndPackFloatx80()
681 || ( zSig0 < LIT64( 0xFFFFFFFFFFFFFFFF ) ); in roundAndPackFloatx80()
682 shift64ExtraRightJamming( zSig0, zSig1, 1 - zExp, &zSig0, &zSig1 ); in roundAndPackFloatx80()
698 ++zSig0; in roundAndPackFloatx80()
699 zSig0 &= ~ ( ( zSig1 + zSig1 == 0 ) & roundNearestEven ); in roundAndPackFloatx80()
700 if ( (sbits64) zSig0 < 0 ) zExp = 1; in roundAndPackFloatx80()
702 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
707 ++zSig0; in roundAndPackFloatx80()
708 if ( zSig0 == 0 ) { in roundAndPackFloatx80()
710 zSig0 = LIT64( 0x8000000000000000 ); in roundAndPackFloatx80()
713 zSig0 &= ~ ( ( zSig1 + zSig1 == 0 ) & roundNearestEven ); in roundAndPackFloatx80()
717 if ( zSig0 == 0 ) zExp = 0; in roundAndPackFloatx80()
720 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
735 struct roundingData *roundData, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in normalizeRoundAndPackFloatx80() argument
740 if ( zSig0 == 0 ) { in normalizeRoundAndPackFloatx80()
741 zSig0 = zSig1; in normalizeRoundAndPackFloatx80()
745 shiftCount = countLeadingZeros64( zSig0 ); in normalizeRoundAndPackFloatx80()
746 shortShift128Left( zSig0, zSig1, shiftCount, &zSig0, &zSig1 ); in normalizeRoundAndPackFloatx80()
749 roundAndPackFloatx80( roundData, zSign, zExp, zSig0, zSig1 ); in normalizeRoundAndPackFloatx80()
2119 bits64 aSig, bSig, zSig0, zSig1; in float64_mul() local
2157 mul64To128( aSig, bSig, &zSig0, &zSig1 ); in float64_mul()
2158 zSig0 |= ( zSig1 != 0 ); in float64_mul()
2159 if ( 0 <= (sbits64) ( zSig0<<1 ) ) { in float64_mul()
2160 zSig0 <<= 1; in float64_mul()
2163 return roundAndPackFloat64( roundData, zSign, zExp, zSig0 ); in float64_mul()
2748 bits64 aSig, bSig, zSig0, zSig1; in addFloatx80Sigs() local
2782 zSig0 = aSig + bSig; in addFloatx80Sigs()
2784 normalizeFloatx80Subnormal( zSig0, &zExp, &zSig0 ); in addFloatx80Sigs()
2791 zSig0 = aSig + bSig; in addFloatx80Sigs()
2793 if ( (sbits64) zSig0 < 0 ) goto roundAndPack; in addFloatx80Sigs()
2795 shift64ExtraRightJamming( zSig0, zSig1, 1, &zSig0, &zSig1 ); in addFloatx80Sigs()
2796 zSig0 |= LIT64( 0x8000000000000000 ); in addFloatx80Sigs()
2801 roundData, zSign, zExp, zSig0, zSig1 ); in addFloatx80Sigs()
2817 bits64 aSig, bSig, zSig0, zSig1; in subFloatx80Sigs() local
2854 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 ); in subFloatx80Sigs()
2866 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 ); in subFloatx80Sigs()
2871 roundData, zSign, zExp, zSig0, zSig1 ); in subFloatx80Sigs()
2930 bits64 aSig, bSig, zSig0, zSig1; in floatx80_mul() local
2969 mul64To128( aSig, bSig, &zSig0, &zSig1 ); in floatx80_mul()
2970 if ( 0 < (sbits64) zSig0 ) { in floatx80_mul()
2971 shortShift128Left( zSig0, zSig1, 1, &zSig0, &zSig1 ); in floatx80_mul()
2976 roundData, zSign, zExp, zSig0, zSig1 ); in floatx80_mul()
2991 bits64 aSig, bSig, zSig0, zSig1; in floatx80_div() local
3039 zSig0 = estimateDiv128To64( aSig, rem1, bSig ); in floatx80_div()
3040 mul64To128( bSig, zSig0, &term0, &term1 ); in floatx80_div()
3043 --zSig0; in floatx80_div()
3058 roundData, zSign, zExp, zSig0, zSig1 ); in floatx80_div()
3173 bits64 aSig0, aSig1, zSig0, zSig1; in floatx80_sqrt() local
3200 zSig0 = estimateSqrt32( aExp, aSig0>>32 ); in floatx80_sqrt()
3201 zSig0 <<= 31; in floatx80_sqrt()
3204 zSig0 = estimateDiv128To64( aSig0, aSig1, zSig0 ) + zSig0 + 4; in floatx80_sqrt()
3205 if ( 0 <= (sbits64) zSig0 ) zSig0 = LIT64( 0xFFFFFFFFFFFFFFFF ); in floatx80_sqrt()
3207 mul64To128( zSig0, zSig0, &term0, &term1 ); in floatx80_sqrt()
3210 --zSig0; in floatx80_sqrt()
3211 shortShift128Left( 0, zSig0, 1, &term0, &term1 ); in floatx80_sqrt()
3216 zSig1 = estimateDiv128To64( shiftedRem0, shiftedRem1, zSig0 ); in floatx80_sqrt()
3219 mul64To128( zSig0, zSig1, &term1, &term2 ); in floatx80_sqrt()
3226 shortShift192Left( 0, zSig0, zSig1, 1, &term1, &term2, &term3 ); in floatx80_sqrt()
3235 roundData, 0, zExp, zSig0, zSig1 ); in floatx80_sqrt()