Lines Matching refs:bSig
1032 bits32 aSig, bSig, zSig; in addFloat32Sigs() local
1037 bSig = extractFloat32Frac( b ); in addFloat32Sigs()
1041 bSig <<= 6; in addFloat32Sigs()
1051 bSig |= 0x20000000; in addFloat32Sigs()
1053 shift32RightJamming( bSig, expDiff, &bSig ); in addFloat32Sigs()
1058 if ( bSig ) return propagateFloat32NaN( a, b ); in addFloat32Sigs()
1072 if ( aSig | bSig ) return propagateFloat32NaN( a, b ); in addFloat32Sigs()
1075 if ( aExp == 0 ) return packFloat32( zSign, 0, ( aSig + bSig )>>6 ); in addFloat32Sigs()
1076 zSig = 0x40000000 + aSig + bSig; in addFloat32Sigs()
1081 zSig = ( aSig + bSig )<<1; in addFloat32Sigs()
1084 zSig = aSig + bSig; in addFloat32Sigs()
1104 bits32 aSig, bSig, zSig; in subFloat32Sigs() local
1109 bSig = extractFloat32Frac( b ); in subFloat32Sigs()
1113 bSig <<= 7; in subFloat32Sigs()
1117 if ( aSig | bSig ) return propagateFloat32NaN( a, b ); in subFloat32Sigs()
1125 if ( bSig < aSig ) goto aBigger; in subFloat32Sigs()
1126 if ( aSig < bSig ) goto bBigger; in subFloat32Sigs()
1130 if ( bSig ) return propagateFloat32NaN( a, b ); in subFloat32Sigs()
1140 bSig |= 0x40000000; in subFloat32Sigs()
1142 zSig = bSig - aSig; in subFloat32Sigs()
1155 bSig |= 0x40000000; in subFloat32Sigs()
1157 shift32RightJamming( bSig, expDiff, &bSig ); in subFloat32Sigs()
1160 zSig = aSig - bSig; in subFloat32Sigs()
1223 bits32 aSig, bSig; in float32_mul() local
1230 bSig = extractFloat32Frac( b ); in float32_mul()
1235 if ( aSig || ( ( bExp == 0xFF ) && bSig ) ) { in float32_mul()
1238 if ( ( bExp | bSig ) == 0 ) { in float32_mul()
1245 if ( bSig ) return propagateFloat32NaN( a, b ); in float32_mul()
1257 if ( bSig == 0 ) return packFloat32( zSign, 0, 0 ); in float32_mul()
1258 normalizeFloat32Subnormal( bSig, &bExp, &bSig ); in float32_mul()
1262 bSig = ( bSig | 0x00800000 )<<8; in float32_mul()
1263 shift64RightJamming( ( (bits64) aSig ) * bSig, 32, &zSig64 ); in float32_mul()
1284 bits32 aSig, bSig, zSig; in float32_div() local
1289 bSig = extractFloat32Frac( b ); in float32_div()
1296 if ( bSig ) return propagateFloat32NaN( a, b ); in float32_div()
1303 if ( bSig ) return propagateFloat32NaN( a, b ); in float32_div()
1307 if ( bSig == 0 ) { in float32_div()
1315 normalizeFloat32Subnormal( bSig, &bExp, &bSig ); in float32_div()
1323 bSig = ( bSig | 0x00800000 )<<8; in float32_div()
1324 if ( bSig <= ( aSig + aSig ) ) { in float32_div()
1330 do_div( tmp, bSig ); in float32_div()
1334 zSig |= ( ( (bits64) bSig ) * zSig != ( (bits64) aSig )<<32 ); in float32_div()
1351 bits32 aSig, bSig; in float32_rem() local
1360 bSig = extractFloat32Frac( b ); in float32_rem()
1364 if ( aSig || ( ( bExp == 0xFF ) && bSig ) ) { in float32_rem()
1371 if ( bSig ) return propagateFloat32NaN( a, b ); in float32_rem()
1375 if ( bSig == 0 ) { in float32_rem()
1379 normalizeFloat32Subnormal( bSig, &bExp, &bSig ); in float32_rem()
1387 bSig |= 0x00800000; in float32_rem()
1390 bSig <<= 8; in float32_rem()
1395 q = ( bSig <= aSig ); in float32_rem()
1396 if ( q ) aSig -= bSig; in float32_rem()
1399 do_div( tmp, bSig ); in float32_rem()
1402 bSig >>= 2; in float32_rem()
1403 aSig = ( ( aSig>>1 )<<( expDiff - 1 ) ) - bSig * q; in float32_rem()
1407 bSig >>= 2; in float32_rem()
1411 if ( bSig <= aSig ) aSig -= bSig; in float32_rem()
1413 bSig64 = ( (bits64) bSig )<<40; in float32_rem()
1418 aSig64 = - ( ( bSig * q64 )<<38 ); in float32_rem()
1425 bSig <<= 6; in float32_rem()
1426 aSig = ( ( aSig64>>33 )<<( expDiff - 1 ) ) - bSig * q; in float32_rem()
1431 aSig -= bSig; in float32_rem()
1928 bits64 aSig, bSig, zSig; in addFloat64Sigs() local
1933 bSig = extractFloat64Frac( b ); in addFloat64Sigs()
1937 bSig <<= 9; in addFloat64Sigs()
1947 bSig |= LIT64( 0x2000000000000000 ); in addFloat64Sigs()
1949 shift64RightJamming( bSig, expDiff, &bSig ); in addFloat64Sigs()
1954 if ( bSig ) return propagateFloat64NaN( a, b ); in addFloat64Sigs()
1968 if ( aSig | bSig ) return propagateFloat64NaN( a, b ); in addFloat64Sigs()
1971 if ( aExp == 0 ) return packFloat64( zSign, 0, ( aSig + bSig )>>9 ); in addFloat64Sigs()
1972 zSig = LIT64( 0x4000000000000000 ) + aSig + bSig; in addFloat64Sigs()
1977 zSig = ( aSig + bSig )<<1; in addFloat64Sigs()
1980 zSig = aSig + bSig; in addFloat64Sigs()
2000 bits64 aSig, bSig, zSig; in subFloat64Sigs() local
2005 bSig = extractFloat64Frac( b ); in subFloat64Sigs()
2009 bSig <<= 10; in subFloat64Sigs()
2013 if ( aSig | bSig ) return propagateFloat64NaN( a, b ); in subFloat64Sigs()
2021 if ( bSig < aSig ) goto aBigger; in subFloat64Sigs()
2022 if ( aSig < bSig ) goto bBigger; in subFloat64Sigs()
2026 if ( bSig ) return propagateFloat64NaN( a, b ); in subFloat64Sigs()
2036 bSig |= LIT64( 0x4000000000000000 ); in subFloat64Sigs()
2038 zSig = bSig - aSig; in subFloat64Sigs()
2051 bSig |= LIT64( 0x4000000000000000 ); in subFloat64Sigs()
2053 shift64RightJamming( bSig, expDiff, &bSig ); in subFloat64Sigs()
2056 zSig = aSig - bSig; in subFloat64Sigs()
2119 bits64 aSig, bSig, zSig0, zSig1; in float64_mul() local
2124 bSig = extractFloat64Frac( b ); in float64_mul()
2129 if ( aSig || ( ( bExp == 0x7FF ) && bSig ) ) { in float64_mul()
2132 if ( ( bExp | bSig ) == 0 ) { in float64_mul()
2139 if ( bSig ) return propagateFloat64NaN( a, b ); in float64_mul()
2151 if ( bSig == 0 ) return packFloat64( zSign, 0, 0 ); in float64_mul()
2152 normalizeFloat64Subnormal( bSig, &bExp, &bSig ); in float64_mul()
2156 bSig = ( bSig | LIT64( 0x0010000000000000 ) )<<11; in float64_mul()
2157 mul64To128( aSig, bSig, &zSig0, &zSig1 ); in float64_mul()
2178 bits64 aSig, bSig, zSig; in float64_div() local
2185 bSig = extractFloat64Frac( b ); in float64_div()
2192 if ( bSig ) return propagateFloat64NaN( a, b ); in float64_div()
2199 if ( bSig ) return propagateFloat64NaN( a, b ); in float64_div()
2203 if ( bSig == 0 ) { in float64_div()
2211 normalizeFloat64Subnormal( bSig, &bExp, &bSig ); in float64_div()
2219 bSig = ( bSig | LIT64( 0x0010000000000000 ) )<<11; in float64_div()
2220 if ( bSig <= ( aSig + aSig ) ) { in float64_div()
2224 zSig = estimateDiv128To64( aSig, 0, bSig ); in float64_div()
2226 mul64To128( bSig, zSig, &term0, &term1 ); in float64_div()
2230 add128( rem0, rem1, 0, bSig, &rem0, &rem1 ); in float64_div()
2249 bits64 aSig, bSig; in float64_rem() local
2256 bSig = extractFloat64Frac( b ); in float64_rem()
2260 if ( aSig || ( ( bExp == 0x7FF ) && bSig ) ) { in float64_rem()
2267 if ( bSig ) return propagateFloat64NaN( a, b ); in float64_rem()
2271 if ( bSig == 0 ) { in float64_rem()
2275 normalizeFloat64Subnormal( bSig, &bExp, &bSig ); in float64_rem()
2283 bSig = ( bSig | LIT64( 0x0010000000000000 ) )<<11; in float64_rem()
2288 q = ( bSig <= aSig ); in float64_rem()
2289 if ( q ) aSig -= bSig; in float64_rem()
2292 q = estimateDiv128To64( aSig, 0, bSig ); in float64_rem()
2294 aSig = - ( ( bSig>>2 ) * q ); in float64_rem()
2299 q = estimateDiv128To64( aSig, 0, bSig ); in float64_rem()
2302 bSig >>= 2; in float64_rem()
2303 aSig = ( ( aSig>>1 )<<( expDiff - 1 ) ) - bSig * q; in float64_rem()
2307 bSig >>= 2; in float64_rem()
2312 aSig -= bSig; in float64_rem()
2748 bits64 aSig, bSig, zSig0, zSig1; in addFloatx80Sigs() local
2753 bSig = extractFloatx80Frac( b ); in addFloatx80Sigs()
2762 shift64ExtraRightJamming( bSig, 0, expDiff, &bSig, &zSig1 ); in addFloatx80Sigs()
2767 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in addFloatx80Sigs()
2776 if ( (bits64) ( ( aSig | bSig )<<1 ) ) { in addFloatx80Sigs()
2782 zSig0 = aSig + bSig; in addFloatx80Sigs()
2791 zSig0 = aSig + bSig; in addFloatx80Sigs()
2817 bits64 aSig, bSig, zSig0, zSig1; in subFloatx80Sigs() local
2823 bSig = extractFloatx80Frac( b ); in subFloatx80Sigs()
2829 if ( (bits64) ( ( aSig | bSig )<<1 ) ) { in subFloatx80Sigs()
2843 if ( bSig < aSig ) goto aBigger; in subFloatx80Sigs()
2844 if ( aSig < bSig ) goto bBigger; in subFloatx80Sigs()
2848 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in subFloatx80Sigs()
2854 sub128( bSig, 0, aSig, zSig1, &zSig0, &zSig1 ); in subFloatx80Sigs()
2864 shift128RightJamming( bSig, 0, expDiff, &bSig, &zSig1 ); in subFloatx80Sigs()
2866 sub128( aSig, 0, bSig, zSig1, &zSig0, &zSig1 ); in subFloatx80Sigs()
2930 bits64 aSig, bSig, zSig0, zSig1; in floatx80_mul() local
2936 bSig = extractFloatx80Frac( b ); in floatx80_mul()
2942 || ( ( bExp == 0x7FFF ) && (bits64) ( bSig<<1 ) ) ) { in floatx80_mul()
2945 if ( ( bExp | bSig ) == 0 ) goto invalid; in floatx80_mul()
2949 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in floatx80_mul()
2965 if ( bSig == 0 ) return packFloatx80( zSign, 0, 0 ); in floatx80_mul()
2966 normalizeFloatx80Subnormal( bSig, &bExp, &bSig ); in floatx80_mul()
2969 mul64To128( aSig, bSig, &zSig0, &zSig1 ); in floatx80_mul()
2991 bits64 aSig, bSig, zSig0, zSig1; in floatx80_div() local
2998 bSig = extractFloatx80Frac( b ); in floatx80_div()
3005 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in floatx80_div()
3011 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in floatx80_div()
3015 if ( bSig == 0 ) { in floatx80_div()
3027 normalizeFloatx80Subnormal( bSig, &bExp, &bSig ); in floatx80_div()
3035 if ( bSig <= aSig ) { in floatx80_div()
3039 zSig0 = estimateDiv128To64( aSig, rem1, bSig ); in floatx80_div()
3040 mul64To128( bSig, zSig0, &term0, &term1 ); in floatx80_div()
3044 add128( rem0, rem1, 0, bSig, &rem0, &rem1 ); in floatx80_div()
3046 zSig1 = estimateDiv128To64( rem1, 0, bSig ); in floatx80_div()
3048 mul64To128( bSig, zSig1, &term1, &term2 ); in floatx80_div()
3052 add128( rem1, rem2, 0, bSig, &rem1, &rem2 ); in floatx80_div()
3073 bits64 aSig0, aSig1, bSig; in floatx80_rem() local
3080 bSig = extractFloatx80Frac( b ); in floatx80_rem()
3085 || ( ( bExp == 0x7FFF ) && (bits64) ( bSig<<1 ) ) ) { in floatx80_rem()
3091 if ( (bits64) ( bSig<<1 ) ) return propagateFloatx80NaN( a, b ); in floatx80_rem()
3095 if ( bSig == 0 ) { in floatx80_rem()
3103 normalizeFloatx80Subnormal( bSig, &bExp, &bSig ); in floatx80_rem()
3109 bSig |= LIT64( 0x8000000000000000 ); in floatx80_rem()
3118 q = ( bSig <= aSig0 ); in floatx80_rem()
3119 if ( q ) aSig0 -= bSig; in floatx80_rem()
3122 q = estimateDiv128To64( aSig0, aSig1, bSig ); in floatx80_rem()
3124 mul64To128( bSig, q, &term0, &term1 ); in floatx80_rem()
3131 q = estimateDiv128To64( aSig0, aSig1, bSig ); in floatx80_rem()
3134 mul64To128( bSig, q<<( 64 - expDiff ), &term0, &term1 ); in floatx80_rem()
3136 shortShift128Left( 0, bSig, 64 - expDiff, &term0, &term1 ); in floatx80_rem()
3144 term0 = bSig; in floatx80_rem()