From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) by sourceware.org (Postfix) with ESMTPS id 6512E396D81E for ; Wed, 16 Nov 2022 20:01:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6512E396D81E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=vrull.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=vrull.eu Received: by mail-lj1-x22b.google.com with SMTP id d3so23285079ljl.1 for ; Wed, 16 Nov 2022 12:01:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull.eu; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=bpY9IliRisvmSfnMYsY2TfGxWM6goQmxK+UWOee07+Q=; b=rOCec7D70PnT+Co9iVlnprtsEkuUEpXL9vANgftMN77mdSONpDlx8cklJnZMbhaIo0 xkAVJnv+jtEyHA04Zpf6wToGGYA9/yYEmjRPZ/kohcxCLu/2jgLnuN6zXYOMGJ0X1170 4m6hJ4ObgEN7XlgLMdJEwnrUVec5MgYAsHRuSsvdgl78OuUsB7kvlZlJ9EHGWgAhRA3e x1bZfN2qqC47ljDwh7/aaGWo0pNhrKq4OcvG5f+VCDqRGxsZ+vbJbpkGVvlK/Djh7F09 NT2hB5fcLm5dJA/WsaRLe1+6V3fnSU1uEGdoBl112JDF7nzk+3tyY53hPQ/rr5DIdO4J 40vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=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=bpY9IliRisvmSfnMYsY2TfGxWM6goQmxK+UWOee07+Q=; b=dHmvxqoAjd2c1J75KV5XtF40Y5tFKVX7U3h7EkWLdaxJafKgeimGpkLn/1PSoNstkU ziFVW9VQB+jjHYteWZNGBtlTwnGCINkRF5u2sDh9QtqLJYLzy+mCudVovKgye2cjPsCO pMmrO98/rXb8Zg5aw/Bm6Awofdi6jp9cMeRnxFpR2e02n8kZUobkjugzHEMkZ6gZYtAQ TXjLqkoSST0IEHSW1VYQGJkwm/RP07X9ITc7j9U1Am9Wbb3tatV3hVyUOOkGUB7Jdz3f Xkr9q7mecq/AvTOa6y1ELXOjOFCFwkkCSRk5/llxwKN3jPgks+4Hdp3eJuSv4Zbdhu8Q /UGQ== X-Gm-Message-State: ANoB5pmG37cjviw3aWXevAE9w8Ze6TczseEXUaC0anREz722xTX9wf1J bkYUXCNKwY0udK8o2J5vr3ZstYoZbm/fSM+lZ1N+3A== X-Google-Smtp-Source: AA0mqf7n6A1ubODYAYO+jWCKykLsrY8zVWswBt0E+cHeo51ionBvukS/EB16VigqFyoYgUMvh0+cDTpZY9nnZzDXOjA= X-Received: by 2002:a2e:8052:0:b0:278:f5b8:82c8 with SMTP id p18-20020a2e8052000000b00278f5b882c8mr6589104ljg.228.1668628917836; Wed, 16 Nov 2022 12:01:57 -0800 (PST) MIME-Version: 1.0 References: <20221113204849.4062129-1-philipp.tomsich@vrull.eu> In-Reply-To: From: Philipp Tomsich Date: Wed, 16 Nov 2022 21:01:46 +0100 Message-ID: Subject: Re: [PATCH] RISC-V: Split "(a & (1UL << bitno)) ? 0 : 1" to bext + xori To: Jeff Law Cc: gcc-patches@gcc.gnu.org, Jeff Law , Palmer Dabbelt , Christoph Muellner , Kito Cheng , Vineet Gupta Content-Type: multipart/alternative; boundary="000000000000e8ee0705ed9bf1b9" X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,JMQ_SPF_NEUTRAL,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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 List-Id: --000000000000e8ee0705ed9bf1b9 Content-Type: text/plain; charset="UTF-8" Applied to master. Thanks! Philipp. On Tue, 15 Nov 2022 at 18:36, Jeff Law wrote: > > On 11/13/22 13:48, Philipp Tomsich wrote: > > We avoid reassociating "(~(a >> BIT_NO)) & 1" into "((~a) >> BIT_NO) & 1" > > by splitting it into a zero-extraction (bext) and an xori. This both > > avoids burning a register on a temporary and generates a sequence that > > clearly captures 'extract bit, then invert bit'. > > > > This change improves the previously generated > > srl a0,a0,a1 > > not a0,a0 > > andi a0,a0,1 > > into > > bext a0,a0,a1 > > xori a0,a0,1 > > > > Signed-off-by: Philipp Tomsich > > > > gcc/ChangeLog: > > > > * config/riscv/bitmanip.md: Add split covering > > "(a & (1 << BIT_NO)) ? 0 : 1". > > > > gcc/testsuite/ChangeLog: > > > > * gcc.target/riscv/zbs-bext.c: Add testcases. > > * gcc.target/riscv/zbs-bexti.c: Add testcases. > > OK. Not terribly happy with the SUBREG, but I can guess that's an > artifact of other patterns which require that operand to be QImode. > > > Jeff > > > --000000000000e8ee0705ed9bf1b9--