Message ID | 20210923075731.50125-1-kito.cheng@sifive.com |
---|---|
Headers |
Return-Path: <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D0CDA3858036 for <patchwork@sourceware.org>; Thu, 23 Sep 2021 07:57:58 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) by sourceware.org (Postfix) with ESMTPS id F2FDA3858C3B for <gcc-patches@gcc.gnu.org>; Thu, 23 Sep 2021 07:57:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F2FDA3858C3B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=sifive.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=sifive.com Received: by mail-pl1-x632.google.com with SMTP id y1so3457595plk.10 for <gcc-patches@gcc.gnu.org>; Thu, 23 Sep 2021 00:57:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=+72NA/9Fii7xECddQ59GJVp7w+8JhJewoNe1xYCHy8Q=; b=LaWMRodnMKlNEMgczK45CM0v8aa0wwrjaagi1/9f442+PobJIwq7wREazgmG3t9Jty yKE8M5X9FejQrP93kTe034Hm42bW/jy7oi6zmRX+3N699VWSmB9KYodNbigNhWXsPzyT CsaFL64h1iH35ozqMp1qAt2i7j0kTpOP4ue9fbQ+0ZePA1jnb4ZWOh4oqOvTK6JuUwoU mSJjIP587jszAUaKN6gT3vRK9XFRf2tyU6B2lV3ejApQw5TLq9Usb7Yf6dWg6pEZ8jFp VYB8Fm25NMR2xuQFjCOeyT+WztwC6Y7fiMEJ46FIDV0h2flL7ASszCy7fxYBvpe68mgu oCgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=+72NA/9Fii7xECddQ59GJVp7w+8JhJewoNe1xYCHy8Q=; b=Vnd2AHuWKm6wq08p/X/pGfyNC44Dxu+283+vN1z/Xk6/ZWf8B+ObGb7V9az3YjBcVR lNgA+LAMxZqUFXb6QeTtV+q7dotVxLhOcWcbNfRDHfFbc8niJLAJ4xmR/l94CFjKXZXC f78aZmg/ARJb8q60bqZ9l9IVRxupQKgbeg4qln5VdFEKSG/qiAHCn5QFD7ExXvVXOWfe jXSkVJuhkgQRMF6K/L5xEtt2RLIz48ishVKmR2CXD6EXNsVh6xFQfYePgOFj06IcKxd9 lu/LW+EbrZbH3AojAUrz63TUWAH/6DYzztSEjchCSPGZTTMZDnqkLFaGET9eU95hbBJS qJTQ== X-Gm-Message-State: AOAM533FflXpbqCz5DeG3OfdcjrxBUz/is8LMzaB8U3lEkizn02z17FC yTrek82ZPyMGCaKoyPYQuukOEnEwR+qFkg== X-Google-Smtp-Source: ABdhPJw7zAVodP7ElZ465DpaUrT1TdZHmtrLIoQg5G9WsWM6lj0pF5QcrK4TKARPvraAGmfwuPYQLw== X-Received: by 2002:a17:902:a3c2:b0:13d:be85:43ca with SMTP id q2-20020a170902a3c200b0013dbe8543camr2716918plb.0.1632383857625; Thu, 23 Sep 2021 00:57:37 -0700 (PDT) Received: from hsinchu02.internal.sifive.com (59-124-168-89.hinet-ip.hinet.net. [59.124.168.89]) by smtp.gmail.com with ESMTPSA id pc3sm8132163pjb.0.2021.09.23.00.57.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Sep 2021 00:57:37 -0700 (PDT) From: Kito Cheng <kito.cheng@sifive.com> To: gcc-patches@gcc.gnu.org, kito.cheng@gmail.com, jimw@sifive.com, jiawei@iscas.ac.cn, cmuellner@ventanamicro.com, palmer@dabbelt.com, andrew@sifive.com Subject: [RFC PATCH 0/8] RISC-V: Bit-manipulation extension. Date: Thu, 23 Sep 2021 15:57:23 +0800 Message-Id: <20210923075731.50125-1-kito.cheng@sifive.com> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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 <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> |
Series |
RISC-V: Bit-manipulation extension.
|
|
Message
Kito Cheng
Sept. 23, 2021, 7:57 a.m. UTC
Bit manipulation extension[1] is finishing the public review and waiting for the rest of the ratification process, I believe that will become a ratified extension soon, so I think it's time to submit to upstream for review now :) As the title included RFC, it's not a rush to merge to trunk yet, I would like to merge that until it is officially ratified. This patch set is the implementation of bit-manipulation extension, which includes zba, zbb, zbc and zbs extension, but only included in instruction/md pattern only, no intrinsic function implementation. Most work is done by Jim Willson and many other contributors on https://github.com/riscv-collab/riscv-gcc. [1] https://github.com/riscv/riscv-bitmanip/releases/tag/1.0.0
Comments
In case somebody wants to test this patchset, a patchset for Binutils is required as well. AFAIK here would be the Binutils branch with the required changes: https://github.com/riscv-collab/riscv-binutils-gdb/tree/riscv-binutils-experiment On Thu, Sep 23, 2021 at 9:57 AM Kito Cheng <kito.cheng@sifive.com> wrote: > > Bit manipulation extension[1] is finishing the public review and waiting for > the rest of the ratification process, I believe that will become a ratified > extension soon, so I think it's time to submit to upstream for review now :) > > As the title included RFC, it's not a rush to merge to trunk yet, I would > like to merge that until it is officially ratified. > > This patch set is the implementation of bit-manipulation extension, which > includes zba, zbb, zbc and zbs extension, but only included in instruction/md > pattern only, no intrinsic function implementation. > > Most work is done by Jim Willson and many other contributors > on https://github.com/riscv-collab/riscv-gcc. > > > [1] https://github.com/riscv/riscv-bitmanip/releases/tag/1.0.0 > >
On Thu, Sep 23, 2021 at 12:57 AM Kito Cheng <kito.cheng@sifive.com> wrote: > Bit manipulation extension[1] is finishing the public review and waiting > for > the rest of the ratification process, I believe that will become a ratified > extension soon, so I think it's time to submit to upstream for review now > :) > We still don't have upstream zbs assembler support. We have rejected other patches because they didn't upstream the assembler support first. We should be following the same rule here for bitmanip. Maybe we can ask PLCT to write the missing assembler support? Jim
On Mon, Sep 27, 2021 at 4:20 AM Christoph Muellner < cmuellner@ventanamicro.com> wrote: > In case somebody wants to test this patchset, a patchset for Binutils > is required as well. > AFAIK here would be the Binutils branch with the required changes: > > https://github.com/riscv-collab/riscv-binutils-gdb/tree/riscv-binutils-experiment This branch only has the zba/zbb/zbc support that is already upstream. There is nothing useful here. Jim
On Wed, Sep 29, 2021 at 12:01 AM Jim Wilson <jimw@sifive.com> wrote: > > On Thu, Sep 23, 2021 at 12:57 AM Kito Cheng <kito.cheng@sifive.com> wrote: >> >> Bit manipulation extension[1] is finishing the public review and waiting for >> the rest of the ratification process, I believe that will become a ratified >> extension soon, so I think it's time to submit to upstream for review now :) > > > We still don't have upstream zbs assembler support. We have rejected other patches because they didn't upstream the assembler support first. We should be following the same rule here for bitmanip. > > Maybe we can ask PLCT to write the missing assembler support? We talked about this in the T&R meeting on Monday. Philipp Tomsich mentioned, that he has a patchset from earlier this year, which adds support for Zbs. He proposed to rebase it and send it to the list in the next days.
On Tue, Sep 28, 2021 at 3:05 PM Christoph Muellner < cmuellner@ventanamicro.com> wrote: > We talked about this in the T&R meeting on Monday. > Philipp Tomsich mentioned, that he has a patchset from earlier this > year, which adds support for Zbs. > He proposed to rebase it and send it to the list in the next days. > And this is hopefully a patch that isn't contaminated by any of the changes from Claire that we can't use. That is one of the benefits of asking PLCT as they never worked with Claire. But at this point I think that enough time has passed and enough changes were made to the zbs spec, and considering that there is really only one good way to implement the zbs binutils support anyways, I think we are probably safe to use patches from one of us that did work with Claire. Jim
Hi Kito, On 9/23/21 12:57 AM, Kito Cheng wrote: > Bit manipulation extension[1] is finishing the public review and waiting for > the rest of the ratification process, I believe that will become a ratified > extension soon, so I think it's time to submit to upstream for review now :) > > As the title included RFC, it's not a rush to merge to trunk yet, I would > like to merge that until it is officially ratified. > > This patch set is the implementation of bit-manipulation extension, which > includes zba, zbb, zbc and zbs extension, but only included in instruction/md > pattern only, no intrinsic function implementation. > > Most work is done by Jim Willson and many other contributors > on https://github.com/riscv-collab/riscv-gcc. > > > [1] https://github.com/riscv/riscv-bitmanip/releases/tag/1.0.0 I wanted to give these a try. Is it reasonable to apply these to a gcc 11.1 baseline and give a spin in buildroot or do these absolutely have to be bleeding edge gcc. Thx, -Vineet
Hi Vineet: I am not familiar with buildroot, so I am not sure which GCC version will work, but I think the patch set should be able to apply both gcc 11.1 and trunk without conflict. Here is a gcc 11.1 + this patch set on my github, hope this could help :) https://github.com/kito-cheng/riscv-gcc/tree/riscv-gcc-11.1.0-zbabcs On Thu, Oct 14, 2021 at 4:22 AM Vineet Gupta <vineetg@rivosinc.com> wrote: > > Hi Kito, > > On 9/23/21 12:57 AM, Kito Cheng wrote: > > Bit manipulation extension[1] is finishing the public review and waiting for > > the rest of the ratification process, I believe that will become a ratified > > extension soon, so I think it's time to submit to upstream for review now :) > > > > As the title included RFC, it's not a rush to merge to trunk yet, I would > > like to merge that until it is officially ratified. > > > > This patch set is the implementation of bit-manipulation extension, which > > includes zba, zbb, zbc and zbs extension, but only included in instruction/md > > pattern only, no intrinsic function implementation. > > > > Most work is done by Jim Willson and many other contributors > > on https://github.com/riscv-collab/riscv-gcc. > > > > > > [1] https://github.com/riscv/riscv-bitmanip/releases/tag/1.0.0 > > I wanted to give these a try. Is it reasonable to apply these to a gcc > 11.1 baseline and give a spin in buildroot or do these absolutely have > to be bleeding edge gcc. > > Thx, > -Vineet
As we discussed in the last RISC-V GNU sync up, I've committed this patch-set to trunk after rebase and running regression with latest binutils. On Mon, Oct 18, 2021 at 11:23 AM Kito Cheng <kito.cheng@gmail.com> wrote: > > Hi Vineet: > > I am not familiar with buildroot, so I am not sure which GCC version will work, > but I think the patch set should be able to apply both gcc 11.1 and > trunk without conflict. > > Here is a gcc 11.1 + this patch set on my github, hope this could help :) > https://github.com/kito-cheng/riscv-gcc/tree/riscv-gcc-11.1.0-zbabcs > > On Thu, Oct 14, 2021 at 4:22 AM Vineet Gupta <vineetg@rivosinc.com> wrote: > > > > Hi Kito, > > > > On 9/23/21 12:57 AM, Kito Cheng wrote: > > > Bit manipulation extension[1] is finishing the public review and waiting for > > > the rest of the ratification process, I believe that will become a ratified > > > extension soon, so I think it's time to submit to upstream for review now :) > > > > > > As the title included RFC, it's not a rush to merge to trunk yet, I would > > > like to merge that until it is officially ratified. > > > > > > This patch set is the implementation of bit-manipulation extension, which > > > includes zba, zbb, zbc and zbs extension, but only included in instruction/md > > > pattern only, no intrinsic function implementation. > > > > > > Most work is done by Jim Willson and many other contributors > > > on https://github.com/riscv-collab/riscv-gcc. > > > > > > > > > [1] https://github.com/riscv/riscv-bitmanip/releases/tag/1.0.0 > > > > I wanted to give these a try. Is it reasonable to apply these to a gcc > > 11.1 baseline and give a spin in buildroot or do these absolutely have > > to be bleeding edge gcc. > > > > Thx, > > -Vineet