return b;
p_nan:
- return parts_pick_nan(a, b, s);
+ return partsN(pick_nan)(a, b, s);
}
/*
}
if (unlikely(ab_mask & float_cmask_anynan)) {
- return parts_pick_nan(a, b, s);
+ return partsN(pick_nan)(a, b, s);
}
/* Multiply by 0 or Inf */
/* All the NaN cases */
if (unlikely(ab_mask & float_cmask_anynan)) {
- return parts_pick_nan(a, b, s);
+ return partsN(pick_nan)(a, b, s);
}
if ((ab_mask & float_cmask_denormal) && b->cls != float_class_zero) {
/* All the NaN cases */
if (unlikely(ab_mask & float_cmask_anynan)) {
- return parts_pick_nan(a, b, s);
+ return partsN(pick_nan)(a, b, s);
}
/* Inf % N; N % 0 */
return is_nan(a->cls) ? b : a;
}
- return parts_pick_nan(a, b, s);
+ return partsN(pick_nan)(a, b, s);
}
if (ab_mask & float_cmask_denormal) {
FloatParts128 *: parts128_##NAME, \
FloatParts256 *: parts256_##NAME)
-static FloatParts64 *parts64_pick_nan(FloatParts64 *a, FloatParts64 *b,
- float_status *s);
-static FloatParts128 *parts128_pick_nan(FloatParts128 *a, FloatParts128 *b,
- float_status *s);
-
-#define parts_pick_nan(A, B, S) PARTS_GENERIC_64_128(pick_nan, A)(A, B, S)
-
static FloatParts64 *parts64_pick_nan_muladd(FloatParts64 *a, FloatParts64 *b,
FloatParts64 *c, float_status *s,
int ab_mask, int abc_mask);
return floatx80_default_nan(status);
}
- pr = parts_pick_nan(&pa, &pb, status);
+ pr = parts128_pick_nan(&pa, &pb, status);
return floatx80_round_pack_canonical(pr, status);
}
{
/* POp table "Results: DIVIDE TO INTEGER (Part 1 of 2)" */
if ((float_cmask(a->cls) | float_cmask(b->cls)) & float_cmask_anynan) {
- *r = *parts_pick_nan(a, b, status);
+ *r = *parts64_pick_nan(a, b, status);
*n = *r;
*cc = 1;
} else if (a->cls == float_class_inf || b->cls == float_class_zero) {