From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id E23E73858012; Tue, 9 Jan 2024 13:39:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E23E73858012 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1704807557; bh=yqDfKfqZce825HKJQPlEpZyoIKBZCqhaGk0bSj5CJ0M=; h=From:To:Subject:Date:In-Reply-To:References:From; b=bsToF/c/BN+I2JiA/SaQoyX39AV0rn+TCT/vi0s3bozmANwdAphAeHDA2WEp5GwFH nHPhPCY3JXqhDtRzElssnd2i0yhaY49TPavqrJ4m4dIBcB/XnUQhcZkOu9m7yDHozs oAe3j72TJyK1XG8h3qN4hclvmXcL3TN6ZO/QKMJE= From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/113199] [14 Regression][GCN] ICE (segfault) due to invalid 'loop_mask_46 = VEC_PERM_EXPR' when compiling Newlib's wcsftime.c Date: Tue, 09 Jan 2024 13:39:17 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: ice-on-invalid-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: P3 X-Bugzilla-Assigned-To: tnfchris at gcc dot gnu.org X-Bugzilla-Target-Milestone: 14.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=3D113199 --- Comment #3 from GCC Commits --- The master branch has been updated by Tamar Christina : https://gcc.gnu.org/g:80bb94e88faaadd4d6f008fececb46214dc89e9f commit r14-7065-g80bb94e88faaadd4d6f008fececb46214dc89e9f Author: Tamar Christina Date: Tue Jan 9 13:35:49 2024 +0000 middle-end: check if target can do extract first for early breaks [PR113199] I was generating the vector reverse mask without checking if the target actually supported such an operation. This patch changes it to if the bitstart is 0 then use BIT_FIELD_REF instead to extract the first element since this is supported by all targets. This is good for now since masks always come from whilelo. But in the future when masks can come from other sources we will need the old code back. gcc/ChangeLog: PR tree-optimization/113199 * tree-vect-loop.cc (vectorizable_live_operation_1): Use BIT_FIELD_REF. gcc/testsuite/ChangeLog: PR tree-optimization/113199 * gcc.target/gcn/pr113199.c: New test.=