> From: Haochen Jiang <[email protected]>
> Sent: Monday, December 15, 2025 3:27 PM
>
> Hi all,
>
> It is yet another year end and time to add the changes for Intel x86_64
> backend for GCC 16. Nothing special for that part.
>
> In GCC 16 timeframe, there are quite a few changes for ISA enabled on
> compiler switches backported to previous release branch, making the switch
> behavior has minor difference between minor versions. What we have done
> previously for SRF/GRR is to sliently change the documentation. This is not
> a good way to show the diff. Thus, I spent some time to explicitly mention
> the minor version changes correspondingly in the doc where it is introduced.
> Hope the info is not overloaded for users.
>
> Ok for wwwdocs trunk?
Hi Gerald,
Any comments on this wwwdocs patch? Is this change ok for you or you think
it might be too overloaded for "brief" summary?
Thx,
Haochen
>
> Thx,
> Haochen
>
> ---
> htdocs/gcc-12/changes.html | 3 +++
> htdocs/gcc-13/changes.html | 19 +++++++++++++------
> htdocs/gcc-14/changes.html | 22 +++++++++++++++-------
> htdocs/gcc-15/changes.html | 19 +++++++++++++++----
> htdocs/gcc-16/changes.html | 28 ++++++++++++++++++++++++++++
> 5 files changed, 74 insertions(+), 17 deletions(-)
>
> diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html
> index 0a091123..a2fc5fcb 100644
> --- a/htdocs/gcc-12/changes.html
> +++ b/htdocs/gcc-12/changes.html
> @@ -768,6 +768,9 @@ function Multiply (S1, S2 : Sign) return Sign is
> AVX512-FP16 intrinsics are available via the <code>-mavx512fp16</code>
> compiler switch.
> </li>
> + <li>Since GCC 12.5, CLDEMOTE is not enabled through the compiler switch
> + <code>-march=alderlake</code>.
> + </li>
> <li>For both C and C++ the <code>_Float16</code> type is supported on
> x86 systems with SSE2 enabled. Without <code>{-mavx512fp16}</code>,
> all operations will be emulated in software and <code>float</code>
> diff --git a/htdocs/gcc-13/changes.html b/htdocs/gcc-13/changes.html
> index 4a7b95d3..9c596f6d 100644
> --- a/htdocs/gcc-13/changes.html
> +++ b/htdocs/gcc-13/changes.html
> @@ -668,21 +668,25 @@ You may also want to check out our
> </li>
> <li>GCC now supports the Intel CPU named Raptor Lake through
> <code>-march=raptorlake</code>.
> - Raptor Lake is based on Alder Lake.
> + Raptor Lake is based on Alder Lake. Since GCC 13.5, CLDEMOTE is not
> + enabled.
> </li>
> <li>GCC now supports the Intel CPU named Meteor Lake through
> <code>-march=meteorlake</code>.
> - Meteor Lake is based on Alder Lake.
> + Meteor Lake is based on Alder Lake. Since GCC 13.5, CLDEMOTE is not
> + enabled.
> </li>
> <li>GCC now supports the Intel CPU named Sierra Forest through
> <code>-march=sierraforest</code>.
> - Based on ISA extensions enabled on Alder Lake, the switch further enables
> - the AVX-IFMA, AVX-NE-CONVERT, AVX-VNNI-INT8, CMPccXADD, ENQCMD
> and UINTR
> - ISA extensions.
> + Based on ISA extensions enabled on Alder Lake, the switch intially
> further
> + enables the AVX-IFMA, AVX-NE-CONVERT, AVX-VNNI-INT8 and
> CMPccXADD ISA
> + extensions. Since GCC 13.2, ENQCMD and UINTR are further enabled.
> </li>
> <li>GCC now supports the Intel CPU named Grand Ridge through
> <code>-march=grandridge</code>.
> - Grand Ridge is based on Sierra Forest.
> + Based on Sierra Forest, the switch initially further enables the RAO-INT
> + ISA extensions. Since GCC 13.2, ENQCMD and UINTR are further enabled.
> + Since GCC 13.3, RAO-INT is not enabled.
> </li>
> <li>GCC now supports the Intel CPU named Emerald Rapids through
> <code>-march=emeraldrapids</code>.
> @@ -698,6 +702,9 @@ You may also want to check out our
> Based on Granite Rapids, the switch further enables the AMX-COMPLEX ISA
> extensions.
> </li>
> + <li>Since GCC 13.5, CLDEMOTE is not enabled through the compiler
> + switch <code>-march=alderlake</code>.
> + </li>
> <li>GCC now supports AMD CPUs based on the <code>znver4</code> core
> via <code>-march=znver4</code>. The switch makes GCC consider
> using 512-bit vectors when auto-vectorizing.
> diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html
> index 6be9e55a..1528660b 100644
> --- a/htdocs/gcc-14/changes.html
> +++ b/htdocs/gcc-14/changes.html
> @@ -969,30 +969,38 @@ __asm (".global __flmap_lock" "\n\t"
> <li>GCC now supports the Intel CPU named Clearwater Forest through
> <code>-march=clearwaterforest</code>.
> Based on Sierra Forest, the switch further enables the AVX-VNNI-INT16,
> - PREFETCHI, SHA512, SM3, SM4 and USER_MSR ISA extensions.
> + PREFETCHI, SHA512, SM3, SM4 and USER_MSR ISA extensions. Since GCC
> 14.4,
> + KL and WIDEKL are not enabled.
> </li>
> <li>GCC now supports the Intel CPU named Gracemont through
> <code>-march=gracemont</code>.
> - Gracemont is based on Alder Lake.
> + Gracemont is based on Alder Lake. Since GCC 14.4, CLDEMOTE is not
> enabled.
> </li>
> <li>GCC now supports the Intel CPU named Arrow Lake through
> <code>-march=arrowlake</code>.
> Based on Alder Lake, the switch further enables the AVX-IFMA,
> - AVX-NE-CONVERT, AVX-VNNI-INT8 and CMPccXADD ISA extensions.
> + AVX-NE-CONVERT, AVX-VNNI-INT8 and CMPccXADD ISA extensions. Since
> GCC 14.4,
> + CLDEMOTE is not enabled.
> </li>
> <li>GCC now supports the Intel CPU named Arrow Lake S through
> <code>-march=arrowlake-s</code>.
> Based on Arrow Lake, the switch further enables the AVX-VNNI-INT16,
> SHA512,
> - SM3 and SM4 ISA extensions.
> + SM3 and SM4 ISA extensions. Since GCC 14.4, CLDEMOTE is not enabled.
> </li>
> <li>GCC now supports the Intel CPU named Lunar Lake through
> <code>-march=lunarlake</code>.
> - Lunar Lake is based on Arrow Lake S.
> + Lunar Lake is based on Arrow Lake S. Since GCC 14.4, CLDEMOTE is not
> + enabled.
> </li>
> <li>GCC now supports the Intel CPU named Panther Lake through
> <code>-march=pantherlake</code>.
> - Based on Arrow Lake S, the switch further enables the PREFETCHI ISA
> - extensions.
> + Based on Arrow Lake S, the switch initially further enables the PREFETCHI
> + ISA extensions. Since GCC 14.4, CLDEMOTE, KL, PREFETCHI and WIDEKL are
> + not enabled.
> + </li>
> + <li>Since GCC 14.4, CLDEMOTE is not enabled through the compiler
> + switches <code>-march=alderlake</code>, <code>-
> march=meteorlake</code> and
> + <code>-march=raptorlake</code>.
> </li>
> <li>Xeon Phi CPUs support (a.k.a. Knight Landing and Knight Mill) are
> marked
> as deprecated. GCC will emit a warning when using the
> diff --git a/htdocs/gcc-15/changes.html b/htdocs/gcc-15/changes.html
> index da702185..edcf567a 100644
> --- a/htdocs/gcc-15/changes.html
> +++ b/htdocs/gcc-15/changes.html
> @@ -1242,10 +1242,21 @@ structure used in <code>core 1.49</code>.
> </li>
> <li>GCC now supports the Intel CPU named Diamond Rapids through
> <code>-march=diamondrapids</code>.
> - Based on ISA extensions enabled on Granite Rapids D, the switch further
> - enables the AMX-AVX512, AMX-FP8, AMX-MOVRS, AMX-TF32, AMX-
> TRANSPOSE, APX_F,
> - AVX10.2, AVX-IFMA, AVX-NE-CONVERT, AVX-VNNI-INT16, AVX-VNNI-
> INT8,
> - CMPccXADD, MOVRS, SHA512, SM3, SM4, and USER_MSR ISA extensions.
> + Based on ISA extensions enabled on Granite Rapids D, the switch initially
> + further enables the AMX-AVX512, AMX-FP8, AMX-MOVRS, AMX-TF32,
> AMX-TRANSPOSE,
> + APX_F, AVX10.2, AVX-IFMA, AVX-NE-CONVERT, AVX-VNNI-INT16, AVX-
> VNNI-INT8,
> + CMPccXADD, MOVRS, SHA512, SM3, SM4, and USER_MSR ISA extensions.
> Since
> + GCC 15.2, AMX-TRANSPOSE and USER_MSR are not enabled.
> + </li>
> + <li>Since GCC 15.2, CLDEMOTE is not enabled through the compiler
> + switches <code>-march=alderlake</code>, <code>-
> march=arrowlake</code>,
> + <code>-march=arrowlake-s</code>, <code>-march=gracemont</code>,
> + <code>-march=lunarlake</code>, <code>-march=meteorlake</code>,
> + <code>-march=pantherlake</code> and <code>-march=raptorlake</code>.
> + KL and WIDEKL are not enabled through the compiler switches
> + <code>-march=clearwaterforest</code> and <code>-
> march=pantherlake</code>.
> + PREFETCHI is not enabled through the compiler switch
> + <code>-march=pantherlake</code>.
> </li>
> <li>Support for Xeon Phi CPUs (a.k.a. Knight Landing and Knight Mill) were
> removed in GCC 15. GCC will no longer accept <code>-march=knl</code>,
> diff --git a/htdocs/gcc-16/changes.html b/htdocs/gcc-16/changes.html
> index 82886671..da0e92c4 100644
> --- a/htdocs/gcc-16/changes.html
> +++ b/htdocs/gcc-16/changes.html
> @@ -212,6 +212,34 @@ for general information.</p>
> <h3 id="x86">IA-32/x86-64</h3>
>
> <ul>
> + <li>GCC now supports the Intel CPU named Wildcat Lake through
> + <code>-march=wildcatlake</code>.
> + Wildcat Lake is based on Panther Lake.
> + </li>
> + <li>GCC now supports the Intel CPU named Nova Lake through
> + <code>-march=novalake</code>.
> + Based on ISA extensions enabled on Panther Lake, the switch further
> enables
> + the APX_F, AVX10.1, AVX10.2 and PREFETCHI ISA extensions.
> + </li>
> + <li>Since GCC 16, AMX-TRANSPOSE and USER_MSR are not enabled
> through
> + the compiler switch <code>-march=diamondrapids</code>. CLDEMOTE is
> not
> + enabled through the compiler switches <code>-march=alderlake</code>,
> + <code>-march=arrowlake</code>, <code>-march=arrowlake-s</code>,
> + <code>-march=gracemont</code>, <code>-march=lunarlake</code>,
> + <code>-march=meteorlake</code>, <code>-march=pantherlake</code>
> and
> + <code>-march=raptorlake</code>. KL and WIDEKL are not enabled through
> + the compiler switches <code>-march=clearwaterforest</code> and
> + <code>-march=pantherlake</code>. PREFETCHI is not enabled through the
> + compiler switch <code>-march=pantherlake</code>.
> + </li>
> + <li><code>-mavx10.1-256</code>, <code>-mavx10.1-512</code>, and
> + <code>-mevex512</code> were removed together with the warning for
> the
> + behavior change on <code>-mavx10.1</code>. <code>-mavx10.1</code>
> has
> + enabled AVX10.1 intrinsics with 512-bit vector support since GCC 15.
> + </li>
> + <li>Support for AMX-TRANSPOSE were removed in GCC 16. GCC will no
> longer accept
> + <code>-mamx-transpose</code>,
> + </li>
> <li>The new <code>--enable-x86-64-mfentry</code> configure option
> enables <code>-mfentry</code> which uses <code>__fentry__</code>,
> instead of <code>mcount</code> for profiling on x86-64. This
> --
> 2.31.1