[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-4.1 v3 00/17] tcg/ppc: Add vector opcodes
From: |
Mark Cave-Ayland |
Subject: |
Re: [Qemu-devel] [PATCH for-4.1 v3 00/17] tcg/ppc: Add vector opcodes |
Date: |
Wed, 20 Mar 2019 19:34:01 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 |
On 19/03/2019 17:21, Richard Henderson wrote:
> 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
I've given this a quick spin on my MacOS images on a G4, and a basic boot to
userspace under qemu-system-ppc for MacOS 9 and MacOS X don't show anything
obvious
so far.
Lightly-Tested-By: Mark Cave-Ayland <address@hidden>
(It's a bit tricky to test much as something odd is going on with performance
here -
the emulator seems disproportionately slow during IO given the speed of the G4
CPU).
ATB,
Mark.
- [Qemu-devel] [PATCH for-4.1 v3 07/17] tcg: Manually expand INDEX_op_dup_vec, (continued)
- [Qemu-devel] [PATCH for-4.1 v3 07/17] tcg: Manually expand INDEX_op_dup_vec, Richard Henderson, 2019/03/19
- [Qemu-devel] [PATCH for-4.1 v3 10/17] tcg/aarch64: Implement tcg_out_dupm_vec, Richard Henderson, 2019/03/19
- [Qemu-devel] [PATCH for-4.1 v3 11/17] tcg: Add INDEX_op_dup_mem_vec, Richard Henderson, 2019/03/19
- [Qemu-devel] [PATCH for-4.1 v3 13/17] tcg/ppc: Support vector shift by immediate, Richard Henderson, 2019/03/19
- [Qemu-devel] [PATCH for-4.1 v3 14/17] tcg/ppc: Support vector multiply, Richard Henderson, 2019/03/19
- [Qemu-devel] [PATCH for-4.1 v3 15/17] tcg/ppc: Update vector support to v2.06, Richard Henderson, 2019/03/19
- [Qemu-devel] [PATCH for-4.1 v3 16/17] tcg/ppc: Update vector support to v2.07, Richard Henderson, 2019/03/19
- [Qemu-devel] [PATCH for-4.1 v3 12/17] tcg/ppc: Initial backend support for Altivec, Richard Henderson, 2019/03/19
- [Qemu-devel] [PATCH for-4.1 v3 17/17] tcg/ppc: Update vector support to v3.00, Richard Henderson, 2019/03/19
- Re: [Qemu-devel] [PATCH for-4.1 v3 00/17] tcg/ppc: Add vector opcodes, no-reply, 2019/03/19
- Re: [Qemu-devel] [PATCH for-4.1 v3 00/17] tcg/ppc: Add vector opcodes,
Mark Cave-Ayland <=
- Re: [Qemu-devel] [PATCH for-4.1 v3 00/17] tcg/ppc: Add vector opcodes, Howard Spoelstra, 2019/03/23