Lines Matching refs:zSign

70 static int32 roundAndPackInt32( struct roundingData *roundData, flag zSign, bits64 absZ )  in roundAndPackInt32()  argument
86 if ( zSign ) { in roundAndPackInt32()
98 if ( zSign ) z = - z; in roundAndPackInt32()
99 if ( ( absZ>>32 ) || ( z && ( ( z < 0 ) ^ zSign ) ) ) { in roundAndPackInt32()
101 return zSign ? 0x80000000 : 0x7FFFFFFF; in roundAndPackInt32()
177 INLINE float32 packFloat32( flag zSign, int16 zExp, bits32 zSig ) in packFloat32() argument
186 : "g" (f), "g" (zSign), "g" (zExp), "g" (zSig) in packFloat32()
190 return ( ( (bits32) zSign )<<31 ) + ( ( (bits32) zExp )<<23 ) + zSig; in packFloat32()
217 static float32 roundAndPackFloat32( struct roundingData *roundData, flag zSign, int16 zExp, bits32 … in roundAndPackFloat32() argument
233 if ( zSign ) { in roundAndPackFloat32()
248 return packFloat32( zSign, 0xFF, 0 ) - ( roundIncrement == 0 ); in roundAndPackFloat32()
265 return packFloat32( zSign, zExp, zSig ); in roundAndPackFloat32()
280 normalizeRoundAndPackFloat32( struct roundingData *roundData, flag zSign, int16 zExp, bits32 zSig ) in normalizeRoundAndPackFloat32() argument
285 return roundAndPackFloat32( roundData, zSign, zExp - shiftCount, zSig<<shiftCount ); in normalizeRoundAndPackFloat32()
358 INLINE float64 packFloat64( flag zSign, int16 zExp, bits64 zSig ) in packFloat64() argument
361 return ( ( (bits64) zSign )<<63 ) + ( ( (bits64) zExp )<<52 ) + zSig; in packFloat64()
388 static float64 roundAndPackFloat64( struct roundingData *roundData, flag zSign, int16 zExp, bits64 … in roundAndPackFloat64() argument
404 if ( zSign ) { in roundAndPackFloat64()
421 return packFloat64( zSign, 0x7FF, 0 ) - ( roundIncrement == 0 ); in roundAndPackFloat64()
438 return packFloat64( zSign, zExp, zSig ); in roundAndPackFloat64()
453 normalizeRoundAndPackFloat64( struct roundingData *roundData, flag zSign, int16 zExp, bits64 zSig ) in normalizeRoundAndPackFloat64() argument
458 return roundAndPackFloat64( roundData, zSign, zExp - shiftCount, zSig<<shiftCount ); in normalizeRoundAndPackFloat64()
528 INLINE floatx80 packFloatx80( flag zSign, int32 zExp, bits64 zSig ) in packFloatx80() argument
533 z.high = ( ( (bits16) zSign )<<15 ) + zExp; in packFloatx80()
566 struct roundingData *roundData, flag zSign, int32 zExp, bits64 zSig0, bits64 zSig1 in roundAndPackFloatx80() argument
595 if ( zSign ) { in roundAndPackFloatx80()
627 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
642 return packFloatx80( zSign, zExp, zSig0 ); in roundAndPackFloatx80()
650 if ( zSign ) { in roundAndPackFloatx80()
669 || ( zSign && ( roundingMode == float_round_up ) ) in roundAndPackFloatx80()
670 || ( ! zSign && ( roundingMode == float_round_down ) ) in roundAndPackFloatx80()
672 return packFloatx80( zSign, 0x7FFE, ~ roundMask ); in roundAndPackFloatx80()
674 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in roundAndPackFloatx80()
690 if ( zSign ) { in roundAndPackFloatx80()
702 return packFloatx80( zSign, zExp, zSig0 ); 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
749 roundAndPackFloatx80( roundData, zSign, zExp, zSig0, zSig1 ); in normalizeRoundAndPackFloatx80()
764 flag zSign; in int32_to_float32() local
768 zSign = ( a < 0 ); in int32_to_float32()
769 return normalizeRoundAndPackFloat32( roundData, zSign, 0x9C, zSign ? - a : a ); in int32_to_float32()
808 flag zSign; in int32_to_floatx80() local
814 zSign = ( a < 0 ); in int32_to_floatx80()
815 absA = zSign ? - a : a; in int32_to_floatx80()
818 return packFloatx80( zSign, 0x403E - shiftCount, zSig<<shiftCount ); in int32_to_floatx80()
1029 static float32 addFloat32Sigs( struct roundingData *roundData, float32 a, float32 b, flag zSign ) in addFloat32Sigs() argument
1059 return packFloat32( zSign, 0xFF, 0 ); in addFloat32Sigs()
1075 if ( aExp == 0 ) return packFloat32( zSign, 0, ( aSig + bSig )>>6 ); in addFloat32Sigs()
1088 return roundAndPackFloat32( roundData, zSign, zExp, zSig ); in addFloat32Sigs()
1101 static float32 subFloat32Sigs( struct roundingData *roundData, float32 a, float32 b, flag zSign ) in subFloat32Sigs() argument
1131 return packFloat32( zSign ^ 1, 0xFF, 0 ); in subFloat32Sigs()
1144 zSign ^= 1; in subFloat32Sigs()
1164 return normalizeRoundAndPackFloat32( roundData, zSign, zExp, zSig ); in subFloat32Sigs()
1221 flag aSign, bSign, zSign; in float32_mul() local
1233 zSign = aSign ^ bSign; in float32_mul()
1242 return packFloat32( zSign, 0xFF, 0 ); in float32_mul()
1250 return packFloat32( zSign, 0xFF, 0 ); in float32_mul()
1253 if ( aSig == 0 ) return packFloat32( zSign, 0, 0 ); in float32_mul()
1257 if ( bSig == 0 ) return packFloat32( zSign, 0, 0 ); in float32_mul()
1269 return roundAndPackFloat32( roundData, zSign, zExp, zSig ); in float32_mul()
1282 flag aSign, bSign, zSign; in float32_div() local
1292 zSign = aSign ^ bSign; in float32_div()
1300 return packFloat32( zSign, 0xFF, 0 ); in float32_div()
1304 return packFloat32( zSign, 0, 0 ); in float32_div()
1313 return packFloat32( zSign, 0xFF, 0 ); in float32_div()
1318 if ( aSig == 0 ) return packFloat32( zSign, 0, 0 ); in float32_div()
1336 return roundAndPackFloat32( roundData, zSign, zExp, zSig ); in float32_div()
1349 flag aSign, bSign, zSign; in float32_rem() local
1437 zSign = ( (sbits32) aSig < 0 ); in float32_rem()
1438 if ( zSign ) aSig = - aSig; in float32_rem()
1439 return normalizeRoundAndPackFloat32( roundData, aSign ^ zSign, bExp, aSig ); in float32_rem()
1925 static float64 addFloat64Sigs( struct roundingData *roundData, float64 a, float64 b, flag zSign ) in addFloat64Sigs() argument
1955 return packFloat64( zSign, 0x7FF, 0 ); in addFloat64Sigs()
1971 if ( aExp == 0 ) return packFloat64( zSign, 0, ( aSig + bSig )>>9 ); in addFloat64Sigs()
1984 return roundAndPackFloat64( roundData, zSign, zExp, zSig ); in addFloat64Sigs()
1997 static float64 subFloat64Sigs( struct roundingData *roundData, float64 a, float64 b, flag zSign ) in subFloat64Sigs() argument
2027 return packFloat64( zSign ^ 1, 0x7FF, 0 ); in subFloat64Sigs()
2040 zSign ^= 1; in subFloat64Sigs()
2060 return normalizeRoundAndPackFloat64( roundData, zSign, zExp, zSig ); in subFloat64Sigs()
2117 flag aSign, bSign, zSign; in float64_mul() local
2127 zSign = aSign ^ bSign; in float64_mul()
2136 return packFloat64( zSign, 0x7FF, 0 ); in float64_mul()
2144 return packFloat64( zSign, 0x7FF, 0 ); in float64_mul()
2147 if ( aSig == 0 ) return packFloat64( zSign, 0, 0 ); in float64_mul()
2151 if ( bSig == 0 ) return packFloat64( zSign, 0, 0 ); in float64_mul()
2163 return roundAndPackFloat64( roundData, zSign, zExp, zSig0 ); in float64_mul()
2176 flag aSign, bSign, zSign; in float64_div() local
2188 zSign = aSign ^ bSign; in float64_div()
2196 return packFloat64( zSign, 0x7FF, 0 ); in float64_div()
2200 return packFloat64( zSign, 0, 0 ); in float64_div()
2209 return packFloat64( zSign, 0x7FF, 0 ); in float64_div()
2214 if ( aSig == 0 ) return packFloat64( zSign, 0, 0 ); in float64_div()
2234 return roundAndPackFloat64( roundData, zSign, zExp, zSig ); in float64_div()
2247 flag aSign, bSign, zSign; in float64_rem() local
2318 zSign = ( (sbits64) aSig < 0 ); in float64_rem()
2319 if ( zSign ) aSig = - aSig; in float64_rem()
2320 return normalizeRoundAndPackFloat64( roundData, aSign ^ zSign, bExp, aSig ); in float64_rem()
2745 static floatx80 addFloatx80Sigs( struct roundingData *roundData, floatx80 a, floatx80 b, flag zSign in addFloatx80Sigs() argument
2768 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in addFloatx80Sigs()
2801 roundData, zSign, zExp, zSig0, zSig1 ); in addFloatx80Sigs()
2814 static floatx80 subFloatx80Sigs( struct roundingData *roundData, floatx80 a, floatx80 b, flag zSign in subFloatx80Sigs() argument
2849 return packFloatx80( zSign ^ 1, 0x7FFF, LIT64( 0x8000000000000000 ) ); in subFloatx80Sigs()
2856 zSign ^= 1; in subFloatx80Sigs()
2871 roundData, zSign, zExp, zSig0, zSig1 ); in subFloatx80Sigs()
2928 flag aSign, bSign, zSign; in floatx80_mul() local
2939 zSign = aSign ^ bSign; in floatx80_mul()
2946 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in floatx80_mul()
2958 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in floatx80_mul()
2961 if ( aSig == 0 ) return packFloatx80( zSign, 0, 0 ); in floatx80_mul()
2965 if ( bSig == 0 ) return packFloatx80( zSign, 0, 0 ); in floatx80_mul()
2976 roundData, zSign, zExp, zSig0, zSig1 ); in floatx80_mul()
2989 flag aSign, bSign, zSign; in floatx80_div() local
3001 zSign = aSign ^ bSign; in floatx80_div()
3008 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in floatx80_div()
3012 return packFloatx80( zSign, 0, 0 ); in floatx80_div()
3025 return packFloatx80( zSign, 0x7FFF, LIT64( 0x8000000000000000 ) ); in floatx80_div()
3030 if ( aSig == 0 ) return packFloatx80( zSign, 0, 0 ); in floatx80_div()
3058 roundData, zSign, zExp, zSig0, zSig1 ); in floatx80_div()
3071 flag aSign, bSign, zSign; in floatx80_rem() local
3110 zSign = aSign; in floatx80_rem()
3153 zSign = ! zSign; in floatx80_rem()
3158 roundData, zSign, bExp + expDiff, aSig0, aSig1 ); in floatx80_rem()