On Thu, Sep 26, 2019 at 07:57:54PM +0100, Mark Cave-Ayland wrote: > 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 <mark.cave-ayl...@ilande.co.uk>
Applied to ppc-for-4.2, thanks. > > v2: > - Rebase onto master > - Fix typo in dfp_set_sign_128() > - Add R-b tags from Richard > > > 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(-) > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature