[PATCH] Support Intel AVX10.2 media instructions

Jiang, Haochen haochen.jiang@intel.com
Tue Sep 3 03:29:50 GMT 2024


> From: Jan Beulich <jbeulich@suse.com>
> Sent: Monday, September 2, 2024 5:09 PM
> 
> On 02.09.2024 09:14, Jiang, Haochen wrote:
> >> From: Jiang, Haochen
> >> Sent: Monday, September 2, 2024 3:12 PM
> >>
> >>> From: Jan Beulich <jbeulich@suse.com>
> >>> Sent: Friday, August 30, 2024 8:53 PM
> >>>
> >>> On 29.08.2024 09:16, Haochen Jiang wrote:
> >>>> --- /dev/null
> >>>> +++ b/gas/testsuite/gas/i386/avx10_2-256-1.s
> >>>> @@ -0,0 +1,140 @@
> >>>> +# Check 32bit AVX10.2/256 instructions
> >>>> +
> >>>> +	.arch generic32
> >>>> +	.arch .avx10.2/256
> >>>> +	.text
> >>>> +_start:
> >>>> +	.irp m, ss, su, uu
> >>>> +	vpdpb\m\()d	%ymm4, %ymm5, %ymm6{%k7}
> >>>> +	vpdpb\m\()d	%xmm4, %xmm5, %xmm6{%k7}
> >>>> +	vpdpb\m\()d	0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7}
> >>>> +	vpdpb\m\()d	(%ecx){1to8}, %ymm5, %ymm6
> >>>> +	vpdpb\m\()d	4064(%ecx), %ymm5, %ymm6{%k7}
> >>>> +	vpdpb\m\()d	-512(%edx){1to8}, %ymm5, %ymm6{%k7}{z}
> >>>> +	vpdpb\m\()d	0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7}
> >>>> +	vpdpb\m\()d	(%ecx){1to4}, %xmm5, %xmm6
> >>>> +	vpdpb\m\()d	2032(%ecx), %xmm5, %xmm6{%k7}
> >>>> +	vpdpb\m\()d	-512(%edx){1to4}, %xmm5, %xmm6{%k7}{z}
> >>>> +	vpdpb\m\()ds	%ymm4, %ymm5, %ymm6{%k7}
> >>>> +	vpdpb\m\()ds	%xmm4, %xmm5, %xmm6{%k7}
> >>>> +	vpdpb\m\()ds	0x10000000(%esp, %esi, 8), %ymm5, %ymm6{%k7}
> >>>> +	vpdpb\m\()ds	(%ecx){1to8}, %ymm5, %ymm6
> >>>> +	vpdpb\m\()ds	4064(%ecx), %ymm5, %ymm6{%k7}
> >>>> +	vpdpb\m\()ds	-512(%edx){1to8}, %ymm5, %ymm6{%k7}{z}
> >>>> +	vpdpb\m\()ds	0x10000000(%esp, %esi, 8), %xmm5, %xmm6{%k7}
> >>>> +	vpdpb\m\()ds	(%ecx){1to4}, %xmm5, %xmm6
> >>>> +	vpdpb\m\()ds	2032(%ecx), %xmm5, %xmm6{%k7}
> >>>> +	vpdpb\m\()ds	-512(%edx){1to4}, %xmm5, %xmm6{%k7}{z}
> >>>> +	.endr
> >>>
> >>> The 2nd half is fully redundant with the 1st, except for the trailing s.
> >>> Use a 2nd, nested .irp?
> >>
> >> I am not sure if it could be done with .irp, n, ,s or something similar.
> >> I will have a try.
> >
> > After I sent that out, I immediately found that we could use .irp n, d, ds
> > to get that. I will change to that.
> 
> Please try to avoid that:
> 
> 	.irp s,"",s

This works. Thank for your help.

I will send out v2 patch after your vnni patch get into trunk.

Thx,
Haochen

> 
> surely ought to work (and is imo better than the possible ".irp s,,s" for
> making explicit that <nothing> is indeed meant). Alternatively
> 
> 	.irpc s," s"
> 
> might also be an option.
> 
> Jan


More information about the Binutils mailing list