Lines Matching refs:aSig
108 static void normalizeFloat64Subnormal(bits64 aSig, int16 * zExpPtr,
111 static void normalizeFloat32Subnormal(bits32 aSig, int16 * zExpPtr,
227 bits64 aSig, bSig, zSig; in subFloat64Sigs() local
230 aSig = extractFloat64Frac(a); in subFloat64Sigs()
235 aSig <<= 10; in subFloat64Sigs()
245 if (bSig < aSig) in subFloat64Sigs()
247 if (aSig < bSig) in subFloat64Sigs()
257 aSig |= LIT64(0x4000000000000000); in subFloat64Sigs()
259 shift64RightJamming(aSig, -expDiff, &aSig); in subFloat64Sigs()
262 zSig = bSig - aSig; in subFloat64Sigs()
276 aSig |= LIT64(0x4000000000000000); in subFloat64Sigs()
278 zSig = aSig - bSig; in subFloat64Sigs()
288 bits64 aSig, bSig, zSig; in addFloat64Sigs() local
291 aSig = extractFloat64Frac(a); in addFloat64Sigs()
296 aSig <<= 9; in addFloat64Sigs()
316 aSig |= LIT64(0x2000000000000000); in addFloat64Sigs()
318 shift64RightJamming(aSig, -expDiff, &aSig); in addFloat64Sigs()
325 return packFloat64(zSign, 0, (aSig + bSig) >> 9); in addFloat64Sigs()
326 zSig = LIT64(0x4000000000000000) + aSig + bSig; in addFloat64Sigs()
330 aSig |= LIT64(0x2000000000000000); in addFloat64Sigs()
331 zSig = (aSig + bSig) << 1; in addFloat64Sigs()
334 zSig = aSig + bSig; in addFloat64Sigs()
457 bits32 aSig, bSig, zSig; in subFloat32Sigs() local
460 aSig = extractFloat32Frac(a); in subFloat32Sigs()
465 aSig <<= 7; in subFloat32Sigs()
475 if (bSig < aSig) in subFloat32Sigs()
477 if (aSig < bSig) in subFloat32Sigs()
487 aSig |= 0x40000000; in subFloat32Sigs()
489 shift32RightJamming(aSig, -expDiff, &aSig); in subFloat32Sigs()
492 zSig = bSig - aSig; in subFloat32Sigs()
506 aSig |= 0x40000000; in subFloat32Sigs()
508 zSig = aSig - bSig; in subFloat32Sigs()
519 bits32 aSig, bSig, zSig; in addFloat32Sigs() local
522 aSig = extractFloat32Frac(a); in addFloat32Sigs()
527 aSig <<= 6; in addFloat32Sigs()
547 aSig |= 0x20000000; in addFloat32Sigs()
549 shift32RightJamming(aSig, -expDiff, &aSig); in addFloat32Sigs()
556 return packFloat32(zSign, 0, (aSig + bSig) >> 6); in addFloat32Sigs()
557 zSig = 0x40000000 + aSig + bSig; in addFloat32Sigs()
561 aSig |= 0x20000000; in addFloat32Sigs()
562 zSig = (aSig + bSig) << 1; in addFloat32Sigs()
565 zSig = aSig + bSig; in addFloat32Sigs()
629 normalizeFloat64Subnormal(bits64 aSig, int16 * zExpPtr, bits64 * zSigPtr) in normalizeFloat64Subnormal() argument
633 shiftCount = countLeadingZeros64(aSig) - 11; in normalizeFloat64Subnormal()
634 *zSigPtr = aSig << shiftCount; in normalizeFloat64Subnormal()
705 static void normalizeFloat32Subnormal(bits32 aSig, int16 * zExpPtr, in normalizeFloat32Subnormal() argument
710 shiftCount = countLeadingZeros32(aSig) - 8; in normalizeFloat32Subnormal()
711 *zSigPtr = aSig << shiftCount; in normalizeFloat32Subnormal()
720 bits64 aSig, bSig, zSig; in float64_div() local
724 aSig = extractFloat64Frac(a); in float64_div()
741 if ((aExp | aSig) == 0) { in float64_div()
749 if (aSig == 0) in float64_div()
751 normalizeFloat64Subnormal(aSig, &aExp, &aSig); in float64_div()
754 aSig = (aSig | LIT64(0x0010000000000000)) << 10; in float64_div()
756 if (bSig <= (aSig + aSig)) { in float64_div()
757 aSig >>= 1; in float64_div()
760 zSig = estimateDiv128To64(aSig, 0, bSig); in float64_div()
763 sub128(aSig, 0, term0, term1, &rem0, &rem1); in float64_div()
778 bits32 aSig, bSig; in float32_div() local
781 aSig = extractFloat32Frac(a); in float32_div()
803 if (aSig == 0) in float32_div()
805 normalizeFloat32Subnormal(aSig, &aExp, &aSig); in float32_div()
808 aSig = (aSig | 0x00800000) << 7; in float32_div()
810 if (bSig <= (aSig + aSig)) { in float32_div()
811 aSig >>= 1; in float32_div()
814 zSig = (((bits64) aSig) << 32); in float32_div()
818 zSig |= (((bits64) bSig) * zSig != ((bits64) aSig) << 32); in float32_div()
828 unsigned int aSig, bSig; in float32_mul() local
832 aSig = extractFloat32Frac(a); in float32_mul()
840 if (aSig == 0) in float32_mul()
842 normalizeFloat32Subnormal(aSig, &aExp, &aSig); in float32_mul()
849 if ((bExp == 0xff && bSig == 0) || (aExp == 0xff && aSig == 0)) in float32_mul()
853 aSig = (aSig | 0x00800000) << 7; in float32_mul()
855 shift64RightJamming(((unsigned long long)aSig) * bSig, 32, &zSig64); in float32_mul()
869 unsigned long long int aSig, bSig, zSig0, zSig1; in float64_mul() local
871 aSig = extractFloat64Frac(a); in float64_mul()
880 if (aSig == 0) in float64_mul()
882 normalizeFloat64Subnormal(aSig, &aExp, &aSig); in float64_mul()
889 if ((aExp == 0x7ff && aSig == 0) || (bExp == 0x7ff && bSig == 0)) in float64_mul()
893 aSig = (aSig | 0x0010000000000000LL) << 10; in float64_mul()
895 mul64To128(aSig, bSig, &zSig0, &zSig1); in float64_mul()
916 bits64 aSig; in float64_to_float32() local
919 aSig = extractFloat64Frac( a ); in float64_to_float32()
923 shift64RightJamming( aSig, 22, &aSig ); in float64_to_float32()
924 zSig = aSig; in float64_to_float32()