[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 15/16] tcg/ppc: Update vector support to v2.0
Re: [Qemu-devel] [PATCH v6 15/16] tcg/ppc: Update vector support to v2.07
Wed, 10 Jul 2019 12:52:50 +0200
On Jul 2, 2019 4:26 PM, "Richard Henderson" <address@hidden>
> On 7/1/19 1:41 PM, Aleksandar Markovic wrote:
> > If we go back to my example, it appears to me that doubleword
> > integer max/min Altivec instruction do not depend on VSX in any
> > way, or, at least, I did not find anything in Altivec docs that
> > mentions it (I could be wrong).
> You are correct, for the case of min/max -- and indeed all of the other
> arithmetic added in this patch -- we do not need VSX.
> However, the load/store instructions added by this patch do require VSX.
> AFAIK, there is exactly one v2.07 core design, the power8.
> It has both Altivec and VSX, so it's really only a technicality
> to check both v2.07 + Altivec + VSX, but I do anyway. It does
> not seem worthwhile to decompose these checks further.
What did you achieve with such assimption? I see this:
- you have one flag less in your code, saving some 7-8 lines of source
(this includes flag initialization)
- you made QEMU executable around 20 bytes shorter
- you shortened QEMU initialization by almost 10 ns
(feel free to add something if I missed it)
However, here is the price: you made the code not only dependant on ISA
documentation, but also on market forces (whether some CPU configurations
are physically produced or not). Secondly, analysis of the code is
significantly more difficult.
Those are huge steps backward.
You should stick to the documentation only, and refactor the patch in that