AMD General Hi,
> -----Original Message----- > From: Jiang, Haochen <[email protected]> > Sent: 28 August 2026 11:34 > To: Sharma, Dipesh <[email protected]>; [email protected] > Cc: Liu, Hongtao <[email protected]>; [email protected]; Kumar, > Venkataramanan <[email protected]> > Subject: RE: [PATCH v2 4/7] Support ACEv1 instructions reused from AMX-TILE > > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. > > > > From: Sharma, Dipesh <[email protected]> > > Sent: Friday, August 28, 2026 1:52 PM > > > > > From: Haochen Jiang <[email protected]> > > > Sent: 19 August 2026 11:19 > > > + > > > +#define _tile_ace_loadconfig(A) \ > > > + __builtin_ia32_ldtilecfg (A) > > > + > > > +#define _tile_ace_storeconfig(A) \ > > > + __builtin_ia32_sttilecfg (A) > > > + > > > > Can we prefer to use functional intrins here for the load and store > > just like amx-tile does ? > > > > We are sharing builtins just like all the previous cases. This is already the > simplest way to do that. > I agree that the builtins are already shared. Since these load/store intrinsics are newly introduced and have distinct names compared to AMX-TILE, I felt that keeping them as function intrinsics would be more consistent with how new intrinsics are typically introduced. Anyways current code is also okay. > > > +extern __inline void > > > +__attribute__((__gnu_inline__, __always_inline__, __artificial__)) > > > +_tile_ace_release (void) { > > > + __asm__ volatile ("tilerelease" ::); } > > Since we aim to use builtins for all the instructions, is it possible > > to not implement this in inline assembly and use a builtin instead? > > I mentioned that in changelog: > > For tilerelease, we keep it simple for now to use inline assembly since no tmm > register number need to be mentioned for the intrin and using pattern does > not help compiler knowing the dependency. Okay. Thanks, Dipesh > > Thx, > Haochen
