aboutsummaryrefslogtreecommitdiff
path: root/fpu/softfloat.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2018-05-10 15:21:31 -0700
committerRichard Henderson <richard.henderson@linaro.org>2018-05-17 15:27:15 -0700
commit4f251cfd52c7945ebd6ab0d86518b1a9aa51b10c (patch)
tree33f89fe89d3602fa99418f99dd3a68c108a927ba /fpu/softfloat.c
parent247d1f2190c5530fd18fe92a145d0a1985fca4e4 (diff)
fpu/softfloat: Pass FloatClass to pickNaN
For each operand, pass a single enumeration instead of a pair of booleans. The commit also merges multiple different ifdef-selected implementations of pickNaN into a single function whose body is ifdef-selected. Tested-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'fpu/softfloat.c')
-rw-r--r--fpu/softfloat.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fpu/softfloat.c b/fpu/softfloat.c
index ea252e0c84..55954385ff 100644
--- a/fpu/softfloat.c
+++ b/fpu/softfloat.c
@@ -580,8 +580,7 @@ static FloatParts pick_nan(FloatParts a, FloatParts b, float_status *s)
if (s->default_nan_mode) {
return parts_default_nan(s);
} else {
- if (pickNaN(is_qnan(a.cls), is_snan(a.cls),
- is_qnan(b.cls), is_snan(b.cls),
+ if (pickNaN(a.cls, b.cls,
a.frac > b.frac ||
(a.frac == b.frac && a.sign < b.sign))) {
a = b;