x86: Support Intel AVX VNNI

Jan Beulich jbeulich@suse.com
Mon Oct 19 13:22:06 GMT 2020


On 19.10.2020 14:24, H.J. Lu wrote:
> On Sun, Oct 18, 2020 at 11:28 PM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 16.10.2020 20:07, H.J. Lu wrote:
>>> When AVX VNNI was added, we could either use different mnemonics
>>> from AVX512 VNNI or a {vex} prefix.  We went with {vex} and made it
>>> mandatory to avoid any confusion.
>>
>> What confusion could there be when a person has given suitable
>> explicit .arch directives? And how is {vex3} in disassembler
> 
> When debugging assembly codes under GDB, one shouldn't guess
> how they are assembled.

And in gdb how do you tell

	vaddps %xmm0, %xmm1, %xmm2

from

	{evex} vaddps %xmm0, %xmm1, %xmm2

or

	{vex3} vaddps %xmm0, %xmm1, %xmm2

This is exactly the same as the case at hand, just that the
order in time in which both encodings where introduced is
reversed. But the order of introduction time shouldn't matter
to the (long term) behavior of a tool.

Jan

>> 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.
> 



More information about the Binutils mailing list