From patchwork Thu Apr 9 16:51:00 2020
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Patchwork-Submitter: Richard Sandiford
X-Patchwork-Id: 1268686
Return-Path:
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized)
smtp.mailfrom=gcc.gnu.org
(client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org;
envelope-from=gcc-patches-bounces@gcc.gnu.org;
receiver=)
Authentication-Results: ozlabs.org;
dmarc=none (p=none dis=none) header.from=arm.com
Received: from sourceware.org (server2.sourceware.org
[IPv6:2620:52:3:1:0:246e:9693:128c])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (4096 bits)
server-digest SHA256) (No client certificate requested)
by ozlabs.org (Postfix) with ESMTPS id 48ynGR0ld1z9sSq
for ;
Fri, 10 Apr 2020 02:51:09 +1000 (AEST)
Received: from server2.sourceware.org (localhost [IPv6:::1])
by sourceware.org (Postfix) with ESMTP id E2B64385BF81;
Thu, 9 Apr 2020 16:51:04 +0000 (GMT)
X-Original-To: gcc-patches@gcc.gnu.org
Delivered-To: gcc-patches@gcc.gnu.org
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
by sourceware.org (Postfix) with ESMTP id 3F614385B835
for ; Thu, 9 Apr 2020 16:51:02 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3F614385B835
Authentication-Results: sourceware.org;
dmarc=none (p=none dis=none) header.from=arm.com
Authentication-Results: sourceware.org;
spf=pass smtp.mailfrom=richard.sandiford@arm.com
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E309031B
for ; Thu, 9 Apr 2020 09:51:01 -0700 (PDT)
Received: from localhost (e121540-lin.manchester.arm.com [10.32.98.126])
by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id
89D433F73D
for ; Thu, 9 Apr 2020 09:51:01 -0700 (PDT)
From: Richard Sandiford
To: gcc-patches@gcc.gnu.org
Mail-Followup-To: gcc-patches@gcc.gnu.org, richard.sandiford@arm.com
Subject: [committed, wwwdocs] aarch64: Document SVE changes
Date: Thu, 09 Apr 2020 17:51:00 +0100
Message-ID:
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
MIME-Version: 1.0
X-Spam-Status: No, score=-26.3 required=5.0 tests=BAYES_00, GIT_PATCH_0,
GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_DMARC_STATUS, SPF_HELO_NONE,
SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
server2.sourceware.org
X-BeenThere: gcc-patches@gcc.gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Gcc-patches mailing list
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: gcc-patches-bounces@gcc.gnu.org
Sender: "Gcc-patches"
As per $SUBJECT
This seemed to flow more naturally if we organised things as:
- improvements to existing features
- new options
- new extensions
- new CPUs
The patch also fixes up some missing tags flagged by xmllint.
Pushed.
---
htdocs/gcc-10/changes.html | 100 +++++++++++++++++++++++++++++++------
1 file changed, 85 insertions(+), 15 deletions(-)
diff --git a/htdocs/gcc-10/changes.html b/htdocs/gcc-10/changes.html
index 1c8d7a9f..61c767f4 100644
--- a/htdocs/gcc-10/changes.html
+++ b/htdocs/gcc-10/changes.html
@@ -237,6 +237,7 @@ a work-in-progress.
with the new attribute access
.
+
C
@@ -336,6 +337,7 @@ a work-in-progress.
causing an syntactic ambiguity.
+
G++ can now detect modifying constant objects in constexpr evaluation
(which is undefined behavior).
@@ -452,6 +454,7 @@ a work-in-progress.
For formatted input/output, if the explicit widths after the data-edit
descriptors I
, F
and G
have been
omitted, default widths are used.
+
A blank format item at the end of a format specification, i.e. nothing
following the final comma, is allowed. Use the option
@@ -478,6 +481,7 @@ a work-in-progress.
CHARACTER
expressions. Use the option -fdec
.
+
Character type names in errors and warnings now include len
in addition to kind
; *
is used for assumed
@@ -516,38 +520,104 @@ a work-in-progress.
AArch64
- - The
-mbranch-protection=pac-ret
option now accepts the
+ - There have been several improvements related to the Scalable
+ Vector Extension (SVE):
+
+
+ - The
-mbranch-protection=pac-ret
option now accepts the
optional argument +b-key
extension to perform return address
signing with the B-key instead of the A-key.
+ - The option
-moutline-atomics
has been added to aid
+ deployment of the Large System Extensions (LSE) on GNU/Linux systems built
+ with a baseline architecture targeting Armv8-A. When the option is
+ specified code is emitted to detect the presence of LSE instructions at
+ runtime and use them for standard atomic operations.
+ For more information please refer to the documentation.
+
- The Transactional Memory Extension is now supported through ACLE
intrinsics. It can be enabled through the
+tme
option
extension (for example, -march=armv8.5-a+tme
).
- - Initial autovectorization support for SVE2 has been added and can be
- enabled through the
+sve2
option extension (for example,
- -march=armv8.5-a+sve2
). Additional extensions can be enabled
- through +sve2-sm4
, +sve2=aes
,
- +sve2-sha3
, +sve2-bitperm
.
-
- - A number of features from the Armv8.5-a are now supported through ACLE
+
- A number of features from Armv8.5-A are now supported through ACLE
intrinsics. These include:
- The random number instructions that can be enabled
through the (already present in GCC 9.1)
+rng
option
extension.
- Floating-point intrinsics to round to integer instructions from
- Armv8.5-a when targeting
-march=armv8.5-a
or later.
+ Armv8.5-A when targeting -march=armv8.5-a
or later.
- Memory Tagging Extension intrinsics enabled through the
+memtag
option extension.
- The option -moutline-atomics
has been added to aid
- deployment of the Large System Extensions (LSE) on GNU/Linux systems built
- with a baseline architecture targeting Armv8-A. When the option is
- specified code is emitted to detect the presence of LSE instructions at
- runtime and use them for standard atomic operations.
- For more information please refer to the documentation.
+ Similarly, the following Armv8.6-A features are now supported
+ through ACLE intrinsics:
+
+ - The bfloat16 extension. This extension is enabled automatically
+ when Armv8.6-A is selected (such as by
-march=armv8.6-a
).
+ It can also be enabled for Armv8.2-A and later using the
+ +bf16
option extension.
+
+ - The Matrix Multiply extension. This extension is split into
+ three parts, one for each supported data type:
+
+ - Support for 8-bit integer matrix multiply instructions.
+ This extension is enabled automatically when Armv8.6-A is
+ selected. It can also be enabled for Armv8.2-A and later using
+ the
+i8mm
option extension.
+
+ - Support for 32-bit floating-point matrix multiply instructions.
+ This extension can be enabled using the
+f32mm
+ option extension, which also has the effect of enabling SVE.
+
+ - Support for 64-bit floating-point matrix multiply instructions.
+ This extension can be enabled using the
+f64mm
+ option extension, which likewise has the effect of enabling SVE.
+
+
+
+
+
+ SVE2 is now supported through ACLE intrinsics and (to a limited extent)
+ through autovectorization. It can be enabled through the +sve2
+ option extension (for example, -march=armv8.5-a+sve2
).
+ Additional extensions can be enabled through +sve2-sm4
,
+ +sve2=aes
, +sve2-sha3
and
+ +sve2-bitperm
.
Support has been added for the following processors