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