[PATCH v3 1/2] x86: ACE_V1 support for AMX-shared instructions
Jiang, Haochen
haochen.jiang@intel.com
Mon Sep 14 08:30:20 GMT 2026
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Friday, September 11, 2026 8:43 PM
>
> On 09.09.2026 15:25, Rohan Shenoy wrote:
> > Enable ACE_V1 architecture, and reuse the pre-existing AMX-shared
> > instructions for tile management, row moves, and row converts under
> > ACE_V1, also allowing TMM register usage.
> >
> > Reference: AI Compute Extensions (ACE) Specification, v1.16.2
> > https://x86ecosystem.org/wp-
> content/uploads/2026/06/ACE_v1_Specification_public.pdf
> >
> > Co-authored-by: Ganesh Gopalasubramanian
> <Ganesh.Gopalasubramanian@amd.com>
> > Co-authored-by: Umesh Kalvakuntla <Umesh.Kalvakuntla@amd.com>
> > ---
> > gas/config/tc-i386.c | 12 ++++--
> > gas/doc/c-i386.texi | 3 +-
> > gas/testsuite/gas/i386/x86-64-ace_v1-intel.d | 44
> +++++++++++++++++++
> > gas/testsuite/gas/i386/x86-64-ace_v1.d | 44 +++++++++++++++++++
> > gas/testsuite/gas/i386/x86-64-ace_v1.s | 44 +++++++++++++++++++
> > gas/testsuite/gas/i386/x86-64.exp | 2 +
> > opcodes/i386-dis-evex-prefix.h | 20 ++++-----
> > opcodes/i386-dis.c | 13 +++++-
>
> As you're only enabling existing insns, there shouldn't be any disassembler
> changes here. These also aren't covered by the description. Please split
> out and properly describe.
Agreed. Please at least mention that in log.
>
> > --- /dev/null
> > +++ b/gas/testsuite/gas/i386/x86-64-ace_v1-intel.d
> > @@ -0,0 +1,44 @@
> > +#as: -march=generic64+ace_v1
> > +#as:
> > +#objdump: -dw -Mintel
> > +#name: 64-bit ACE v1 insns (Intel disassembly)
>
> I don't think an Intel syntax disassembly test is needed here. All you're
> after is correct behavior of the assembler. (Unless of course in the 2nd
> patch you add to this. But then the Intel syntax disassembly case would
> still more logically be introduced there.)
Exactly, we are only sharing insns here. More appropriate test just needs
to focus on that.
>
> > --- a/opcodes/i386-gen.c
> > +++ b/opcodes/i386-gen.c
> > @@ -269,6 +269,8 @@ static const dependency isa_dependencies[] =
> > "RTM|HLE" },
> > { "TSXLDTRK",
> > "RTM" },
> > + { "ACE_V1",
> > + "AVX10_V2_AUX|AVX10_1_AUX|64" },
>
> Related to the comments on changes to tc-i386.c: I think we want to have
> an internal TILE feature, which then both AMX_TILE and ACE_V1 depend on.
> That'll be what LDTILECFG, STTILECFG, TILERELEASE, and TILEZERO would be
> switched to, without any need to introduce secondary, almost identical
> templates.
This might lead to issue that when we are disabling both AMX-TILE and ACEV1,
those ISAs will not be disabled.
Thx,
Haochen
More information about the Binutils
mailing list