[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 021/101] softfloat: Add flag specific to Inf - Inf
From: |
Cédric Le Goater |
Subject: |
[PULL 021/101] softfloat: Add flag specific to Inf - Inf |
Date: |
Thu, 16 Dec 2021 21:24:54 +0100 |
From: Richard Henderson <richard.henderson@linaro.org>
PowerPC has this flag, and it's easier to compute it here
than after the fact.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211119160502.17432-3-richard.henderson@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
include/fpu/softfloat-types.h | 1 +
fpu/softfloat-parts.c.inc | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/include/fpu/softfloat-types.h b/include/fpu/softfloat-types.h
index 65a43aff5970..eaa12e1e0033 100644
--- a/include/fpu/softfloat-types.h
+++ b/include/fpu/softfloat-types.h
@@ -152,6 +152,7 @@ enum {
float_flag_inexact = 0x0010,
float_flag_input_denormal = 0x0020,
float_flag_output_denormal = 0x0040,
+ float_flag_invalid_isi = 0x0080, /* inf - inf */
};
/*
diff --git a/fpu/softfloat-parts.c.inc b/fpu/softfloat-parts.c.inc
index 41d4b17e4190..eb2b475ca466 100644
--- a/fpu/softfloat-parts.c.inc
+++ b/fpu/softfloat-parts.c.inc
@@ -354,7 +354,7 @@ static FloatPartsN *partsN(addsub)(FloatPartsN *a,
FloatPartsN *b,
return a;
}
/* Inf - Inf */
- float_raise(float_flag_invalid, s);
+ float_raise(float_flag_invalid | float_flag_invalid_isi, s);
parts_default_nan(a, s);
return a;
}
@@ -494,6 +494,7 @@ static FloatPartsN *partsN(muladd)(FloatPartsN *a,
FloatPartsN *b,
if (ab_mask & float_cmask_inf) {
if (c->cls == float_class_inf && a->sign != c->sign) {
+ float_raise(float_flag_invalid | float_flag_invalid_isi, s);
goto d_nan;
}
goto return_inf;
--
2.31.1
- [PULL 026/101] softfloat: Add flag specific to signaling nans, (continued)
- [PULL 026/101] softfloat: Add flag specific to signaling nans, Cédric Le Goater, 2021/12/16
- [PULL 008/101] target/ppc: Implement Vector Mask Move insns, Cédric Le Goater, 2021/12/16
- [PULL 018/101] docs: Rename ppc-spapr-hcalls.txt to ppc-spapr-hcalls.rst., Cédric Le Goater, 2021/12/16
- [PULL 015/101] ppc/pnv.c: fix "system-id" FDT when -uuid is set, Cédric Le Goater, 2021/12/16
- [PULL 020/101] softfloat: Extend float_exception_flags to 16 bits, Cédric Le Goater, 2021/12/16
- [PULL 031/101] target/ppc: Update float_invalid_cvt for new flags, Cédric Le Goater, 2021/12/16
- [PULL 013/101] ppc/pnv.c: add a friendly warning when accel=kvm is used, Cédric Le Goater, 2021/12/16
- [PULL 017/101] docs: rSTify ppc-spapr-hcalls.txt, Cédric Le Goater, 2021/12/16
- [PULL 039/101] target/ppc: Do not call do_float_check_status from do_fmadd, Cédric Le Goater, 2021/12/16
- [PULL 016/101] docs: Introducing pseries documentation., Cédric Le Goater, 2021/12/16
- [PULL 021/101] softfloat: Add flag specific to Inf - Inf,
Cédric Le Goater <=
- [PULL 035/101] target/ppc: Tidy inexact handling in do_fri, Cédric Le Goater, 2021/12/16
- [PULL 024/101] softfloat: Add flag specific to sqrt(-x), Cédric Le Goater, 2021/12/16
- [PULL 030/101] target/ppc: Move float_check_status from FPU_FCTI to translate, Cédric Le Goater, 2021/12/16
- [PULL 034/101] target/ppc: Use FloatRoundMode in do_fri, Cédric Le Goater, 2021/12/16
- [PULL 037/101] target/ppc: Update fmadd for new flags, Cédric Le Goater, 2021/12/16
- [PULL 029/101] target/ppc: Update float_invalid_op_div for new flags, Cédric Le Goater, 2021/12/16
- [PULL 033/101] target/ppc: Remove inline from do_fri, Cédric Le Goater, 2021/12/16
- [PULL 036/101] target/ppc: Clean up do_fri, Cédric Le Goater, 2021/12/16
- [PULL 056/101] target/ppc: Remove the software TLB model of 7450 CPUs, Cédric Le Goater, 2021/12/16
- [PULL 049/101] target/ppc: Add helpers for fadds, fsubs, fdivs, Cédric Le Goater, 2021/12/16