softfloat: Use _Generic instead of QEMU_GENERIC

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210614233143.1221879-3-richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2021-06-14 16:31:37 -07:00
parent d22797ce36
commit 6c06aca036

View File

@ -686,11 +686,13 @@ static float128 float128_pack_raw(const FloatParts128 *p)
#include "softfloat-specialize.c.inc"
#define PARTS_GENERIC_64_128(NAME, P) \
QEMU_GENERIC(P, (FloatParts128 *, parts128_##NAME), parts64_##NAME)
_Generic((P), FloatParts64 *: parts64_##NAME, \
FloatParts128 *: parts128_##NAME)
#define PARTS_GENERIC_64_128_256(NAME, P) \
QEMU_GENERIC(P, (FloatParts256 *, parts256_##NAME), \
(FloatParts128 *, parts128_##NAME), parts64_##NAME)
_Generic((P), FloatParts64 *: parts64_##NAME, \
FloatParts128 *: parts128_##NAME, \
FloatParts256 *: parts256_##NAME)
#define parts_default_nan(P, S) PARTS_GENERIC_64_128(default_nan, P)(P, S)
#define parts_silence_nan(P, S) PARTS_GENERIC_64_128(silence_nan, P)(P, S)
@ -892,11 +894,13 @@ static void parts128_log2(FloatParts128 *a, float_status *s, const FloatFmt *f);
*/
#define FRAC_GENERIC_64_128(NAME, P) \
QEMU_GENERIC(P, (FloatParts128 *, frac128_##NAME), frac64_##NAME)
_Generic((P), FloatParts64 *: frac64_##NAME, \
FloatParts128 *: frac128_##NAME)
#define FRAC_GENERIC_64_128_256(NAME, P) \
QEMU_GENERIC(P, (FloatParts256 *, frac256_##NAME), \
(FloatParts128 *, frac128_##NAME), frac64_##NAME)
_Generic((P), FloatParts64 *: frac64_##NAME, \
FloatParts128 *: frac128_##NAME, \
FloatParts256 *: frac256_##NAME)
static bool frac64_add(FloatParts64 *r, FloatParts64 *a, FloatParts64 *b)
{