From mboxrd@z Thu Jan 1 00:00:00 1970
Return-Path:
Received: by sourceware.org (Postfix, from userid 1984)
id 31B1B3858D37; Tue, 16 Apr 2024 20:05:16 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 31B1B3858D37
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org;
s=default; t=1713297916;
bh=QqnFQZrprBzJ/ic/AwNs+TyVUcAMabejDjiaJSF1YM4=;
h=To:Subject:Date:From:From;
b=FPlmxmvQGbvfzqJ2m3SpA460r/b35tIK0/OKo6zcVmXjbDbxxFRAW4942syseDm1U
5R0C1b/22J/5NAeVdAxkRmd7U/PRzBKfO9iWHs77G9EkwKMd0Xtk9HrUm5RXtZYfa1
9JORb7vvjnpJpnnUtWsmLx6hC7tqTHCSqlu2PWHw=
To: gcc-cvs-wwwdocs@gcc.gnu.org
Subject: gcc-wwwdocs branch master updated. 3530b8d820658fb3add4b06def91672a0053f2b2
X-Git-Refname: refs/heads/master
X-Git-Reftype: branch
X-Git-Oldrev: 794555052d5c1d9a92298aba1fc4b645042946dd
X-Git-Newrev: 3530b8d820658fb3add4b06def91672a0053f2b2
Message-Id: <20240416200516.31B1B3858D37@sourceware.org>
Date: Tue, 16 Apr 2024 20:05:16 +0000 (GMT)
From: Tamar Christina
List-Id:
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 3530b8d820658fb3add4b06def91672a0053f2b2 (commit)
from 794555052d5c1d9a92298aba1fc4b645042946dd (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 3530b8d820658fb3add4b06def91672a0053f2b2
Author: Tamar Christina
Date: Mon Apr 15 16:00:21 2024 +0100
gcc-14/docs: document early break support and pragma novector
diff --git a/htdocs/gcc-14/changes.html b/htdocs/gcc-14/changes.html
index 6035ae37..c98ebe5a 100644
--- a/htdocs/gcc-14/changes.html
+++ b/htdocs/gcc-14/changes.html
@@ -124,6 +124,34 @@ a work-in-progress.
for indicating parameters that are expected to be null-terminated
strings.
+
+ The vectorizer now supports vectorizing loops which contain any number of early breaks.
+ This means loops such as:
+
+ int z[100], y[100], x[100];
+ int foo (int n)
+ {
+ int res = 0;
+ for (int i = 0; i < n; i++)
+ {
+ y[i] = x[i] * 2;
+ res += x[i] + y[i];
+
+ if (x[i] > 5)
+ break;
+
+ if (z[i] > 5)
+ break;
+
+ }
+ return res;
+ }
+
+ can now be vectorized on a number of targets. In this first version any
+ input data sources must either have a statically known size at compile time
+ or the vectorizer must be able to determine based on auxillary information
+ that the accesses are aligned.
+
New Languages and Language specific improvements
@@ -234,6 +262,9 @@ a work-in-progress.
previous options -std=c2x
, -std=gnu2x
and -Wc11-c2x-compat
, which are deprecated but remain
supported.
+ GCC supports a new pragma #pragma GCC novector
to
+ indicate to the vectorizer not to vectorize the loop annotated with the
+ pragma.
C++
@@ -403,6 +434,9 @@ a work-in-progress.
warnings are enabled for C++ as well
The DR 2237 code no longer gives an error, it emits
a -Wtemplate-id-cdtor
warning instead
+ GCC supports a new pragma #pragma GCC novector
to
+ indicate to the vectorizer not to vectorize the loop annotated with the
+ pragma.
Runtime Library (libstdc++)
-----------------------------------------------------------------------
Summary of changes:
htdocs/gcc-14/changes.html | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
hooks/post-receive
--
gcc-wwwdocs