[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/7] target/ppc: DFP fixes and improvements
From: |
Mark Cave-Ayland |
Subject: |
[PATCH 0/7] target/ppc: DFP fixes and improvements |
Date: |
Tue, 24 Sep 2019 16:35:49 +0100 |
This patchset fixes the DFP issue reported at
https://bugs.launchpad.net/qemu/+bug/1841990
caused by the change in FP register storage in commit ef96e3ae96 "target/ppc:
move FP and VMX registers into aligned vsr register array" along with some
further tidy-up/improvements.
Patches 1 and 2 introduce get/set helper functions for reading and writing
DFP even-odd register pairs (rather than accessing the register pointers
directly) which then leads to the real fix in patch 3.
Following on from this patches 4 to 6 change the struct PPC_DFP internal
decimal representation from uint64[2] to ppc_vsr_t which enables us to use
the existing VsrD() macro to access the correct elements regardless of host
endian and remove the explicit HI_IDX and LO_IDX references.
Finally patch 7 simplifies the calls to set_dfp{64,128}() in DFP macros
which can now be generated directly by the preprocessor rather than requiring
an explicit if() statement.
Signed-off-by: Mark Cave-Ayland <address@hidden>
Mark Cave-Ayland (7):
target/ppc: introduce get_dfp{64,128}() helper functions
target/ppc: introduce set_dfp{64,128}() helper functions
target/ppc: update {get,set}_dfp{64,128}() helper functions to
read/write DFP numbers correctly
target/ppc: introduce dfp_finalize_decimal{64,128}() helper functions
target/ppc: change struct PPC_DFP decimal storage from uint64[2] to
ppc_vsr_t
target/ppc: use existing VsrD() macro to eliminate HI_IDX and LO_IDX
from dfp_helper.c
target/ppc: remove unnecessary if() around calls to set_dfp{64,128}()
in DFP macros
target/ppc/cpu.h | 1 +
target/ppc/dfp_helper.c | 384 ++++++++++++++++++++--------------------
target/ppc/helper.h | 2 +-
3 files changed, 193 insertions(+), 194 deletions(-)
--
2.20.1
- [PATCH 0/7] target/ppc: DFP fixes and improvements,
Mark Cave-Ayland <=
- [PATCH 2/7] target/ppc: introduce set_dfp{64,128}() helper functions, Mark Cave-Ayland, 2019/09/24
- [PATCH 3/7] target/ppc: update {get, set}_dfp{64, 128}() helper functions to read/write DFP numbers correctly, Mark Cave-Ayland, 2019/09/24
- [PATCH 6/7] target/ppc: use existing VsrD() macro to eliminate HI_IDX and LO_IDX from dfp_helper.c, Mark Cave-Ayland, 2019/09/24