softfloat: Rearrange FloatParts64

Shuffle the fraction to the end, otherwise sort by size.
Add frac_hi and frac_lo members to alias frac.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2020-11-11 17:36:39 -08:00
parent 92ff426d7b
commit 4109b9ea8a

View File

@ -511,10 +511,20 @@ static inline __attribute__((unused)) bool is_qnan(FloatClass c)
*/ */
typedef struct { typedef struct {
uint64_t frac;
int32_t exp;
FloatClass cls; FloatClass cls;
bool sign; bool sign;
int32_t exp;
union {
/* Routines that know the structure may reference the singular name. */
uint64_t frac;
/*
* Routines expanded with multiple structures reference "hi" and "lo"
* depending on the operation. In FloatParts64, "hi" and "lo" are
* both the same word and aliased here.
*/
uint64_t frac_hi;
uint64_t frac_lo;
};
} FloatParts64; } FloatParts64;
#define DECOMPOSED_BINARY_POINT 63 #define DECOMPOSED_BINARY_POINT 63