public inbox for gcc-cvs-wwwdocs@sourceware.org
help / color / mirror / Atom feed
* gcc-wwwdocs branch master updated. 501aef9bacc3842d0b7d022a4333c9d71d419d4d
@ 2024-04-02 10:01 Kyrylo Tkachov
0 siblings, 0 replies; only message in thread
From: Kyrylo Tkachov @ 2024-04-02 10:01 UTC (permalink / raw)
To: gcc-cvs-wwwdocs
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gcc-wwwdocs".
The branch, master has been updated
via 501aef9bacc3842d0b7d022a4333c9d71d419d4d (commit)
from 4f5550e76b8bd55d15479f9556bd25280e7244e0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 501aef9bacc3842d0b7d022a4333c9d71d419d4d
Author: Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Date: Mon Mar 25 15:11:21 2024 +0000
AArch64 GCC 14.1 changes.html entry
diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html
index 880b9195..9fd224c1 100644
--- a/htdocs/gcc-14/changes.html
+++ b/htdocs/gcc-14/changes.html
@@ -338,7 +338,94 @@ a work-in-progress.</p>
<!-- .................................................................. -->
<h2 id="targets">New Targets and Target Specific Improvements</h2>
-<!-- <h3 id="aarch64">AArch64</h3> -->
+<h3 id="aarch64">AArch64</h3>
+
+<ul>
+ <li>A number of new CPUs are supported through the <code>-mcpu</code> and
+ <code>-mtune</code> options (GCC identifiers in parentheses).
+ <ul>
+ <li>Ampere-1B (<code>ampere1b</code>).</li>
+ <li>Arm Cortex-A520 (<code>cortex-a520</code>).</li>
+ <li>Arm Cortex-A720 (<code>cortex-a720</code>).</li>
+ <li>Arm Cortex-X4 (<code>cortex-x4</code>).</li>
+ <li>Microsoft Cobalt-100 (<code>cobalt-100</code>).</li>
+ </ul></li>
+ <li>Additionally, the identifiers <code>generic</code>,
+ <code>generic-armv8-a</code> and <code>generic-armv9-a</code> are added
+ as arguments to <code>-mcpu=</code> and <code>-mtune=</code> to optimize
+ code generation aimed at a good blend of CPUs of a particular architecture
+ version. These tunings are also used as the default optimization targets
+ when compiling with the <code>-march=armv8-a</code> or
+ <code>-march=armv9-a</code> options and their point releases e.g.
+ <code>-march=armv8.2-a</code> or <code>-march=armv9.3-a</code>.</li>
+
+ <li>New features in the Arm architecture are supported in a number of ways:
+ <ul>
+ <li>Support is added for the Arm Streaming Matrix Extensions SME and SME2
+ through the <code>+sme</code> and <code>+sme2</code> extensions to
+ <code>-march=</code>. In particular, this includes support for the Beta state
+ of the <a href="https://github.com/ARM-software/acle/blob/main/main/acle.md#sme-language-extensions-and-intrinsics">
+ SME ACLE</a> in the form of a new intrinsics <code>arm_sme.h</code>
+ intrinsics header and a number of new keyword attributes to manage use
+ of the new Streaming SVE state. For more information please refer to the
+ ACLE documentation.</li>
+ <li>Libatomic is updated to implement 128-bit atomic operations
+ locklessly on systems with <code>FEAT_LSE2</code>.</li>
+ <li>Support for <code>FEAT_LRCPC3</code> is added through ACLE intrinsics in
+ <code>arm_neon.h</code> header and enabled through the <code>+rcpc3</code>
+ extension to <code>-march=</code>.</li>
+ </ul></li>
+ <li>As well as numerous AArch64 code generation improvements, the following
+ optimization enhancements are noteworthy:
+ <ul>
+ <li>A new AArch64-specific register allocation pass is added.
+ It runs in addition to standard register allocation.
+ The pass's main purpose is to make use of strided vector register
+ operands in SME instructions. However, it can also remove
+ redundant moves in normal Advanced SIMD and SVE code.
+ The pass is controlled by the new option <code>-mearly-ra=</code>
+ that takes the arguments <code>all, strided, none</code>.
+ <code>-mearly-ra=all</code> is enabled by default at optimization levels
+ <code>-O2</code> and above.</li>
+ <li>A new optimization pass to fuse loads and stores to adjacent memory
+ locations into load and store-pair AArch64 instructions. The pass is
+ enabled by default when compiling with optimization and runs twice in the
+ optimization pipeline: before and after register allocation. This can be
+ controlled with the options <code>-mearly-ldp-fusion</code> and
+ <code>-mlate-ldp-fusion</code>.</li>
+ </ul></li>
+ <li>Conformance with the ACLE specification is improved and a number of
+ features aimed at helping developers deploy Arm architecture features are
+ added:
+ <ul>
+ <li>Support for the Beta version of the
+ <a href="https://github.com/ARM-software/acle/blob/main/main/acle.md#function-multi-versioning">
+ Function Multiversioning Specification</a>. This feature provides
+ facilities to annotate functions with attributes that allow the compiler
+ to generate multiple versions of the function, selected at runtime based
+ on the architecture features available in the system. Please refer to
+ the ACLE specification for more details.</li>
+ <li>Support for more ACLE intrinsics in the <code>arm_acle.h</code>
+ header, including the
+ <a href="https://github.com/ARM-software/acle/blob/main/main/acle.md#memory-prefetch-intrinsics">
+ Memory prefetch intrinsics</a> and the
+ <a href="https://github.com/ARM-software/acle/blob/main/main/acle.md#special-register-intrinsics">
+ Special register intrinsics</a>.
+ This also includes intrinsics for the extension to 128-bit system
+ registers, enabled through the <code>+d128</code> extension to
+ <code>-march=</code>.</li>
+ <li>Intrinsics enabled by the <code>+dotprod</code>, <code>+fp16</code>,
+ <code>+fp16fml</code>, <code>+i8mm</code>, <code>+sha3</code> and
+ <code>+sm4</code> extensions to <code>-march=</code> no longer require
+ <code>-march=armv8.2-a</code> or higher to be specified. Likewise, the
+ intrinsics enabled by <code>+memtag</code> no longer require
+ <code>-march=armv8.5-a</code>.</li>
+ </ul></li>
+ <li>The option <code>-mtp=</code> is now supported for changing the TPIDR
+ register used for TLS accesses. For more details please refer to the
+ <a href="https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html">
+ documentation</a>.</li>
+</ul>
<h3 id="amdgcn">AMD Radeon (GCN)</h3>
-----------------------------------------------------------------------
Summary of changes:
htdocs/gcc-14/changes.html | 89 +++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 88 insertions(+), 1 deletion(-)
hooks/post-receive
--
gcc-wwwdocs
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-04-02 10:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-02 10:01 gcc-wwwdocs branch master updated. 501aef9bacc3842d0b7d022a4333c9d71d419d4d Kyrylo Tkachov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).