From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id A27AE3858D39 for ; Mon, 1 Aug 2022 10:13:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A27AE3858D39 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D8301139F; Mon, 1 Aug 2022 03:13:51 -0700 (PDT) Received: from [10.1.28.154] (E121495.arm.com [10.1.28.154]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2BDC73F67D; Mon, 1 Aug 2022 03:13:49 -0700 (PDT) Message-ID: <186b5113-b54e-8432-ddd0-958a2de963e9@arm.com> Date: Mon, 1 Aug 2022 11:13:45 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [RFC] Teach vectorizer to deal with bitfield reads Content-Language: en-US To: Jakub Jelinek Cc: Richard Biener , Richard Sandiford , "gcc-patches@gcc.gnu.org" References: <4a6f2350-f070-1473-63a5-3232968d3a89@arm.com> <4ea91767-de43-9d30-5bd2-a9a0759760c7@arm.com> From: "Andre Vieira (lists)" In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-19.4 required=5.0 tests=BAYES_00, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2022 10:13:53 -0000 On 29/07/2022 11:31, Jakub Jelinek wrote: > On Fri, Jul 29, 2022 at 09:57:29AM +0100, Andre Vieira (lists) via Gcc-patches wrote: >> The 'only on the vectorized code path' remains the same though as vect_recog >> also only happens on the vectorized code path right? > if conversion (in some cases) duplicates a loop and guards one copy with > an ifn which resolves to true if that particular loop is vectorized and > false otherwise. So, then changes that shouldn't be done in case of > vectorization failure can be done on the for vectorizer only copy of the > loop. > > Jakub I'm pretty sure vect_recog patterns have no effect on scalar codegen if the vectorization fails too. The patterns live as new vect_stmt_info's and no changes are actually done to the scalar loop. That was the point I was trying to make, but it doesn't matter that much, as I said I am happy to do this in if convert.