[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/2] Floating-point OE/UE exception bug
From: |
Lucas Mateus Castro(alqotel) |
Subject: |
[PATCH 0/2] Floating-point OE/UE exception bug |
Date: |
Fri, 5 Aug 2022 11:15:20 -0300 |
From: "Lucas Mateus Castro (alqotel)" <lucas.araujo@eldorado.org.br>
Changes in v2:
- Completely reworked the solution:
* Created re_bias in FloatFmt, it is 3/4 of the total exponent
range of a FP type
* Added rebias bools that dictates if the result should have
its exponent add/subtract the re_bias value if an
overflow/underflow occurs.
* ppc_store_fpscr sets/unsets rebias if OE/UE is set/unset
The PowerISA defines that if an overflow exception happen with FPSCR.OE
set, the exponent of the intermediate result is subtracted 1536 in
double precision operations and is added 1536 in an underflow exception,
currently this behavior is not QEMU's behavior, this patch series fixes
that.
Currently there's no test in this patch series as there's no way to
disable MSR.FE0 and MSR.FE1 in linux user, so any overflow/underflow
exception with OE/UE set causes a trapping exception.
Lucas Mateus Castro (alqotel) (2):
fpu: Add rebias bool, value and operation
target/ppc: Bugfix FP when OE/UE are set
fpu/softfloat-parts.c.inc | 21 +++++++++++++++++++--
fpu/softfloat.c | 2 ++
include/fpu/softfloat-types.h | 4 ++++
target/ppc/cpu.c | 2 ++
target/ppc/fpu_helper.c | 2 --
5 files changed, 27 insertions(+), 4 deletions(-)
--
2.31.1
- [PATCH 0/2] Floating-point OE/UE exception bug,
Lucas Mateus Castro(alqotel) <=
- [PATCH 1/2] fpu: Add rebias bool, value and operation, Lucas Mateus Castro(alqotel), 2022/08/05
- [PATCH 2/2] target/ppc: Bugfix FP when OE/UE are set, Lucas Mateus Castro(alqotel), 2022/08/05
- Re: [PATCH 0/2] Floating-point OE/UE exception bug, Alex Bennée, 2022/08/05
- Re: [PATCH 0/2] Floating-point OE/UE exception bug, Lucas Mateus Martins Araujo e Castro, 2022/08/05
- Re: [PATCH 0/2] Floating-point OE/UE exception bug, Richard Henderson, 2022/08/05
- Re: [PATCH 0/2] Floating-point OE/UE exception bug, Daniel Henrique Barboza, 2022/08/05