qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH for-4.1 v3 00/17] tcg/ppc: Add vector opcodes


From: Richard Henderson
Subject: [Qemu-devel] [PATCH for-4.1 v3 00/17] tcg/ppc: Add vector opcodes
Date: Tue, 19 Mar 2019 10:21:09 -0700

Changes since v2:
  * Several generic tcg patches to improve dup vs dupi vs dupm.

    In particular, if a global temp (like guest r10) is not in
    a host register, we should duplicate from memory instead of
    loading to an integer register, spilling to stack, loading
    to a vector register, and then duplicating.

  * I have more confidence that 32-bit ppc host should work
    this time around.  No testing on that front yet, but I've
    unified some code sequences with 64-bit ppc host.

  * Base altivec now supports V128 only.  Moved V64 support to
    Power7 (v2.06), which has 64-bit load/store.

  * Dropped support for 64-bit vector multiply using Power8.
    The expansion was too large compared to using integer regs.


r~


Richard Henderson (17):
  target/arm: Fill in .opc for cmtst_op
  tcg: Assert fixed_reg is read-only
  tcg: Return bool success from tcg_out_mov
  tcg: Support cross-class moves without instruction support
  tcg: Allow add_vec, sub_vec, neg_vec, not_vec to be expanded
  tcg: Promote tcg_out_{dup,dupi}_vec to backend interface
  tcg: Manually expand INDEX_op_dup_vec
  tcg: Add tcg_out_dupm_vec to the backend interface
  tcg/i386: Implement tcg_out_dupm_vec
  tcg/aarch64: Implement tcg_out_dupm_vec
  tcg: Add INDEX_op_dup_mem_vec
  tcg/ppc: Initial backend support for Altivec
  tcg/ppc: Support vector shift by immediate
  tcg/ppc: Support vector multiply
  tcg/ppc: Update vector support to v2.06
  tcg/ppc: Update vector support to v2.07
  tcg/ppc: Update vector support to v3.00

 tcg/ppc/tcg-target.h         |   36 +-
 tcg/ppc/tcg-target.opc.h     |   11 +
 tcg/tcg-op.h                 |    1 +
 tcg/tcg-opc.h                |    1 +
 target/arm/translate.c       |    4 +
 tcg/aarch64/tcg-target.inc.c |   70 ++-
 tcg/arm/tcg-target.inc.c     |    7 +-
 tcg/i386/tcg-target.inc.c    |   78 ++-
 tcg/mips/tcg-target.inc.c    |    3 +-
 tcg/ppc/tcg-target.inc.c     | 1077 +++++++++++++++++++++++++++++++---
 tcg/riscv/tcg-target.inc.c   |    5 +-
 tcg/s390/tcg-target.inc.c    |    3 +-
 tcg/sparc/tcg-target.inc.c   |    3 +-
 tcg/tcg-op-gvec.c            |   88 +--
 tcg/tcg-op-vec.c             |   60 +-
 tcg/tcg.c                    |  252 ++++++--
 tcg/tci/tcg-target.inc.c     |    3 +-
 17 files changed, 1482 insertions(+), 220 deletions(-)
 create mode 100644 tcg/ppc/tcg-target.opc.h

-- 
2.17.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]