From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 7F1F13858422; Wed, 8 Feb 2023 13:40:42 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7F1F13858422 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1675863642; bh=yr33XIYFU9umtHfHlbm+LLIEJgz+zzehHQKnBWrLZd8=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Q4FEwHz4rJJHbMP01gGn32fgMbGnWd2s+2fCh0Zk30ckH7KvNntHyQ1+XdVPY22t3 8kpRsSXG1JVcj/Vp4elNJinHejmfTK4Q7woWImu07NWPcuju+l3eipYXbYQWFWlBKS gZl4Vxp3p1eIj9kkNKO+mvPcSzVwAPEoVm5krEVY= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/108316] [13 Regression] ICE in maybe_gen_insn via expand_SCATTER_STORE when vectorizing for SVE since r13-2737-g4a773bf2f08656 Date: Wed, 08 Feb 2023 13:40:41 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 13.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: rsandifo at gcc dot gnu.org X-Bugzilla-Target-Milestone: 13.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D108316 --- Comment #5 from CVS Commits --- The trunk branch has been updated by Richard Sandiford : https://gcc.gnu.org/g:740a3be7df29b280f39a04c441fd4917af4eef5e commit r13-5739-g740a3be7df29b280f39a04c441fd4917af4eef5e Author: Richard Sandiford Date: Wed Feb 8 13:40:29 2023 +0000 vect: Check gather/scatter offset types [PR108316] The gather/scatter support can over-widen an offset if the target requires it, but this relies on using a pattern sequence to add the widening conversion. That failed in the testcase because an earlier pattern (bool) took priority. I think we should allow patterns to be applied to other patterns, but that's quite an invasive change and isn't suitable for stage 4. This patch instead punts if the offset type doesn't match the expected one. If we switched to using the SLP representation for everything, we would probably handle both patterns by rewriting the graph, which should be much easier. gcc/ PR tree-optimization/108316 * tree-vect-stmts.cc (get_load_store_type): When using internal functions for gather/scatter, make sure that the type of the offset argument is consistent with the offset vector typ= e. gcc/testsuite/ PR tree-optimization/108316 * gcc.dg/vect/pr108316.c: New test.=