[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/34] tcg, target/ppc vector improvements
From: |
Mark Cave-Ayland |
Subject: |
Re: [Qemu-devel] [PATCH 00/34] tcg, target/ppc vector improvements |
Date: |
Tue, 18 Dec 2018 09:49:41 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.0 |
On 18/12/2018 06:38, Richard Henderson wrote:
> This implements some of the things that I talked about with Mark
> this morning / yesterday. In particular:
>
> (0) Implement expanders for nand, nor, eqv logical operations.
>
> (1) Implement saturating arithmetic for the tcg backend.
>
> While I had expanders for these, they always went to helpers.
> It's easy enough to expand byte and half-word operations for x86.
> Beyond that, 32 and 64-bit operations can be expanded with integers.
>
> (2) Implement minmax arithmetic for the tcg backend.
>
> While I had integral minmax operations, I had not yet added
> any vector expanders for this. (The integral stuff came in
> for atomic minmax.)
>
> (3) Trivial conversions to minmax for target/arm.
>
> (4) Patches 11-18 are identical to Mark's.
>
> (5) Patches 19-25 implement splat and logicals for VMX and VSX.
>
> VSX is no more difficult than VMX for these. It does seem to be
> just about everything that we can do for VSX at the momement.
>
> (6) Patches 26-33 implement saturating arithmetic for VMX.
>
> (7) Patch 34 implements minmax arithmetic for VMX.
>
> I've tested the new operations via aarch64 guest, as that's the set
> of risu test cases I've got handy. The rest is untested so far.
Thank you for working on this! I've just given this patchset a spin on my test
images
and here's what I found:
- The version of my target/ppc patchset you've used is the one that I posted to
the
mailing list which doesn't have the GEN_FLOAT macro fixes, removal of the
uint64_t *
cast that you requested, and additional SoBs
I've taken this patchset, replaced my patches with the latest versions, and
repushed
to github at https://github.com/mcayland/qemu/tree/ppc-altivec-rth.
- This patchset introduces visual artefacts on-screen for both OS X and OS 9
A quick bisection suggests that there could be 2 separate issues related to the
implementation of splat:
Patch "target/ppc: convert vspltis[bhw] to use vector operations" causes a black
border to appear around the OS X splash screen
(https://www.ilande.co.uk/tmp/qemu/badapple1.png) which may suggest an
overflow/alignment issue.
Following on from this, the next patch "target/ppc: convert vsplt[bhw] to use
vector
operations" causes corruption of the OS X splash screen
(https://www.ilande.co.uk/tmp/qemu/badapple2.png) in a way that suggests there
may be
an endian issue.
Having said that, the results look really promising, and I don't think it will
take
too long to resolve any outstanding issues. I will be around on IRC later today
if
that helps too.
ATB,
Mark.
- [Qemu-devel] [PATCH 24/34] target/ppc: convert xxspltw to vector operations, (continued)
- [Qemu-devel] [PATCH 24/34] target/ppc: convert xxspltw to vector operations, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 11/34] target/ppc: introduce get_fpr() and set_fpr() helpers for FP register access, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 25/34] target/ppc: convert xxsel to vector operations, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 01/34] tcg: Add logical simplifications during gvec expand, Richard Henderson, 2018/12/18
- [Qemu-devel] [PATCH 13/34] target/ppc: introduce get_cpu_vsr{l, h}() and set_cpu_vsr{l, h}() helpers for VSR register access, Richard Henderson, 2018/12/18
- Re: [Qemu-devel] [PATCH 00/34] tcg, target/ppc vector improvements,
Mark Cave-Ayland <=
- Re: [Qemu-devel] [PATCH 00/34] tcg, target/ppc vector improvements, Mark Cave-Ayland, 2018/12/18