/seL4-test-master/tools/riscv-pk/softfloat/ |
H A D | f32_sqrt.c | 50 uint_fast32_t sigA, uiZ; local 63 sigA = fracF32UI( uiA ); 67 if ( sigA ) { 77 if ( ! (expA | sigA) ) return a; 83 if ( ! sigA ) return a; 84 normExpSig = softfloat_normSubnormalF32Sig( sigA ); 86 sigA = normExpSig.sig; 92 sigA = (sigA | 0x00800000)<<8; 94 ((uint_fast64_t) sigA * softfloat_approxRecipSqrt32_ [all...] |
H A D | f64_sqrt.c | 50 uint_fast64_t sigA, uiZ; local 65 sigA = fracF64UI( uiA ); 69 if ( sigA ) { 79 if ( ! (expA | sigA) ) return a; 85 if ( ! sigA ) return a; 86 normExpSig = softfloat_normSubnormalF64Sig( sigA ); 88 sigA = normExpSig.sig; 93 | `sigA'.) 97 sigA |= UINT64_C( 0x0010000000000000 ); 98 sig32A = sigA>>2 [all...] |
H A D | s_subMagsF64.c | 48 uint_fast64_t sigA; local 62 sigA = fracF64UI( uiA ); 72 if ( sigA | sigB ) goto propagateNaN; 77 sigDiff = sigA - sigB; 100 sigA <<= 10; 111 sigA += expA ? UINT64_C( 0x4000000000000000 ) : sigA; 112 sigA = softfloat_shiftRightJam64( sigA, -expDiff ); 115 sigZ = sigB - sigA; [all...] |
H A D | f32_div.c | 50 uint_fast32_t sigA; local 75 sigA = fracF32UI( uiA ); 85 if ( sigA ) goto propagateNaN; 100 if ( ! (expA | sigA) ) goto invalid; 109 if ( ! sigA ) goto zero; 110 normExpSig = softfloat_normSubnormalF32Sig( sigA ); 112 sigA = normExpSig.sig; 117 sigA |= 0x00800000; 120 if ( sigA < sigB ) { 122 sig64A = (uint_fast64_t) sigA<<3 [all...] |
H A D | f16_sqrt.c | 53 uint_fast16_t sigA, uiZ; local 70 sigA = fracF16UI( uiA ); 74 if ( sigA ) { 84 if ( ! (expA | sigA) ) return a; 90 if ( ! sigA ) return a; 91 normExpSig = softfloat_normSubnormalF16Sig( sigA ); 93 sigA = normExpSig.sig; 99 sigA |= 0x0400; 100 index = (sigA>>6 & 0xE) + expA; 103 * (sigA [all...] |
H A D | s_compareNonnormExtF80M.c | 47 uint64_t sigA; local 56 sigA = aSPtr->signif; 62 if ( ! (sigA | sigB) ) return 0; 80 if ( ! (sigA & UINT64_C( 0x8000000000000000 )) ) { 81 if ( sigA ) { 82 expA += softfloat_normExtF80SigM( &sigA ); 99 if ( (expB < expA) || (sigB < sigA) ) return -1; 102 if ( (expA < expB) || (sigA < sigB) ) return -1; 104 return (sigA != sigB);
|
H A D | s_subMagsF128.c | 54 struct uint128 sigA; local 62 sigA.v64 = fracF128UI64( uiA64 ); 63 sigA.v0 = uiA0; 67 sigA = softfloat_shortShiftLeft128( sigA.v64, sigA.v0, 4 ); 73 if ( sigA.v64 | sigA.v0 | sigB.v64 | sigB.v0 ) goto propagateNaN; 81 if ( sigB.v64 < sigA.v64 ) goto aBigger; 82 if ( sigA [all...] |
H A D | s_addMagsF32.c | 46 uint_fast32_t sigA; local 59 sigA = fracF32UI( uiA ); 73 if ( sigA | sigB ) goto propagateNaN; 79 sigZ = 0x01000000 + sigA + sigB; 89 sigA <<= 6; 98 sigA += expA ? 0x20000000 : sigA; 99 sigA = softfloat_shiftRightJam32( sigA, -expDiff ); 102 if ( sigA ) got [all...] |
H A D | s_addMagsF64.c | 47 uint_fast64_t sigA; local 59 sigA = fracF64UI( uiA ); 73 if ( sigA | sigB ) goto propagateNaN; 78 sigZ = UINT64_C( 0x0020000000000000 ) + sigA + sigB; 83 sigA <<= 9; 93 sigA += UINT64_C( 0x2000000000000000 ); 95 sigA <<= 1; 97 sigA = softfloat_shiftRightJam64( sigA, -expDiff ); 100 if ( sigA ) got [all...] |
H A D | f32_mul.c | 50 uint_fast32_t sigA; local 69 sigA = fracF32UI( uiA ); 79 if ( sigA || ((expB == 0xFF) && sigB) ) goto propagateNaN; 85 magBits = expA | sigA; 91 if ( ! sigA ) goto zero; 92 normExpSig = softfloat_normSubnormalF32Sig( sigA ); 94 sigA = normExpSig.sig; 105 sigA = (sigA | 0x00800000)<<7; 107 sigZ = softfloat_shortShiftRightJam64( (uint_fast64_t) sigA * sig [all...] |
H A D | f64_div.c | 50 uint_fast64_t sigA; local 72 sigA = fracF64UI( uiA ); 82 if ( sigA ) goto propagateNaN; 97 if ( ! (expA | sigA) ) goto invalid; 106 if ( ! sigA ) goto zero; 107 normExpSig = softfloat_normSubnormalF64Sig( sigA ); 109 sigA = normExpSig.sig; 114 sigA |= UINT64_C( 0x0010000000000000 ); 116 if ( sigA < sigB ) { 118 sigA << [all...] |
H A D | s_subMagsF32.c | 47 uint_fast32_t sigA; local 62 sigA = fracF32UI( uiA ); 72 if ( sigA | sigB ) goto propagateNaN; 77 sigDiff = sigA - sigB; 102 sigA <<= 7; 115 sigY = sigA + (expA ? 0x40000000 : sigA); 121 if ( sigA ) goto propagateNaN; 126 sigX = sigA | 0x40000000;
|
H A D | extF80_roundToInt.c | 50 uint_fast64_t sigA; local 64 sigA = uA.s.signif; 67 if ( !(sigA & UINT64_C( 0x8000000000000000 )) && (exp != 0x7FFF) ) { 68 if ( !sigA ) { 73 normExpSig = softfloat_normSubnormalExtF80Sig( sigA ); 75 sigA = normExpSig.sig; 81 if ( sigA & UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) { 82 uiZ = softfloat_propagateNaNExtF80UI( uiA64, sigA, 0, 0 ); 89 sigZ = sigA; 98 if ( !(sigA [all...] |
H A D | f128_mul.c | 50 struct uint128 sigA; local 74 sigA.v64 = fracF128UI64( uiA64 ); 75 sigA.v0 = uiA0; 88 (sigA.v64 | sigA.v0) || ((expB == 0x7FFF) && (sigB.v64 | sigB.v0)) 97 magBits = expA | sigA.v64 | sigA.v0; 103 if ( ! (sigA.v64 | sigA.v0) ) goto zero; 104 normExpSig = softfloat_normSubnormalF128Sig( sigA [all...] |
H A D | f16_div.c | 53 uint_fast16_t sigA; local 79 sigA = fracF16UI( uiA ); 89 if ( sigA ) goto propagateNaN; 104 if ( ! (expA | sigA) ) goto invalid; 113 if ( ! sigA ) goto zero; 114 normExpSig = softfloat_normSubnormalF16Sig( sigA ); 116 sigA = normExpSig.sig; 121 sigA |= 0x0400; 124 if ( sigA < sigB ) { 126 sig32A = (uint_fast32_t) sigA<<1 [all...] |
H A D | f64_mul.c | 50 uint_fast64_t sigA; local 74 sigA = fracF64UI( uiA ); 84 if ( sigA || ((expB == 0x7FF) && sigB) ) goto propagateNaN; 90 magBits = expA | sigA; 96 if ( ! sigA ) goto zero; 97 normExpSig = softfloat_normSubnormalF64Sig( sigA ); 99 sigA = normExpSig.sig; 110 sigA = (sigA | UINT64_C( 0x0010000000000000 ))<<10; 113 sig128Z = softfloat_mul64To128( sigA, sig [all...] |
H A D | s_addMagsF128.c | 53 struct uint128 sigA; local 64 sigA.v64 = fracF128UI64( uiA64 ); 65 sigA.v0 = uiA0; 72 if ( sigA.v64 | sigA.v0 | sigB.v64 | sigB.v0 ) goto propagateNaN; 77 sigZ = softfloat_add128( sigA.v64, sigA.v0, sigB.v64, sigB.v0 ); 97 sigA.v64 |= UINT64_C( 0x0001000000000000 ); 104 softfloat_shiftRightJam128Extra( sigA.v64, sigA [all...] |
H A D | extF80M_roundToInt.c | 73 uint64_t sigA; local 86 sigA = aSPtr->signif; 89 if ( !(sigA & UINT64_C( 0x8000000000000000 )) && (exp != 0x7FFF) ) { 90 if ( !sigA ) { 95 exp += softfloat_normExtF80SigM( &sigA ); 103 if ( !(sigA & UINT64_C( 0x7FFFFFFFFFFFFFFF )) ) break; 130 if ( sigA & UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) { 136 sigZ = sigA; 146 sigZ = sigA; 162 if ( sigZ != sigA ) { [all...] |
H A D | f16_mul.c | 50 uint_fast16_t sigA; local 70 sigA = fracF16UI( uiA ); 80 if ( sigA || ((expB == 0x1F) && sigB) ) goto propagateNaN; 86 magBits = expA | sigA; 92 if ( ! sigA ) goto zero; 93 normExpSig = softfloat_normSubnormalF16Sig( sigA ); 95 sigA = normExpSig.sig; 106 sigA = (sigA | 0x0400)<<4; 108 sig32Z = (uint_fast32_t) sigA * sig [all...] |
H A D | s_subMagsExtF80.c | 54 uint_fast64_t sigA; local 68 sigA = uiA0; 77 if ( (sigA | sigB) & UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) { 90 if ( sigB < sigA ) goto aBigger; 91 if ( sigA < sigB ) goto bBigger; 110 sig128 = softfloat_shiftRightJam128( sigA, 0, -expDiff ); 111 sigA = sig128.v64; 117 sig128 = softfloat_sub128( sigB, 0, sigA, sigExtra ); 123 if ( sigA & UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) goto propagateNaN; 139 sig128 = softfloat_sub128( sigA, [all...] |
H A D | s_addMagsF16.c | 47 uint_fast16_t sigA; local 64 sigA = fracF16UI( uiA ); 78 if ( sigA | sigB ) goto propagateNaN; 84 sigZ = 0x0800 + sigA + sigB; 104 if ( expA | sigA ) goto addEpsilon; 109 sigY = sigA + (expA ? 0x0400 : sigA); 116 if ( sigA ) goto propagateNaN; 124 sigX = sigA | 0x0400;
|
H A D | s_subMagsF16.c | 47 uint_fast16_t sigA; local 63 sigA = fracF16UI( uiA ); 73 if ( sigA | sigB ) goto propagateNaN; 78 sigDiff = sigA - sigB; 114 if ( expA | sigA ) goto subEpsilon; 119 sigY = sigA + (expA ? 0x0400 : sigA); 126 if ( sigA ) goto propagateNaN; 134 sigX = sigA | 0x0400;
|
H A D | f128_div.c | 50 struct uint128 sigA; local 77 sigA.v64 = fracF128UI64( uiA64 ); 78 sigA.v0 = uiA0; 90 if ( sigA.v64 | sigA.v0 ) goto propagateNaN; 105 if ( ! (expA | sigA.v64 | sigA.v0) ) goto invalid; 114 if ( ! (sigA.v64 | sigA.v0) ) goto zero; 115 normExpSig = softfloat_normSubnormalF128Sig( sigA [all...] |
H A D | f128_sqrt.c | 50 struct uint128 sigA, uiZ; local 70 sigA.v64 = fracF128UI64( uiA64 ); 71 sigA.v0 = uiA0; 75 if ( sigA.v64 | sigA.v0 ) { 85 if ( ! (expA | sigA.v64 | sigA.v0) ) return a; 91 if ( ! (sigA.v64 | sigA.v0) ) return a; 92 normExpSig = softfloat_normSubnormalF128Sig( sigA [all...] |
H A D | s_addMagsExtF80.c | 54 uint_fast64_t sigA; local 69 sigA = uiA0; 77 if ( (sigA | sigB) & UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) { 84 sigZ = sigA + sigB; 110 sig64Extra = softfloat_shiftRightJam64Extra( sigA, 0, -expDiff ); 111 sigA = sig64Extra.v; 115 if ( sigA & UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) goto propagateNaN; 131 sigZ = sigA + sigB;
|