gcc-wwwdocs branch master updated. 3530b8d820658fb3add4b06def91672a0053f2b2

Tamar Christina tnfchris@sourceware.org
Tue Apr 16 20:05:16 GMT 2024


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 <tamar.christina@arm.com>
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.</p>
     for indicating parameters that are expected to be null-terminated
     strings.
   </li>
+  <li>
+	The vectorizer now supports vectorizing loops which contain any number of early breaks.
+	This means loops such as:
+	<pre>
+	    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;
+	    }
+	</pre>
+	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.
+      </li>
 </ul>
 <!-- .................................................................. -->
 <h2 id="languages">New Languages and Language specific improvements</h2>
@@ -234,6 +262,9 @@ a work-in-progress.</p>
   previous options <code>-std=c2x</code>, <code>-std=gnu2x</code>
   and <code>-Wc11-c2x-compat</code>, which are deprecated but remain
   supported.</li>
+  <li>GCC supports a new pragma <code>&#x23;pragma GCC novector</code> to
+      indicate to the vectorizer not to vectorize the loop annotated with the
+      pragma.</li>
 </ul>
 
 <h3 id="cxx">C++</h3>
@@ -403,6 +434,9 @@ a work-in-progress.</p>
       warnings are enabled for C++ as well</li>
   <li>The DR 2237 code no longer gives an error, it emits
       a <code>-Wtemplate-id-cdtor</code> warning instead</li>
+  <li>GCC supports a new pragma <code>&#x23;pragma GCC novector</code> to
+      indicate to the vectorizer not to vectorize the loop annotated with the
+      pragma.</li>
 </ul>
 
 <h4 id="libstdcxx">Runtime Library (libstdc++)</h4>

-----------------------------------------------------------------------

Summary of changes:
 htdocs/gcc-14/changes.html | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)


hooks/post-receive
-- 
gcc-wwwdocs


More information about the Gcc-cvs-wwwdocs mailing list