[PATCH v3] Support Intel AVX10.2 media instructions

Jiang, Haochen haochen.jiang@intel.com
Sat Sep 28 15:12:03 GMT 2024


> From: Jan Beulich <jbeulich@suse.com>
> Sent: Wednesday, September 25, 2024 10:42 PM
> 
> On 25.09.2024 16:39, Haochen Jiang wrote:
> > --- a/opcodes/i386-opc.tbl
> > +++ b/opcodes/i386-opc.tbl
> > @@ -3057,11 +3057,15 @@ vpdpwssd<vnni><sat>, 0x6652|<sat:opc>,
> <vnni:avx>_VNNI, Modrm|Space0F38|Src1VVVV
> >
> >  // {AVX512,AVX}_VNNI instructions end
> >
> > +<vnni_vex:int8:int16:attr:reg:mem, $y:_VNNI_INT8:_VNNI_INT16:Vex::,
> $z:10_2:10_2:Masking|Broadcast|Disp8ShiftVL:RegZMM:Dword>
> 
> If this really is needed (contrary to previously outlined plans), it
> wants wrapping across 3 lines (just like is done for other long-ish
> templates). However, despite you saying something about this in the
> description, I don't follow why this is needed.
> 

The problem here is for <vnni> template, which is used for
AVX512_VNNI/AVX_VNNI, $z comes first due to AVX512_VNNI is the
ISA introduced earlier and we need to place it before the VEX version
for table order.

But for AVX_VNNI_INT8/16 and AVX10.2, VEX version comes first.
We need $y placed before $z for table order.

Correct me if I'm wrong.

Thx,
Haochen


More information about the Binutils mailing list