On 2/8/19 10:09 AM, Mark Cave-Ayland wrote: > On 08/02/2019 17:39, Richard Henderson wrote: > >> On 2/7/19 2:42 PM, Mark Cave-Ayland wrote: >>> Due to a cut/paste error in the original implementation, the unsigned vector >>> saturating arithmetic was erroneously being calculated as signed vector >>> saturating >>> arithmetic. >>> >>> Fixes: 8ffafbcec2 ("tcg/i386: Implement vector saturating arithmetic") >>> Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> >>> --- >>> tcg/i386/tcg-target.inc.c | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> Ooof. Thanks. > > AFAICT none of the other TCG backends currently make use of it, but it was > this bug > causing the graphical corruption that myself and Howard saw testing the PPC > vector > patchset.
I would have seen the error if I had done ARM SVE regression testing. But I only did ARM NEON testing, which does not make use of this, and I had forgotten that. Like PPC, NEON sets a "saw saturation" bit. I think I'll do the same trick as we did for ppc to compute that with vector insns. > FWIW I've now rebased and repushed the outstanding patches from your patchset > along > with this fix to https://github.com/mcayland/qemu/commits/ppc-altivec-v6 as > it would > be great if this could make it into 4.0. I've given all of my r-b... r~