https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122446
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-13 branch has been updated by Hu <[email protected]>: https://gcc.gnu.org/g:4d0143f2d4c93f6d4667408d63bccd5e4e046572 commit r13-9965-g4d0143f2d4c93f6d4667408d63bccd5e4e046572 Author: Hu, Lin1 <[email protected]> Date: Tue Oct 28 16:11:47 2025 +0800 i386: Support C++ template parameters in AMX intrinsics [PR122446] The AMX intrinsics previously used string concatenation with the '#' operator to construct register names, which prevented their use with C++ template non-type parameters. This patch converts all AMX intrinsics to use inline assembly constraints with the %c format specifier. And Intel style registers also have % prefix, update Intel syntax to use plain register names without % preifx. gcc/ChangeLog: PR target/122446 * config/i386/amxbf16intrin.h (_tile_dpbf16ps_internal): Input register name by inline asm %c[...], and remove %% before tmm from intel side. * config/i386/amxcomplexintrin.h (_tile_cmmimfp16ps_internal): Ditto (_tile_cmmrlfp16ps_internal): Ditto (_tile_cmmimfp16ps): Ditto (_tile_cmmrlfp16ps): Ditto * config/i386/amxfp16intrin.h (_tile_dpfp16ps_internal): Ditto (_tile_dpfp16ps): Ditto * config/i386/amxint8intrin.h (_tile_int8_dp_internal): Ditto * config/i386/amxtileintrin.h (_tile_loadd): Ditto (_tile_loadd_internal): Ditto (_tile_stream_loadd): Ditto (_tile_stream_loadd_internal): Ditto (_tile_stored): Ditto (_tile_stored_internal): Ditto (_tile_zero): Ditto (_tile_zero_internal): Ditto gcc/testsuite/ChangeLog: PR target/122446 * gcc.target/i386/amxbf16-asmintel-1.c: Modify dg-final to check intel form. * gcc.target/i386/amxcomplex-asmintel-1.c: Ditto. * gcc.target/i386/amxfp16-asmintel-1.c: Ditto. * gcc.target/i386/amxint8-asmintel-1.c: Ditto. * gcc.target/i386/amxtile-asmintel-1.c: Ditto. * g++.target/i386/pr122446-1.C: New test. * g++.target/i386/pr122446-amxbf16.C: Ditto. * g++.target/i386/pr122446-amxcomplex.C: Ditto. * g++.target/i386/pr122446-amxfp16.C: Ditto. * g++.target/i386/pr122446-amxint8.C: Ditto. * g++.target/i386/pr122446-amxtile.C: Ditto. (cherry picked from commit 47fe2348131d3450d8970599490bf77eef4ff34c)
