From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x229.google.com (mail-oi1-x229.google.com [IPv6:2607:f8b0:4864:20::229]) by sourceware.org (Postfix) with ESMTPS id D5864386CE76 for ; Tue, 14 Jun 2022 00:33:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D5864386CE76 Received: by mail-oi1-x229.google.com with SMTP id y69so9757814oia.7 for ; Mon, 13 Jun 2022 17:33:24 -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=K4JbI5/vyE6rbvGfiN6Rw15bTSkKnwMGlTzrgCpX9/0=; b=2xsF66plsmIqiEMKELpIZ5rogu+ZySea31ZxY5NgII1lrvev3zZDANtA2HCTn4LvlZ dEgCXNZ4NvfMlyf+Rj8FBINC/kzbYI05UXUYJeY7/0tYBwrv3FKQRXiRMsBke9jLkryZ yEZrYSoNiarSQCjlE+P5FjbGHi5+rnXyEoKm2i5wQwk1ySv8eloTeXuyEhUM7P6Z+ouU uVDWcDIVJcEMnGHT1DL49czR2l/BVBWRUH8WmaIAijxPZQoUmzO8kwWZdtQPnKgyFji0 U3ZbJEPeiSLzF0SLVvDIhQnq1EUJBGEVMygu6Os8Gjbyi7DmfR0CYXx5diElRXMdTMHC 333Q== X-Gm-Message-State: AOAM533u2b5xz9uau1XEd0CxmW+zpU2e8LZPRZhTdHwlEk7nQwhs9Nyi XVh1r6eHLHhF++Gn7+B2mK2gA6IhrEsxQfNSmL8= X-Google-Smtp-Source: ABdhPJzqFOVpx+spowpQ65cI/ahs0ijEF2NFVvfON5gt3gddP2T/wSRSWJ3xHKs6CQnrfvI7+pjDnTFDlFkPJSoqtL8= X-Received: by 2002:a05:6808:1202:b0:2f9:c7b4:fd56 with SMTP id a2-20020a056808120200b002f9c7b4fd56mr760197oil.55.1655166804230; Mon, 13 Jun 2022 17:33:24 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Max Filippov Date: Mon, 13 Jun 2022 17:33:13 -0700 Message-ID: Subject: Re: [PATCH 3/4] xtensa: Make use of BALL/BNALL instructions To: "Takayuki 'January June' Suwa" Cc: GCC Patches Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-0.2 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, KAM_SHORT, 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: Tue, 14 Jun 2022 00:33:26 -0000 On Sat, Jun 11, 2022 at 11:43 PM Takayuki 'January June' Suwa wrote: > > In Xtensa ISA, there is no single machine instruction that calculates unary > bitwise negation, but a few similar fused instructions are exist: > > "BALL Ax, Ay, label" // if ((~Ax & Ay) == 0) goto label; > "BNALL Ax, Ay, label" // if ((~Ax & Ay) != 0) goto label; > > These instructions have never been emitted before, but it seems no > reason not > to make use of them. > > gcc/ChangeLog: > > * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern. > > gcc/testsuite/ChangeLog: > > * gcc.target/xtensa/BALL-BNALL.c: New. > --- > gcc/config/xtensa/xtensa.md | 21 +++++++++++++ > gcc/testsuite/gcc.target/xtensa/BALL-BNALL.c | 33 ++++++++++++++++++++ > 2 files changed, 54 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/xtensa/BALL-BNALL.c Regtested for target=xtensa-linux-uclibc, no new regressions. Committed to master. -- Thanks. -- Max