[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 25/46] softfloat: Rearrange FloatParts64
From: |
Richard Henderson |
Subject: |
[PULL 25/46] softfloat: Rearrange FloatParts64 |
Date: |
Sun, 16 May 2021 07:34:10 -0500 |
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>
---
fpu/softfloat.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/fpu/softfloat.c b/fpu/softfloat.c
index 2123453d40..ee609540aa 100644
--- a/fpu/softfloat.c
+++ b/fpu/softfloat.c
@@ -511,10 +511,20 @@ static inline __attribute__((unused)) bool
is_qnan(FloatClass c)
*/
typedef struct {
- uint64_t frac;
- int32_t exp;
FloatClass cls;
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;
#define DECOMPOSED_BINARY_POINT 63
--
2.25.1
- [PULL 12/46] softfloat: fix return_nan vs default_nan_mode, (continued)
- [PULL 12/46] softfloat: fix return_nan vs default_nan_mode, Richard Henderson, 2021/05/16
- [PULL 17/46] softfloat: Use pointers with parts_default_nan, Richard Henderson, 2021/05/16
- [PULL 29/46] softfloat: Move pick_nan to softfloat-parts.c.inc, Richard Henderson, 2021/05/16
- [PULL 33/46] softfloat: Use uadd64_carry, usub64_borrow in softfloat-macros.h, Richard Henderson, 2021/05/16
- [PULL 18/46] softfloat: Use pointers with unpack_raw, Richard Henderson, 2021/05/16
- [PULL 19/46] softfloat: Use pointers with ftype_unpack_raw, Richard Henderson, 2021/05/16
- [PULL 07/46] softfloat: Inline float_raise, Richard Henderson, 2021/05/16
- [PULL 31/46] softfloat: Move sf_canonicalize to softfloat-parts.c.inc, Richard Henderson, 2021/05/16
- [PULL 22/46] softfloat: Use pointers with ftype_unpack_canonical, Richard Henderson, 2021/05/16
- [PULL 26/46] softfloat: Convert float128_silence_nan to parts, Richard Henderson, 2021/05/16
- [PULL 25/46] softfloat: Rearrange FloatParts64,
Richard Henderson <=
- [PULL 24/46] softfloat: Use pointers with parts_silence_nan, Richard Henderson, 2021/05/16
- [PULL 28/46] softfloat: Move return_nan to softfloat-parts.c.inc, Richard Henderson, 2021/05/16
- [PULL 21/46] softfloat: Use pointers with ftype_pack_raw, Richard Henderson, 2021/05/16
- [PULL 30/46] softfloat: Move pick_nan_muladd to softfloat-parts.c.inc, Richard Henderson, 2021/05/16
- [PULL 34/46] softfloat: Move addsub_floats to softfloat-parts.c.inc, Richard Henderson, 2021/05/16
- [PULL 38/46] softfloat: Use mulu64 for mul64To128, Richard Henderson, 2021/05/16
- [PULL 27/46] softfloat: Convert float128_default_nan to parts, Richard Henderson, 2021/05/16
- [PULL 35/46] softfloat: Implement float128_add/sub via parts, Richard Henderson, 2021/05/16
- [PULL 37/46] softfloat: Move muladd_floats to softfloat-parts.c.inc, Richard Henderson, 2021/05/16
- [PULL 32/46] softfloat: Move round_canonical to softfloat-parts.c.inc, Richard Henderson, 2021/05/16