[Bug target/102166] [i386] AMX intrinsics and macros not defined in C++

crazylht at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Sep 2 03:55:36 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102166

--- Comment #7 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Thiago Macieira from comment #5)
> (In reply to Hongtao.liu from comment #4)
> > Because _tile_loadd is implemented as embedded assembly plus macros, if
> > __AMX_TILE__ is removed, no error will be reported if the user does not use
> > the -mamx option, So this macro is added here, but obviously this is not
> > convenient for target_attribute. I think we'd better remove __AMX_TILE__,
> > (not sure why c doesn't report the error).
> 
> I suggest doing as Clang did and make it an intrinsic.

clang defines them as intrinsic because they support AMX register allocation (a
lot of effort), gcc does not support AMX register allocation for now, and
defining them as intrinsic + builtin doesn't seem to do much good except
provide some error messages.


More information about the Gcc-bugs mailing list