x86: Support Intel AVX VNNI
Jan Beulich
jbeulich@suse.com
Mon Oct 26 08:46:19 GMT 2020
On 23.10.2020 23:30, H.J. Lu wrote:
> 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.
What I continue to be missing is the "why" aspect on the disassembler
side.
Jan
More information about the Binutils
mailing list