41#include "specialize.h"
44#ifdef SOFTFLOAT_FAST_INT64
87 signZ = signA ^ signB;
90 if ( (expA == 0x7FFF) || (expB == 0x7FFF) ) {
92 if ( expA == 0x7FFF ) {
93 if ( expB == 0x7FFF )
goto invalid;
102 if ( expA == -128 ) {
103 if ( expB == -128 )
goto invalid;
106 if ( expB == -128 ) {
112 expZ = expA - expB + 0x3FFE;
125 q = (q64 + 0x80000000)>>32;
137 if ( ((q + 1) & 7) < 2 ) {
157 q64 = ((
uint64_t) qs[0]<<25) + (q64>>32);
159 q64 = ((
uint64_t) qs[1]<<22) + (q64>>32);
161 q64 = ((
uint64_t) qs[2]<<19) + (q64>>32);
void softfloat_raiseFlags(uint_fast8_t flags)
float128_t f128_div(float128_t a, float128_t b)
void f128M_div(const float128_t *aPtr, const float128_t *bPtr, float128_t *zPtr)
void softfloat_invalidF128M(uint32_t *)
void softfloat_roundPackMToF128M(bool, int32_t, uint32_t *, uint32_t *)
#define packToF128UI96(sign, exp, sig96)
int softfloat_shiftNormSigF128M(const uint32_t *, uint_fast8_t, uint32_t *)
bool softfloat_tryPropagateNaNF128M(const uint32_t *, const uint32_t *, uint32_t *)
#define signF128UI96(a96)
#define indexWordLo(total)
#define indexWord(total, n)
#define indexWordHi(total)
#define softfloat_add128M(aPtr, bPtr, zPtr)
int_fast8_t softfloat_compare128M(const uint32_t *aPtr, const uint32_t *bPtr)
#define softfloat_remStep128MBy32(remPtr, dist, bPtr, q, zPtr)
#define softfloat_sub128M(aPtr, bPtr, zPtr)
uint32_t softfloat_approxRecip32_1(uint32_t a)
@ softfloat_flag_infinite
unsigned __int64 uint64_t