From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oa1-x2d.google.com (mail-oa1-x2d.google.com [IPv6:2001:4860:4864:20::2d]) by sourceware.org (Postfix) with ESMTPS id E1D383856275 for ; Thu, 16 Jun 2022 00:01:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E1D383856275 Received: by mail-oa1-x2d.google.com with SMTP id 586e51a60fabf-fe32122311so27003fac.7 for ; Wed, 15 Jun 2022 17:01:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=wbWejRv7nIW8gZHLZvoXoNoIgszRwm2cRvtMrP8iy+E=; b=XzIIyJYyUNtXzHGMdgcXUZz4QLB003VgxdYApGQUYEfT1E5IGshroIPEHsfongcZ8V QC57JrIxy4v8fLQcw4iUqQ7WjNWxTibum+BXZxKU7ZdNPAZUKSnGWx/dQfkvBxCA8q1O AWiQWFoeZueMU5XwZvQV4WY2NKS7zdsK0ZyNT3plSmpgWX+0MjVA2yc5Xc8LlkxAxeFR yGMN3JxIL70dmUk86I9JK+f2zSgh1TFp5Cg1heDRzRMY9hYIMiWhBMV1Xt5VWMlWmoZX kV3H6VMigwt6oW+d3mpxNhBOlm3572zNNPDdhDXLQ/sNg3yEbwHUH2hKk9iJt1cy2XYy GHMw== X-Gm-Message-State: AJIora9Z5qzs21oi6tU9k0YfpLg40hkZc6lsMxlFNTwa/Baxur1gyb6t B+egrm+dP+y2wPCHTxpM5Vc9KgWx1lwN7dNWsoI= X-Google-Smtp-Source: AGRyM1urhk4EfaNUbBisxcwefCrGOvIl2DpUxp613Mx77G9Muv+hX7wFF62smo71L6L//NQ+e7hijnkaNsGQcFt1Ce4= X-Received: by 2002:a05:6870:e616:b0:fe:9f2:2a76 with SMTP id q22-20020a056870e61600b000fe09f22a76mr1267964oag.55.1655337693248; Wed, 15 Jun 2022 17:01:33 -0700 (PDT) MIME-Version: 1.0 References: <6713ecef-b26f-b1ec-cfff-f41535c7d7f9@yahoo.co.jp> In-Reply-To: <6713ecef-b26f-b1ec-cfff-f41535c7d7f9@yahoo.co.jp> From: Max Filippov Date: Wed, 15 Jun 2022 17:01:23 -0700 Message-ID: Subject: Re: [PATCH 3/5] xtensa: Add some dedicated patterns that correspond to GIMPLE canonicalizations To: "Takayuki 'January June' Suwa" Cc: GCC Patches Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, FROM_LOCAL_NOVOWEL, HK_RANDOM_ENVFROM, HK_RANDOM_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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: Thu, 16 Jun 2022 00:01:35 -0000 On Mon, Jun 13, 2022 at 8:54 PM Takayuki 'January June' Suwa wrote: > > This patch offers better RTL representations against straightforward > derivations from some tree optimizers' canonicalized forms. > > - rounding up to even, such as '(x + (x & 1))', is canonicalized to > '((x + 1) & -2)', but the former is one instruction less than the latter > in Xtensa ISA. > - signed greater or equal to zero as logical value '((signed)x >= 0)', > is canonicalized to '((unsigned)(x ^ -1) >> 31)', but the equivalent > '(((signed)x >> 31) + 1)' is one instruction less. > > gcc/ChangeLog: > > * config/xtensa/xtensa.md (*round_up_to_even): > New insn-and-split pattern. > (*signed_ge_zero): Ditto. > --- > gcc/config/xtensa/xtensa.md | 45 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 45 insertions(+) Regtested for target=xtensa-linux-uclibc, no new regressions. Committed to master. -- Thanks. -- Max