From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21733 invoked by alias); 26 Sep 2018 16:57:15 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 21706 invoked by uid 89); 26 Sep 2018 16:57:15 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=Think X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 26 Sep 2018 16:57:14 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=svr-ies-mbx-01.mgc.mentorg.com) by relay1.mentorg.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-SHA384:256) id 1g5D7f-00061G-FD from Andrew_Stubbs@mentor.com ; Wed, 26 Sep 2018 09:57:11 -0700 Received: from [172.30.89.207] (137.202.0.90) by svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Wed, 26 Sep 2018 17:57:06 +0100 Subject: Re: [PATCH 11/25] Simplify vec_merge according to the mask. To: , References: <333c6a5ad2f1c56613c4734a830fc5d8214061d9.1536144068.git.ams@codesourcery.com> <87pnxc4hp0.fsf@arm.com> <047d2b64-5a08-599c-9529-3e1270c38791@codesourcery.com> <875zys433p.fsf@arm.com> From: Andrew Stubbs Message-ID: <2b7abb07-b9df-71a1-056c-2985067e74d3@codesourcery.com> Date: Wed, 26 Sep 2018 17:06:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <875zys433p.fsf@arm.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2018-09/txt/msg01587.txt.bz2 On 26/09/18 17:48, Richard Sandiford wrote: > Andrew Stubbs writes: >> + /* Nested vec_merge. */ >> + rtx nvm = gen_rtx_VEC_MERGE (mode, vm1, vm2, mask1); >> + ASSERT_EQ (vm1, simplify_merge_mask (nvm, mask1, 0)); >> + ASSERT_EQ (vm2, simplify_merge_mask (nvm, mask1, 1)); > > Think the last two should simplify to op0 and op3, which I guess > means recursing on the "return XEXP (x, op);" I thought about doing that, but I noticed that, for example, simplify_gen_unary does not recurse into its operand. Is that an omission, or is it expected that those operands will already have been simplified? Andrew