41#include "specialize.h"
44#ifdef SOFTFLOAT_FAST_INT64
87 if ( (expA == 0x7FFF) || (expB == 0x7FFF) ) {
90 (! aSPtr->
signif && (expA != 0x7FFF))
91 || (! bSPtr->
signif && (expB != 0x7FFF))
97 uiZ0 =
UINT64_C( 0x8000000000000000 );
102 if ( ! expA ) expA = 1;
104 if ( ! (sigA &
UINT64_C( 0x8000000000000000 )) ) {
105 if ( ! sigA )
goto zero;
108 if ( ! expB ) expB = 1;
110 if ( ! (sigB &
UINT64_C( 0x8000000000000000 )) ) {
111 if ( ! sigB )
goto zero;
116 expZ = expA + expB - 0x3FFE;
extFloat80_t extF80_mul(extFloat80_t a, extFloat80_t b)
void extF80M_mul(const extFloat80_t *aPtr, const extFloat80_t *bPtr, extFloat80_t *zPtr)
#define packToExtF80UI64(sign, exp)
#define expExtF80UI64(a64)
void softfloat_invalidExtF80M(struct extFloat80M *)
void softfloat_roundPackMToExtF80M(bool, int32_t, uint32_t *, uint_fast8_t, struct extFloat80M *)
#define signExtF80UI64(a64)
bool softfloat_tryPropagateNaNExtF80M(const struct extFloat80M *, const struct extFloat80M *, struct extFloat80M *)
int softfloat_normExtF80SigM(uint64_t *)
#define indexMultiwordHi(total, n)
#define indexWordLo(total)
#define indexWord(total, n)
#define indexWordHi(total)
#define softfloat_add96M(aPtr, bPtr, zPtr)
void softfloat_mul64To128M(uint64_t a, uint64_t b, uint32_t *zPtr)
THREAD_LOCAL uint_fast8_t extF80_roundingPrecision
unsigned __int64 uint64_t