From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) by sourceware.org (Postfix) with ESMTPS id EFB883857732 for ; Tue, 2 May 2023 12:23:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EFB883857732 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-lj1-x22a.google.com with SMTP id 38308e7fff4ca-2a8db10a5d4so37106181fa.1 for ; Tue, 02 May 2023 05:23:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683030182; x=1685622182; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=IBjbqFH3x3xKy4d0MRcmkVet/oohD2wpqJC/coGjV38=; b=rZ5aAgDhQFx5bX6p9iNzAhGxR8UGg++tfx6orafmSMO+4NGfZWqfNu53r3QznwVrEY Q3pS0QfzYISIh0SsHsKgjp+1BoD0J4kzcEUQWY6wmToVzYv3NUg9CXZpDckwR5mies6Q bIz8UdIMZTOEyTQBuNcP73D60OhUhpIKaFS8BQ/KCV0KmZc80TZoTwV/sLS5OMdRJWLo dWcwYxLQvEy62HiKqhE1NXn6MGPoe2Way66kuAztob6FmTWXLTr5FDA9+nk/I+5eHFMO jHX/mReNOaWYN16LoBTA7zO0dXVTbYKUfdZNkWN0B38hfjtMN+vDdBr/4b4ulLUFPve/ FiJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683030182; x=1685622182; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IBjbqFH3x3xKy4d0MRcmkVet/oohD2wpqJC/coGjV38=; b=XtDX4wV2imV6hq5XKoVzs0ZMZ8Gwp9SnZuXe3Sz2RXm/ppiLGhhG56jShbiL6W+VL0 k8u98gfTvOYuouBYDF7E5IuyFfg4NYEaihLs3iSUCeEvtAD4yMPrTLFjbStYqL6DWg4Y 8MULUPTdi5a7EOUH3cLsspDTSqjpm0i5+tw4JVHsDDmntpN7N3GMHbK2C6migWFU0p2K vVML9Rz5fEGroLa8rUBRKsiSxlsrTPNGj2ELKIBJYrjl/os22Ga2F7W0QOSY9v09ixzj WgSaR3Keu6zc1NwteX6UPKxLaLTlBeDdGgWT1qmX6TToZ8PUSMOfkX/LCSGVT+71yBgr 0tGw== X-Gm-Message-State: AC+VfDxvEjP6+k/QFhmdv8AQyxegz1zqvPQB6TQzrNdxxAfu3gdB7CKC rXI5DXnmQQrpWV75NEETSEYgarN78JTcuee7zog= X-Google-Smtp-Source: ACHHUZ5LaIaEWe2NiDRfWMAcDifHnxPmQgBJpvyqupB76/3co47ScV6k0rkJBlQv9FxAwTM+EJNNdzES8Y1GCOzlEB4= X-Received: by 2002:a19:f615:0:b0:4ef:f1f7:eb8f with SMTP id x21-20020a19f615000000b004eff1f7eb8fmr4281318lfe.42.1683030182055; Tue, 02 May 2023 05:23:02 -0700 (PDT) MIME-Version: 1.0 References: <20230430211248.761908-1-apinski@marvell.com> In-Reply-To: <20230430211248.761908-1-apinski@marvell.com> From: Richard Biener Date: Tue, 2 May 2023 14:21:24 +0200 Message-ID: Subject: Re: [PATCH] MATCH: Port CLRSB part of builtin_zero_pattern To: Andrew Pinski Cc: gcc-patches@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Sun, Apr 30, 2023 at 11:13=E2=80=AFPM Andrew Pinski via Gcc-patches wrote: > > This ports the clrsb builtin part of builtin_zero_pattern > to match.pd. A simple pattern to port. > > OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions. > > gcc/ChangeLog: > > * match.pd (a !=3D 0 ? CLRSB(a) : CST -> CLRSB(a)): New > pattern. > --- > gcc/match.pd | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/gcc/match.pd b/gcc/match.pd > index 0e782cde71d..bf918ba70ce 100644 > --- a/gcc/match.pd > +++ b/gcc/match.pd > @@ -7787,6 +7787,14 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) > (cond (ne @0 integer_zerop@1) (func@4 (convert? @2)) integer_zerop@3) > @4)) > > +/* a !=3D 0 ? FUN(a) : CST -> Fun(a) for some CLRSB builtins > + where CST is precision-1. */ > +(for func (CLRSB) > + (simplify > + (cond (ne @0 integer_zerop@1) (func@5 (convert?@4 @2)) INTEGER_CST@3) As you don't seem to use @2 why not match (func@5 @4) only? Otherwise LGTM. > + (if (wi::to_widest (@3) =3D=3D TYPE_PRECISION (TREE_TYPE (@4)) - 1) > + @5))) > + > #if GIMPLE > /* a !=3D 0 ? CLZ(a) : CST -> .CLZ(a) where CST is the result of the int= ernal function for 0. */ > (for func (CLZ) > -- > 2.31.1 >