public inbox for gcc-regression@sourceware.org
help / color / mirror / Atom feed
From: ci_notify@linaro.org
To: Joel Hutton <joel.hutton@arm.com>
Cc: gcc-regression@gcc.gnu.org
Subject: [TCWG CI] Regression caused by gcc: pr103523: Check for PLUS/MINUS support
Date: Tue, 14 Dec 2021 07:48:58 +0000 (UTC)	[thread overview]
Message-ID: <243500195.4335.1639468139546@jenkins.jenkins> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 8837 bytes --]

[TCWG CI] Regression caused by gcc: pr103523: Check for PLUS/MINUS support:
commit f2cc8d059df8aea1b811a4a68512d137f4e83bd5
Author: Joel Hutton <joel.hutton@arm.com>

    pr103523: Check for PLUS/MINUS support

Results regressed to
# reset_artifacts:
-10
# true:
0
# build_abe binutils:
1
# First few build errors in logs:
# 00:01:46 ../../../../../../gcc/gcc/tree-vect-loop.c:8000:8: error: ‘directly_supported_p’ was not declared in this scope
# 00:01:46 make[2]: *** [tree-vect-loop.o] Error 1
# 00:01:53 make[1]: *** [all-gcc] Error 2
# 00:01:53 make: *** [all] Error 2

from
# reset_artifacts:
-10
# true:
0
# build_abe binutils:
1
# build_abe stage1:
2
# build_abe linux:
3
# build_abe glibc:
4
# build_abe stage2:
5
# build_abe gdb:
6
# build_abe qemu:
7

THIS IS THE END OF INTERESTING STUFF.  BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.

This commit has regressed these CI configurations:
 - tcwg_gnu_cross_build/release-aarch64

First_bad build: https://ci.linaro.org/job/tcwg_gnu_cross_build-bisect-release-aarch64/1/artifact/artifacts/build-f2cc8d059df8aea1b811a4a68512d137f4e83bd5/
Last_good build: https://ci.linaro.org/job/tcwg_gnu_cross_build-bisect-release-aarch64/1/artifact/artifacts/build-7054e8517c79dbc6f1fa0952f24f26e4d3cd842d/
Baseline build: https://ci.linaro.org/job/tcwg_gnu_cross_build-bisect-release-aarch64/1/artifact/artifacts/build-baseline/
Even more details: https://ci.linaro.org/job/tcwg_gnu_cross_build-bisect-release-aarch64/1/artifact/artifacts/

Reproduce builds:
<cut>
mkdir investigate-gcc-f2cc8d059df8aea1b811a4a68512d137f4e83bd5
cd investigate-gcc-f2cc8d059df8aea1b811a4a68512d137f4e83bd5

# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts

# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_gnu_cross_build-bisect-release-aarch64/1/artifact/artifacts/manifests/build-baseline.sh --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_gnu_cross_build-bisect-release-aarch64/1/artifact/artifacts/manifests/build-parameters.sh --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_gnu_cross_build-bisect-release-aarch64/1/artifact/artifacts/test.sh --fail
chmod +x artifacts/test.sh

# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_gnu-build.sh @@ artifacts/manifests/build-baseline.sh

# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /gcc/ ./ ./bisect/baseline/

cd gcc

# Reproduce first_bad build
git checkout --detach f2cc8d059df8aea1b811a4a68512d137f4e83bd5
../artifacts/test.sh

# Reproduce last_good build
git checkout --detach 7054e8517c79dbc6f1fa0952f24f26e4d3cd842d
../artifacts/test.sh

cd ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit f2cc8d059df8aea1b811a4a68512d137f4e83bd5
Author: Joel Hutton <joel.hutton@arm.com>
Date:   Fri Dec 10 10:26:42 2021 +0000

    pr103523: Check for PLUS/MINUS support
    
    Check for PLUS_EXPR/MINUS_EXPR support in vectorizable_induction.
    PR103523 is an ICE on valid code:
    
    void d(float *a, float b, int c) {
        float e;
        for (; c; c--, e += b)
          a[c] = e;
    }
    
    This is due to not checking for PLUS_EXPR support, which is missing in
    VNx2sf mode. This causes an ICE at expand time. This patch adds a check
    for support in vectorizable_induction.
    
    gcc/ChangeLog:
    
            PR tree-optimization/103523
            * tree-vect-loop.c (vectorizable_induction): Check for
            PLUS_EXPR/MINUS_EXPR support.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.target/aarch64/pr103523.c: New test.
---
 gcc/testsuite/gcc.target/aarch64/pr103523.c |  8 ++++++++
 gcc/tree-vect-loop.c                        | 13 +++++++++----
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/gcc/testsuite/gcc.target/aarch64/pr103523.c b/gcc/testsuite/gcc.target/aarch64/pr103523.c
new file mode 100644
index 00000000000..736e8936c5f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/pr103523.c
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+/* { dg-options "-march=armv8-a+sve -mtune=neoverse-v1 -Ofast" } */
+
+void d(float *a, float b, int c) {
+    float e;
+    for (; c; c--, e += b)
+      a[c] = e;
+}
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index e871df9d1a0..54320681119 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -7992,6 +7992,15 @@ vectorizable_induction (loop_vec_info loop_vinfo,
       return false;
     }
 
