[PATCH] Support Intel AVX10.2 minmax, vector copy and compare instructions
Jiang, Haochen
haochen.jiang@intel.com
Tue Dec 10 08:27:20 GMT 2024
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Tuesday, December 10, 2024 3:57 PM
>
> On 04.12.2024 08:34, Haochen Jiang wrote:
>
> Did you consider using .irp for the above as well, like you already do ...
>
> > + vmovd %xmm5, %xmm6
> > + vmovd.s %xmm5, %xmm6
> > + vmovw %xmm5, %xmm6
> > + vmovw.s %xmm5, %xmm6
> > +
> > + .irp m, "", u
> > + v\m\()comxsd %xmm5, %xmm6
>
> ... here? I realize the broadcast forms would need pulling out, yet that would
> still be a fair reduction of redundancy.
Ok I will do that.
>
> > --- a/opcodes/i386-dis-evex-len.h
> > +++ b/opcodes/i386-dis-evex-len.h
> > @@ -1,4 +1,14 @@
> > static const struct dis386 evex_len_table[][3] = {
> > + /* EVEX_LEN_0F7E_P_1_W_1 */
> > + {
> > + { "vmovd", { XMScalar, EXd }, 0 },
> > + },
>
> Isn't this ..._W_0? (There's also an extra blank there.)
It should be _W_0. I don't see any reason why it is _W_1 here. Should
be a typo.
>
> > --- a/opcodes/i386-opc.tbl
> > +++ b/opcodes/i386-opc.tbl
> I don't think this is needed; see vcomis<sdh> and vucomis<sdh>. They simply
> use Disp8MemShift without value, and the same ought to work here.
I will have a try.
Thx,
Haochen
More information about the Binutils
mailing list