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.