x86: Support Intel AVX VNNI

H.J. Lu hjl.tools@gmail.com
Fri Oct 23 21:30:02 GMT 2020


On Fri, Oct 23, 2020 at 6:36 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 23.10.2020 15:17, H.J. Lu wrote:
> > On Fri, Oct 23, 2020 at 12:04 AM Jan Beulich <jbeulich@suse.com> wrote:
> >>
> >> On 23.10.2020 03:57, Cui, Lili wrote:
> >>>>> output helping in any way, when comparing to all other AVX+ insns
> >>>>> which have AVX512VL counterparts? (Apart from that I'd further
> >>>>> question why it needs to be {vex3} when {vex} would suffice, but I'd
> >>>>> like to see this dropped altogether anyway, except perhaps in some
> >>>>> non-default mode, where it then should be output consistently.)
> >>>>
> >>>> Yes, {vex3} can be dropped from AVX VNNI tests.
> >>
> >> Okay, so we must have been talking past one another. I don't
> >> see any good in dropping the tests, and this isn't what I did
> >> suggest or talk about. {vex3} should be tested to be
> >> properly accepted by the assembler, just like {vex}. What I
> >> was saying is that _objdump output_ should have {vex} dropped,
> >> and that it should have been {vex} instead of {vex3} there in
> >> the first place.
> >
> > {vex} and {vex3} aren't new.   The new behavior of AVX VNNI is that
> > {vex} or {vex3} is now mandatory for AVX VNNI.  Since {vex} or {vex3}
> > is mandatory for AVX VNNI, it shouldn't be dropped in disassembler
> > output.
>
> They're not helpful in the disassembler output, and their adding
> is inconsistent with other cases where {vex} / {vex3} / {evex}
> aren't being displayed despite being necessary in gas to achieve
> the respective encoding.

AVX VNNI is an anomaly.  We can't apply the same rule on it.
The {vex} prefix is needed for both assembler input and disassembler
output.

> >> Hence faod: I think the change here is wrong and should either
> >> not be committed or reverted. (Oddly enough there have been no
> >> Intel syntax checks of any prefix uses at all - I would
> >> otherwise have outright nak-ed the change.)
> >
> > We can change disassembler output from {vex3} to {vex} and
> > put back the {vex3| tests in AVX VNNI.
>
> Good, thanks.
>

Lili, please prepare a patch.

Thanks.

-- 
H.J.


More information about the Binutils mailing list