[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 0/7] target/ppc: DFP fixes and improvements
From: |
David Gibson |
Subject: |
Re: [PATCH v2 0/7] target/ppc: DFP fixes and improvements |
Date: |
Fri, 27 Sep 2019 10:07:43 +1000 |
User-agent: |
Mutt/1.12.1 (2019-06-15) |
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 <address@hidden>
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
- [PATCH v2 0/7] target/ppc: DFP fixes and improvements, Mark Cave-Ayland, 2019/09/26
- [PATCH v2 2/7] target/ppc: introduce set_dfp{64, 128}() helper functions, Mark Cave-Ayland, 2019/09/26
- [PATCH v2 1/7] target/ppc: introduce get_dfp{64, 128}() helper functions, Mark Cave-Ayland, 2019/09/26
- [PATCH v2 4/7] target/ppc: introduce dfp_finalize_decimal{64, 128}() helper functions, Mark Cave-Ayland, 2019/09/26
- [PATCH v2 3/7] target/ppc: update {get, set}_dfp{64, 128}() helper functions to read/write DFP numbers correctly, Mark Cave-Ayland, 2019/09/26
- [PATCH v2 6/7] target/ppc: use existing VsrD() macro to eliminate HI_IDX and LO_IDX from dfp_helper.c, Mark Cave-Ayland, 2019/09/26
- [PATCH v2 7/7] target/ppc: remove unnecessary if() around calls to set_dfp{64, 128}() in DFP macros, Mark Cave-Ayland, 2019/09/26
- [PATCH v2 5/7] target/ppc: change struct PPC_DFP decimal storage from uint64[2] to ppc_vsr_t, Mark Cave-Ayland, 2019/09/26
- Re: [PATCH v2 0/7] target/ppc: DFP fixes and improvements,
David Gibson <=