/seL4-test-master/tools/riscv-pk/softfloat/ |
H A D | s_subMagsF64.c | 50 uint_fast64_t sigB; local 64 sigB = fracF64UI( uiB ); 72 if ( sigA | sigB ) goto propagateNaN; 77 sigDiff = sigA - sigB; 101 sigB <<= 10; 107 if ( sigB ) goto propagateNaN; 113 sigB |= UINT64_C( 0x4000000000000000 ); 115 sigZ = sigB - sigA; 124 sigB += expB ? UINT64_C( 0x4000000000000000 ) : sigB; [all...] |
H A D | s_addMagsF32.c | 48 uint_fast32_t sigB; local 61 sigB = fracF32UI( uiB ); 69 uiZ = uiA + sigB; 73 if ( sigA | sigB ) goto propagateNaN; 79 sigZ = 0x01000000 + sigA + sigB; 90 sigB <<= 6; 93 if ( sigB ) goto propagateNaN; 107 sigB += expB ? 0x20000000 : sigB; 108 sigB [all...] |
H A D | s_addMagsF64.c | 49 uint_fast64_t sigB; local 61 sigB = fracF64UI( uiB ); 69 uiZ = uiA + sigB; 73 if ( sigA | sigB ) goto propagateNaN; 78 sigZ = UINT64_C( 0x0020000000000000 ) + sigA + sigB; 84 sigB <<= 9; 87 if ( sigB ) goto propagateNaN; 106 sigB += UINT64_C( 0x2000000000000000 ); 108 sigB <<= 1; 110 sigB [all...] |
H A D | s_compareNonnormExtF80M.c | 49 uint64_t sigB; local 58 sigB = bSPtr->signif; 62 if ( ! (sigA | sigB) ) return 0; 88 if ( ! (sigB & UINT64_C( 0x8000000000000000 )) ) { 89 if ( sigB ) { 90 expB += softfloat_normExtF80SigM( &sigB ); 99 if ( (expB < expA) || (sigB < sigA) ) return -1; 102 if ( (expA < expB) || (sigA < sigB) ) return -1; 104 return (sigA != sigB);
|
H A D | f16_rem.c | 54 uint_fast16_t sigB; local 75 sigB = fracF16UI( uiB ); 79 if ( sigA || ((expB == 0x1F) && sigB) ) goto propagateNaN; 83 if ( sigB ) goto propagateNaN; 89 if ( ! sigB ) goto invalid; 90 normExpSig = softfloat_normSubnormalF16Sig( sigB ); 92 sigB = normExpSig.sig; 103 sigB |= 0x0400; 107 sigB <<= 3; 113 q = (sigB < [all...] |
H A D | f32_div.c | 55 uint_fast32_t sigB; local 80 sigB = fracF32UI( uiB ); 87 if ( sigB ) goto propagateNaN; 93 if ( sigB ) goto propagateNaN; 99 if ( ! sigB ) { 104 normExpSig = softfloat_normSubnormalF32Sig( sigB ); 106 sigB = normExpSig.sig; 118 sigB |= 0x00800000; 120 if ( sigA < sigB ) { 126 sigZ = sig64A / sigB; [all...] |
H A D | f32_rem.c | 54 uint_fast32_t sigB; local 73 sigB = fracF32UI( uiB ); 77 if ( sigA || ((expB == 0xFF) && sigB) ) goto propagateNaN; 81 if ( sigB ) goto propagateNaN; 87 if ( ! sigB ) goto invalid; 88 normExpSig = softfloat_normSubnormalF32Sig( sigB ); 90 sigB = normExpSig.sig; 101 sigB |= 0x00800000; 105 sigB <<= 6; 111 q = (sigB < [all...] |
H A D | s_subMagsF128.c | 56 struct uint128 sigB, sigZ; local 65 sigB.v64 = fracF128UI64( uiB64 ); 66 sigB.v0 = uiB0; 68 sigB = softfloat_shortShiftLeft128( sigB.v64, sigB.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.v64 < sigB [all...] |
H A D | f64_div.c | 55 uint_fast64_t sigB; local 77 sigB = fracF64UI( uiB ); 84 if ( sigB ) goto propagateNaN; 90 if ( sigB ) goto propagateNaN; 96 if ( ! sigB ) { 101 normExpSig = softfloat_normSubnormalF64Sig( sigB ); 103 sigB = normExpSig.sig; 115 sigB |= UINT64_C( 0x0010000000000000 ); 116 if ( sigA < sigB ) { 122 sigB << [all...] |
H A D | f32_mul.c | 55 uint_fast32_t sigB; local 74 sigB = fracF32UI( uiB ); 79 if ( sigA || ((expB == 0xFF) && sigB) ) goto propagateNaN; 80 magBits = expB | sigB; 84 if ( sigB ) goto propagateNaN; 97 if ( ! sigB ) goto zero; 98 normExpSig = softfloat_normSubnormalF32Sig( sigB ); 100 sigB = normExpSig.sig; 106 sigB = (sigB | [all...] |
H A D | f128_rem.c | 54 struct uint128 sigB; local 78 sigB.v64 = fracF128UI64( uiB64 ); 79 sigB.v0 = uiB0; 84 (sigA.v64 | sigA.v0) || ((expB == 0x7FFF) && (sigB.v64 | sigB.v0)) 91 if ( sigB.v64 | sigB.v0 ) goto propagateNaN; 97 if ( ! (sigB.v64 | sigB.v0) ) goto invalid; 98 normExpSig = softfloat_normSubnormalF128Sig( sigB [all...] |
H A D | f128_mul.c | 55 struct uint128 sigB; local 81 sigB.v64 = fracF128UI64( uiB64 ); 82 sigB.v0 = uiB0; 88 (sigA.v64 | sigA.v0) || ((expB == 0x7FFF) && (sigB.v64 | sigB.v0)) 92 magBits = expB | sigB.v64 | sigB.v0; 96 if ( sigB.v64 | sigB.v0 ) goto propagateNaN; 109 if ( ! (sigB [all...] |
H A D | f64_rem.c | 54 uint_fast64_t sigB; local 75 sigB = fracF64UI( uiB ); 79 if ( sigA || ((expB == 0x7FF) && sigB) ) goto propagateNaN; 83 if ( sigB ) goto propagateNaN; 92 if ( ! sigB ) goto invalid; 93 normExpSig = softfloat_normSubnormalF64Sig( sigB ); 95 sigB = normExpSig.sig; 106 sigB |= UINT64_C( 0x0010000000000000 ); 110 sigB <<= 9; 116 q = (sigB < [all...] |
H A D | f128_div.c | 55 struct uint128 sigB; local 84 sigB.v64 = fracF128UI64( uiB64 ); 85 sigB.v0 = uiB0; 92 if ( sigB.v64 | sigB.v0 ) goto propagateNaN; 98 if ( sigB.v64 | sigB.v0 ) goto propagateNaN; 104 if ( ! (sigB.v64 | sigB.v0) ) { 109 normExpSig = softfloat_normSubnormalF128Sig( sigB [all...] |
H A D | s_subMagsF32.c | 49 uint_fast32_t sigB; local 64 sigB = fracF32UI( uiB ); 72 if ( sigA | sigB ) goto propagateNaN; 77 sigDiff = sigA - sigB; 103 sigB <<= 7; 109 if ( sigB ) goto propagateNaN; 114 sigX = sigB | 0x40000000; 127 sigY = sigB + (expB ? 0x40000000 : sigB);
|
H A D | f64_mul.c | 55 uint_fast64_t sigB; local 79 sigB = fracF64UI( uiB ); 84 if ( sigA || ((expB == 0x7FF) && sigB) ) goto propagateNaN; 85 magBits = expB | sigB; 89 if ( sigB ) goto propagateNaN; 102 if ( ! sigB ) goto zero; 103 normExpSig = softfloat_normSubnormalF64Sig( sigB ); 105 sigB = normExpSig.sig; 111 sigB = (sigB | UINT64_ [all...] |
H A D | f16_div.c | 58 uint_fast16_t sigB; local 84 sigB = fracF16UI( uiB ); 91 if ( sigB ) goto propagateNaN; 97 if ( sigB ) goto propagateNaN; 103 if ( ! sigB ) { 108 normExpSig = softfloat_normSubnormalF16Sig( sigB ); 110 sigB = normExpSig.sig; 122 sigB |= 0x0400; 124 if ( sigA < sigB ) { 130 sigZ = sig32A / sigB; [all...] |
H A D | f16_mul.c | 55 uint_fast16_t sigB; local 75 sigB = fracF16UI( uiB ); 80 if ( sigA || ((expB == 0x1F) && sigB) ) goto propagateNaN; 81 magBits = expB | sigB; 85 if ( sigB ) goto propagateNaN; 98 if ( ! sigB ) goto zero; 99 normExpSig = softfloat_normSubnormalF16Sig( sigB ); 101 sigB = normExpSig.sig; 107 sigB = (sigB | [all...] |
H A D | s_addMagsF16.c | 49 uint_fast16_t sigB; local 66 sigB = fracF16UI( uiB ); 74 uiZ = uiA + sigB; 78 if ( sigA | sigB ) goto propagateNaN; 84 sigZ = 0x0800 + sigA + sigB; 98 if ( sigB ) goto propagateNaN; 103 uiZ = packToF16UI( signZ, expB, sigB ); 108 sigX = sigB | 0x0400; 120 if ( expB | sigB ) goto addEpsilon; 125 sigY = sigB [all...] |
H A D | s_addMagsF128.c | 55 struct uint128 sigB; local 67 sigB.v64 = fracF128UI64( uiB64 ); 68 sigB.v0 = uiB0; 72 if ( sigA.v64 | sigA.v0 | sigB.v64 | sigB.v0 ) goto propagateNaN; 77 sigZ = softfloat_add128( sigA.v64, sigA.v0, sigB.v64, sigB.v0 ); 90 if ( sigB.v64 | sigB.v0 ) goto propagateNaN; 116 sigB [all...] |
H A D | s_subMagsExtF80.c | 56 uint_fast64_t sigB; local 70 sigB = uiB0; 77 if ( (sigA | sigB) & UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) { 90 if ( sigB < sigA ) goto aBigger; 91 if ( sigA < sigB ) goto bBigger; 100 if ( sigB & UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) goto propagateNaN; 117 sig128 = softfloat_sub128( sigB, 0, sigA, sigExtra ); 133 sig128 = softfloat_shiftRightJam128( sigB, 0, expDiff ); 134 sigB = sig128.v64; 139 sig128 = softfloat_sub128( sigA, 0, sigB, sigExtr [all...] |
H A D | s_subMagsF16.c | 49 uint_fast16_t sigB; local 65 sigB = fracF16UI( uiB ); 73 if ( sigA | sigB ) goto propagateNaN; 78 sigDiff = sigA - sigB; 108 if ( sigB ) goto propagateNaN; 113 uiZ = packToF16UI( signZ, expB, sigB ); 118 sigX = sigB | 0x0400; 130 if ( expB | sigB ) goto subEpsilon; 135 sigY = sigB + (expB ? 0x0400 : sigB); [all...] |
H A D | s_addExtF80M.c | 59 uint64_t sigZ, sigB; local 106 sigB = bSPtr->signif; 114 extSigX[indexWord( 3, 2 )] = sigB>>32; 115 extSigX[indexWord( 3, 1 )] = sigB; 118 sigB = 122 sigZ -= sigB; 138 sigZ += sigB; 148 if ( sigZ < sigB ) { 150 sigZ = sigB - sigZ; 152 sigZ -= sigB; [all...] |
H A D | s_addMagsExtF80.c | 56 uint_fast64_t sigB; local 71 sigB = uiB0; 77 if ( (sigA | sigB) & UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) { 84 sigZ = sigA + sigB; 99 if ( sigB & UINT64_C( 0x7FFFFFFFFFFFFFFF ) ) goto propagateNaN; 126 sig64Extra = softfloat_shiftRightJam64Extra( sigB, 0, expDiff ); 127 sigB = sig64Extra.v; 131 sigZ = sigA + sigB;
|
H A D | f128M_div.c | 67 uint32_t y[5], sigB[4]; local 101 expB = softfloat_shiftNormSigF128M( bWPtr, 13, sigB ); 113 if ( softfloat_compare128M( y, sigB ) < 0 ) { 119 ((uint64_t) sigB[indexWord( 4, 3 )]<<32 | sigB[indexWord( 4, 2 )]) 128 softfloat_remStep128MBy32( y, 29, sigB, q, y ); 131 softfloat_add128M( y, sigB, y ); 138 softfloat_remStep128MBy32( y, 29, sigB, q, y ); 141 softfloat_add128M( y, sigB, y ); 142 } else if ( softfloat_compare128M( sigB, [all...] |