- Timestamp:
- Apr 11, 2022 7:46:33 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/libs/softfloat-3e/source/s_roundPackToExtF80.c
r94558 r94564 122 122 /*------------------------------------------------------------------------ 123 123 *------------------------------------------------------------------------*/ 124 { /* VBox*/ 125 uint64_t const uOldSig = sig; /* VBox */ 124 126 if ( roundBits ) { 125 127 softfloat_exceptionFlags |= softfloat_flag_inexact; 126 if ( roundIncrement ) softfloat_exceptionFlags |= softfloat_flag_c1; /* VBox */127 128 #ifdef SOFTFLOAT_ROUND_ODD 128 129 if ( roundingMode == softfloat_round_odd ) { 129 130 sig = (sig & ~roundMask) | (roundMask + 1); 131 if ( sig > uOldSig ) softfloat_exceptionFlags |= softfloat_flag_c1; /* VBox */ 130 132 goto packReturn; 131 133 } … … 136 138 ++exp; 137 139 sig = UINT64_C( 0x8000000000000000 ); 140 softfloat_exceptionFlags |= softfloat_flag_c1; /* VBox */ 138 141 } 139 142 roundIncrement = roundMask + 1; … … 142 145 } 143 146 sig &= ~roundMask; 147 if ( sig > uOldSig ) softfloat_exceptionFlags |= softfloat_flag_c1; /* VBox */ 144 148 goto packReturn; 149 } /* VBox */ 145 150 /*------------------------------------------------------------------------ 146 151 *------------------------------------------------------------------------*/ … … 239 244 } 240 245 if ( doIncrement ) { 241 softfloat_exceptionFlags |= softfloat_flag_c1; /* VBox */246 uint64_t const uOldSig = sig; /* VBox */ 242 247 ++sig; 243 248 if ( ! sig ) { 244 249 ++exp; 245 250 sig = UINT64_C( 0x8000000000000000 ); 251 softfloat_exceptionFlags |= softfloat_flag_c1; /* VBox */ 246 252 } else { 247 253 sig &= … … 249 255 (! (sigExtra & UINT64_C( 0x7FFFFFFFFFFFFFFF )) 250 256 & roundNearEven); 257 if ( sig > uOldSig ) softfloat_exceptionFlags |= softfloat_flag_c1; /* VBox */ 251 258 } 252 259 }
Note:
See TracChangeset
for help on using the changeset viewer.