mbox series

[00/17] target/ppc: convert instructions to use TCG vector operations

Message ID 20190215100058.20015-1-mark.cave-ayland@ilande.co.uk (mailing list archive)
Headers show
Series target/ppc: convert instructions to use TCG vector operations | expand

Message

Mark Cave-Ayland Feb. 15, 2019, 10 a.m. UTC
Now that all the pre-requisite patches and bugfixes have been merged, here is
the remainder of Richard's "tcg, target/ppc vector improvements" patchset that
converts various PPC VMX/VSX instructions over to use TCG vector operations.

Compared to the original posted patchset I've made a few minor changes:
  - A fix to the boffs calculation for little-endian hosts in patch 4
    (already reported and fixed on-list)
  - A formatting fix to patch 8 to keep checkpatch happy
  - Added David's A-B tags from the original series

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


Mark Cave-Ayland (2):
  target/ppc: convert VMX logical instructions to use vector operations
  target/ppc: convert vaddu[b,h,w,d] and vsubu[b,h,w,d] over to use
    vector operations

Richard Henderson (15):
  target/ppc: convert vspltis[bhw] to use vector operations
  target/ppc: convert vsplt[bhw] to use vector operations
  target/ppc: convert VSX logical operations to vector operations
  target/ppc: convert xxspltib to vector operations
  target/ppc: convert xxspltw to vector operations
  target/ppc: convert xxsel to vector operations
  target/ppc: Pass integer to helper_mtvscr
  target/ppc: Use helper_mtvscr for reset and gdb
  target/ppc: Remove vscr_nj and vscr_sat
  target/ppc: Add helper_mfvscr
  target/ppc: Use mtvscr/mfvscr for vmstate
  target/ppc: Add set_vscr_sat
  target/ppc: Split out VSCR_SAT to a vector field
  target/ppc: convert vadd*s and vsub*s to vector operations
  target/ppc: convert vmin* and vmax* to vector operations

 target/ppc/arch_dump.c              |   3 +-
 target/ppc/cpu.h                    |   6 +-
 target/ppc/helper.h                 |  57 ++------
 target/ppc/int_helper.c             | 129 +++++-------------
 target/ppc/machine.c                |  44 ++++++-
 target/ppc/translate.c              |   1 +
 target/ppc/translate/vmx-impl.inc.c | 251 +++++++++++++++++++-----------------
 target/ppc/translate/vsx-impl.inc.c | 147 +++++++++------------
 target/ppc/translate_init.inc.c     |   7 +-
 9 files changed, 290 insertions(+), 355 deletions(-)

Comments

David Gibson Feb. 18, 2019, 12:16 a.m. UTC | #1
On Fri, Feb 15, 2019 at 10:00:41AM +0000, Mark Cave-Ayland wrote:
> Now that all the pre-requisite patches and bugfixes have been merged, here is
> the remainder of Richard's "tcg, target/ppc vector improvements" patchset that
> converts various PPC VMX/VSX instructions over to use TCG vector operations.
> 
> Compared to the original posted patchset I've made a few minor changes:
>   - A fix to the boffs calculation for little-endian hosts in patch 4
>     (already reported and fixed on-list)
>   - A formatting fix to patch 8 to keep checkpatch happy
>   - Added David's A-B tags from the original series
> 
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>

Applied to ppc-for-4.0, thanks.

> 
> 
> Mark Cave-Ayland (2):
>   target/ppc: convert VMX logical instructions to use vector operations
>   target/ppc: convert vaddu[b,h,w,d] and vsubu[b,h,w,d] over to use
>     vector operations
> 
> Richard Henderson (15):
>   target/ppc: convert vspltis[bhw] to use vector operations
>   target/ppc: convert vsplt[bhw] to use vector operations
>   target/ppc: convert VSX logical operations to vector operations
>   target/ppc: convert xxspltib to vector operations
>   target/ppc: convert xxspltw to vector operations
>   target/ppc: convert xxsel to vector operations
>   target/ppc: Pass integer to helper_mtvscr
>   target/ppc: Use helper_mtvscr for reset and gdb
>   target/ppc: Remove vscr_nj and vscr_sat
>   target/ppc: Add helper_mfvscr
>   target/ppc: Use mtvscr/mfvscr for vmstate
>   target/ppc: Add set_vscr_sat
>   target/ppc: Split out VSCR_SAT to a vector field
>   target/ppc: convert vadd*s and vsub*s to vector operations
>   target/ppc: convert vmin* and vmax* to vector operations
> 
>  target/ppc/arch_dump.c              |   3 +-
>  target/ppc/cpu.h                    |   6 +-
>  target/ppc/helper.h                 |  57 ++------
>  target/ppc/int_helper.c             | 129 +++++-------------
>  target/ppc/machine.c                |  44 ++++++-
>  target/ppc/translate.c              |   1 +
>  target/ppc/translate/vmx-impl.inc.c | 251 +++++++++++++++++++-----------------
>  target/ppc/translate/vsx-impl.inc.c | 147 +++++++++------------
>  target/ppc/translate_init.inc.c     |   7 +-
>  9 files changed, 290 insertions(+), 355 deletions(-)
>