+  step_expr = STMT_VINFO_LOOP_PHI_EVOLUTION_PART (stmt_info);
+  gcc_assert (step_expr != NULL_TREE);
+  tree step_vectype = get_same_sized_vectype (TREE_TYPE (step_expr), vectype);
+
+  /* Check for backend support of PLUS/MINUS_EXPR. */
+  if (!directly_supported_p (PLUS_EXPR, step_vectype)
+      || !directly_supported_p (MINUS_EXPR, step_vectype))
+    return false;
+
   if (!vec_stmt) /* transformation not required.  */
     {
       unsigned inside_cost = 0, prologue_cost = 0;
@@ -8051,10 +8060,6 @@ vectorizable_induction (loop_vec_info loop_vinfo,
   if (dump_enabled_p ())
     dump_printf_loc (MSG_NOTE, vect_location, "transform induction phi.\n");
 
-  step_expr = STMT_VINFO_LOOP_PHI_EVOLUTION_PART (stmt_info);
-  gcc_assert (step_expr != NULL_TREE);
-  tree step_vectype = get_same_sized_vectype (TREE_TYPE (step_expr), vectype);
-
   pe = loop_preheader_edge (iv_loop);
   /* Find the first insertion point in the BB.  */
   basic_block bb = gimple_bb (phi);
</cut>
>From hjl@sc.intel.com  Tue Dec 14 09:11:29 2021
Return-Path: <hjl@sc.intel.com>
X-Original-To: gcc-regression@gcc.gnu.org
Delivered-To: gcc-regression@gcc.gnu.org
Received: from mga09.intel.com (mga09.intel.com [134.134.136.24])
 by sourceware.org (Postfix) with ESMTPS id 592F33858400
 for <gcc-regression@gcc.gnu.org>; Tue, 14 Dec 2021 09:11:26 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 592F33858400
X-IronPort-AV: E=McAfee;i="6200,9189,10197"; a="238747294"
X-IronPort-AV: E=Sophos;i="5.88,204,1635231600"; d="scan'208";a="238747294"
Received: from orsmga008.jf.intel.com ([10.7.209.65])
 by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 14 Dec 2021 01:11:25 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.88,205,1635231600"; d="scan'208";a="518155061"
Received: from scymds02.sc.intel.com ([10.82.73.244])
 by orsmga008.jf.intel.com with ESMTP; 14 Dec 2021 01:11:24 -0800
Received: from gnu-snb-1.sc.intel.com (gnu-snb-1.sc.intel.com [172.25.33.219])
 by scymds02.sc.intel.com with ESMTP id 1BE9BOv6017161;
 Tue, 14 Dec 2021 01:11:24 -0800
Received: by gnu-snb-1.sc.intel.com (Postfix, from userid 1000)
 id A8C16180069; Tue, 14 Dec 2021 01:11:24 -0800 (PST)
Date: Tue, 14 Dec 2021 01:11:24 -0800
To: skpgkp2@gmail.com, hjl.tools@gmail.com, gcc-regression@gcc.gnu.org
Subject: Regressions on master at commit r12-5945 vs commit r12-5919 on
 Linux/i686
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20211214091124.A8C16180069@gnu-snb-1.sc.intel.com>
From: "H.J. Lu" <hjl@sc.intel.com>
X-Spam-Status: No, score=-3468.3 required=5.0 testsºYES_00, KAM_DMARC_STATUS,
 KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,
 SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
 server2.sourceware.org
X-BeenThere: gcc-regression@gcc.gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Gcc-regression mailing list <gcc-regression.gcc.gnu.org>
List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=unsubscribe>
List-Archive: <https://gcc.gnu.org/pipermail/gcc-regression/>
List-Post: <mailto:gcc-regression@gcc.gnu.org>
List-Help: <mailto:gcc-regression-request@gcc.gnu.org?subject=help>
List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Dec 2021 09:11:29 -0000

New failures:
FAIL: gfortran.dg/goacc/privatization-1-compute.f90   -O   at line 46 (test for warnings, line 27)
FAIL: gfortran.dg/goacc/privatization-1-compute-loop.f90   -O   at line 53 (test for warnings, line 28)
FAIL: gfortran.dg/goacc/privatization-1-routine_gang-loop.f90   -O   at line 53 (test for warnings, line 28)

New passes:


                 reply	other threads:[~2021-12-14  7:49 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=243500195.4335.1639468139546@jenkins.jenkins \
    --to=ci_notify@linaro.org \
    --cc=gcc-regression@gcc.gnu.org \
    --cc=joel.hutton@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).