GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
gcc/i386 Performance Win

Support ACEv1 instructions reused from AMX-AVX512 and tilemovcol

Adds ACEv1 instructions formerly from AMX-AVX512 and a new tilemovcol implementation, distinguishing intrinsics from legacy AMX.

This commit integrates ACEv1 instructions that were previously part of AMX-AVX512, ensuring distinct intrinsic names to avoid conflicts with legacy AMX. It also introduces a new tilemovcol implementation, noting its similarity to tilemovrow. The changes include updates to intrinsic headers, definition files, expansion logic, and machine descriptions, along with new compile tests.

In Details

Introduces ACEv1 support for instructions reused from AMX-AVX512 and implements tilemovcol. Distinguishes ACE intrinsics from legacy AMX by using unique names (e.g., _ace_ suffix or distinct names for convert instructions). Adds UNSPEC_TCVTROWD2PS and related patterns, along with UNSPECV_TILEMOVCOLINSERT. The tilemovcol implementation reuses logic from tilemovrow, focusing on insert/extract operations. Runtime tests are added for tilemovcol.

For Context
ACEv1
AI Compute Extensions version 1, a new x86 instruction set architecture designed for AI and compute-intensive workloads.
AMX-AVX512
Advanced Matrix Extensions, a set of x86 instructions for matrix operations, often combined with AVX-512 for enhanced performance.
intrinsics
Special functions that allow C/C++ code to directly invoke specific machine instructions, often providing performance benefits over traditional function calls.
tilemovcol
An instruction likely related to moving data between tiles (2D data structures) and registers, specifically operating on columns.
Filed Under: gcci386ACEv1AMXvectorization