Changeset 94548 in vbox for trunk/src/libs/softfloat-3e/source
- Timestamp:
- Apr 11, 2022 12:51:14 AM (3 years ago)
- Location:
- trunk/src/libs/softfloat-3e/source
- Files:
-
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/libs/softfloat-3e/source/extF80_roundToInt.c
r94480 r94548 41 41 #include "specialize.h" 42 42 #include "softfloat.h" 43 #include <iprt/cdefs.h> /* VBox: for RT_FALL_THROUGH */ 43 44 44 45 extFloat80_t … … 97 98 case softfloat_round_near_even: 98 99 if ( !(sigA & UINT64_C( 0x7FFFFFFFFFFFFFFF )) ) break; 100 RT_FALL_THROUGH(); /* VBox */ 99 101 case softfloat_round_near_maxMag: 100 102 if ( exp == 0x3FFE ) goto mag1; -
trunk/src/libs/softfloat-3e/source/f128_roundToInt.c
r94480 r94548 41 41 #include "specialize.h" 42 42 #include "softfloat.h" 43 #include <iprt/cdefs.h> /* VBox: for RT_FALL_THROUGH */ 43 44 44 45 float128_t … … 116 117 case softfloat_round_near_even: 117 118 if ( !(fracF128UI64( uiA64 ) | uiA0) ) break; 119 RT_FALL_THROUGH(); /* VBox */ 118 120 case softfloat_round_near_maxMag: 119 121 if ( exp == 0x3FFE ) uiZ.v64 |= packToF128UI64( 0, 0x3FFF, 0 ); -
trunk/src/libs/softfloat-3e/source/f16_roundToInt.c
r94480 r94548 41 41 #include "specialize.h" 42 42 #include "softfloat.h" 43 #include <iprt/cdefs.h> /* VBox: for RT_FALL_THROUGH */ 43 44 44 45 float16_t f16_roundToInt( float16_t a, uint_fast8_t roundingMode, bool exact ) … … 64 65 case softfloat_round_near_even: 65 66 if ( !fracF16UI( uiA ) ) break; 67 RT_FALL_THROUGH(); /* VBox */ 66 68 case softfloat_round_near_maxMag: 67 69 if ( exp == 0xE ) uiZ |= packToF16UI( 0, 0xF, 0 ); -
trunk/src/libs/softfloat-3e/source/f32_roundToInt.c
r94480 r94548 41 41 #include "specialize.h" 42 42 #include "softfloat.h" 43 #include <iprt/cdefs.h> /* VBox: for RT_FALL_THROUGH */ 43 44 44 45 float32_t f32_roundToInt( float32_t a, uint_fast8_t roundingMode, bool exact ) … … 64 65 case softfloat_round_near_even: 65 66 if ( !fracF32UI( uiA ) ) break; 67 RT_FALL_THROUGH(); /* VBox */ 66 68 case softfloat_round_near_maxMag: 67 69 if ( exp == 0x7E ) uiZ |= packToF32UI( 0, 0x7F, 0 ); -
trunk/src/libs/softfloat-3e/source/f64_roundToInt.c
r94480 r94548 41 41 #include "specialize.h" 42 42 #include "softfloat.h" 43 #include <iprt/cdefs.h> /* VBox: for RT_FALL_THROUGH */ 43 44 44 45 float64_t f64_roundToInt( float64_t a, uint_fast8_t roundingMode, bool exact ) … … 64 65 case softfloat_round_near_even: 65 66 if ( !fracF64UI( uiA ) ) break; 67 RT_FALL_THROUGH(); /* VBox */ 66 68 case softfloat_round_near_maxMag: 67 69 if ( exp == 0x3FE ) uiZ |= packToF64UI( 0, 0x3FF, 0 ); -
trunk/src/libs/softfloat-3e/source/include/opts-GCC.h
r94480 r94548 61 61 #ifdef SOFTFLOAT_INTRINSIC_INT128 62 62 63 #include <iprt/cdefs.h> /* VBox: shut up pedantic warnings */ 64 RT_GCC_EXTENSION typedef unsigned __int128 softfloat_int128_t; 65 63 66 INLINE struct uint128 softfloat_mul64ByShifted32To128( uint64_t a, uint32_t b ) 64 67 { 65 union { unsigned __int128ui; struct uint128 s; } uZ;66 uZ.ui = ( unsigned __int128) a * ((uint_fast64_t) b<<32);68 union { softfloat_int128_t ui; struct uint128 s; } uZ; 69 uZ.ui = (softfloat_int128_t) a * ((uint_fast64_t) b<<32); 67 70 return uZ.s; 68 71 } … … 71 74 INLINE struct uint128 softfloat_mul64To128( uint64_t a, uint64_t b ) 72 75 { 73 union { unsigned __int128ui; struct uint128 s; } uZ;74 uZ.ui = ( unsigned __int128) a * b;76 union { softfloat_int128_t ui; struct uint128 s; } uZ; 77 uZ.ui = (softfloat_int128_t) a * b; 75 78 return uZ.s; 76 79 } … … 80 83 struct uint128 softfloat_mul128By32( uint64_t a64, uint64_t a0, uint32_t b ) 81 84 { 82 union { unsigned __int128ui; struct uint128 s; } uZ;83 uZ.ui = (( unsigned __int128) a64<<64 | a0) * b;85 union { softfloat_int128_t ui; struct uint128 s; } uZ; 86 uZ.ui = ((softfloat_int128_t) a64<<64 | a0) * b; 84 87 return uZ.s; 85 88 } … … 91 94 uint64_t a64, uint64_t a0, uint64_t b64, uint64_t b0, uint64_t *zPtr ) 92 95 { 93 unsigned __int128z0, mid1, mid, z128;94 z0 = ( unsigned __int128) a0 * b0;95 mid1 = ( unsigned __int128) a64 * b0;96 mid = mid1 + ( unsigned __int128) a0 * b64;97 z128 = ( unsigned __int128) a64 * b64;98 z128 += ( unsigned __int128) (mid < mid1)<<64 | mid>>64;96 softfloat_int128_t z0, mid1, mid, z128; 97 z0 = (softfloat_int128_t) a0 * b0; 98 mid1 = (softfloat_int128_t) a64 * b0; 99 mid = mid1 + (softfloat_int128_t) a0 * b64; 100 z128 = (softfloat_int128_t) a64 * b64; 101 z128 += (softfloat_int128_t) (mid < mid1)<<64 | mid>>64; 99 102 mid <<= 64; 100 103 z0 += mid; -
trunk/src/libs/softfloat-3e/source/s_add128.c
r94480 r94548 40 40 41 41 #ifndef softfloat_add128 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 struct uint128 -
trunk/src/libs/softfloat-3e/source/s_add256M.c
r94480 r94548 40 40 41 41 #ifndef softfloat_add256M 42 # include "primitives.h" /* VBox: Missing prototype */ 42 43 43 44 void -
trunk/src/libs/softfloat-3e/source/s_approxRecip32_1.c
r94480 r94548 39 39 40 40 #ifndef softfloat_approxRecip32_1 41 uint32_t softfloat_approxRecip32_1( uint32_t a ); /* VBox: Missing prototype */ 41 42 42 43 extern const uint16_t softfloat_approxRecip_1k0s[16]; -
trunk/src/libs/softfloat-3e/source/s_approxRecipSqrt32_1.c
r94480 r94548 39 39 40 40 #ifndef softfloat_approxRecipSqrt32_1 41 # undef INLINE_LEVEL /* VBox: Missing prototype */ 42 # include "primitives.h" /* VBox: Missing prototype */ 41 43 42 44 extern const uint16_t softfloat_approxRecipSqrt_1k0s[]; -
trunk/src/libs/softfloat-3e/source/s_eq128.c
r94480 r94548 40 40 41 41 #ifndef softfloat_eq128 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 bool softfloat_eq128( uint64_t a64, uint64_t a0, uint64_t b64, uint64_t b0 ) -
trunk/src/libs/softfloat-3e/source/s_le128.c
r94480 r94548 40 40 41 41 #ifndef softfloat_le128 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 bool softfloat_le128( uint64_t a64, uint64_t a0, uint64_t b64, uint64_t b0 ) -
trunk/src/libs/softfloat-3e/source/s_lt128.c
r94480 r94548 40 40 41 41 #ifndef softfloat_lt128 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 bool softfloat_lt128( uint64_t a64, uint64_t a0, uint64_t b64, uint64_t b0 ) -
trunk/src/libs/softfloat-3e/source/s_shiftRightJam128.c
r94480 r94548 40 40 41 41 #ifndef softfloat_shiftRightJam128 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 struct uint128 -
trunk/src/libs/softfloat-3e/source/s_shiftRightJam128Extra.c
r94480 r94548 40 40 41 41 #ifndef softfloat_shiftRightJam128Extra 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 struct uint128_extra -
trunk/src/libs/softfloat-3e/source/s_shiftRightJam256M.c
r94492 r94548 40 40 41 41 #ifndef softfloat_shiftRightJam256M 42 # include "primitives.h" /* VBox: Missing prototype */ 42 43 43 44 static -
trunk/src/libs/softfloat-3e/source/s_shiftRightJam32.c
r94480 r94548 39 39 40 40 #ifndef softfloat_shiftRightJam32 41 # undef INLINE_LEVEL /* VBox: Missing prototype */ 42 # include "primitives.h" /* VBox: Missing prototype */ 41 43 42 44 uint32_t softfloat_shiftRightJam32( uint32_t a, uint_fast16_t dist ) -
trunk/src/libs/softfloat-3e/source/s_shiftRightJam64.c
r94480 r94548 39 39 40 40 #ifndef softfloat_shiftRightJam64 41 # undef INLINE_LEVEL /* VBox: Missing prototype */ 42 # include "primitives.h" /* VBox: Missing prototype */ 41 43 42 44 uint64_t softfloat_shiftRightJam64( uint64_t a, uint_fast32_t dist ) -
trunk/src/libs/softfloat-3e/source/s_shiftRightJam64Extra.c
r94480 r94548 40 40 41 41 #ifndef softfloat_shiftRightJam64Extra 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 struct uint64_extra -
trunk/src/libs/softfloat-3e/source/s_shortShiftLeft128.c
r94480 r94548 40 40 41 41 #ifndef softfloat_shortShiftLeft128 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 struct uint128 -
trunk/src/libs/softfloat-3e/source/s_shortShiftRight128.c
r94480 r94548 40 40 41 41 #ifndef softfloat_shortShiftRight128 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 struct uint128 -
trunk/src/libs/softfloat-3e/source/s_shortShiftRightJam128.c
r94480 r94548 40 40 41 41 #ifndef softfloat_shortShiftRightJam128 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 struct uint128 -
trunk/src/libs/softfloat-3e/source/s_shortShiftRightJam128Extra.c
r94480 r94548 40 40 41 41 #ifndef softfloat_shortShiftRightJam128Extra 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 struct uint128_extra -
trunk/src/libs/softfloat-3e/source/s_shortShiftRightJam64.c
r94480 r94548 39 39 40 40 #ifndef softfloat_shortShiftRightJam64 41 # undef INLINE_LEVEL /* VBox: Missing prototype */ 42 # include "primitives.h" /* VBox: Missing prototype */ 41 43 42 44 uint64_t softfloat_shortShiftRightJam64( uint64_t a, uint_fast8_t dist ) -
trunk/src/libs/softfloat-3e/source/s_shortShiftRightJam64Extra.c
r94480 r94548 40 40 41 41 #ifndef softfloat_shortShiftRightJam64Extra 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 struct uint64_extra -
trunk/src/libs/softfloat-3e/source/s_sub128.c
r94480 r94548 40 40 41 41 #ifndef softfloat_sub128 42 # undef INLINE_LEVEL /* VBox: Missing prototype */ 43 # include "primitives.h" /* VBox: Missing prototype */ 42 44 43 45 struct uint128 -
trunk/src/libs/softfloat-3e/source/s_sub256M.c
r94480 r94548 40 40 41 41 #ifndef softfloat_sub256M 42 # include "primitives.h" /* VBox: Missing prototype */ 42 43 43 44 void
Note:
See TracChangeset
for help on using the changeset viewer.