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.christ...@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>#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>#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