From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cstnet.cn (smtp84.cstnet.cn [159.226.251.84]) by sourceware.org (Postfix) with ESMTPS id BBDBB3858C5F for ; Tue, 26 Dec 2023 05:47:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BBDBB3858C5F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=iscas.ac.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BBDBB3858C5F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=159.226.251.84 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703569665; cv=none; b=aaFYST0bj6BoTTgLwvPWbX7MrmdZmeo+e1PoLRksA12rWkHEwRuhs6JouxPbFJPz30my8Zr0iVKUAqf6kvWicmnKv6cKhY2bKMbhGaGJF/wOVC5Kg8L7Bz+5GOPP24bJYVGPMUqkMujvUaJn5Rh2T1N6G5EJH/pw1ZRILGm1RBg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703569665; c=relaxed/simple; bh=aBjCIcol66UUfdQdaQ3SaTh1a8rJ9ATO5RyqDjvqEvc=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=cI1czyuBy5xVFBSquh2m174OtXg8nXtdKejKopPLc/pBpSLR2KekaTtvya2cMfAwokbH26od/m1fjJwe4q6jNoDkhcBsvLSUwe+Zn594LmXyGXuGDWhXGWxnVvOXDetF0ASWYP1LhHYa5Wet1ZLUWtA6gCYlJ0cVLmnwdK4VsDc= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from localhost.localdomain (unknown [122.8.183.87]) by APP-05 (Coremail) with SMTP id zQCowAAH6AzxaIply3n3AA--.52584S2; Tue, 26 Dec 2023 13:47:33 +0800 (CST) From: Liao Shihua To: gcc-patches@gcc.gnu.org Cc: christoph.muellner@vrull.eu, kito.cheng@gmail.com, shiyulong@iscas.ac.cn, jiawei@iscas.ac.cn, chenyixuan@iscas.ac.cn, jeffreyalaw@gmail.com, Liao Shihua Subject: [PATCH V3 0/3] RISC-V: Add intrinsics for Bitmanip and Scalar Crypto extensions Date: Tue, 26 Dec 2023 13:46:03 +0800 Message-Id: <20231226054606.1351637-1-shihua@iscas.ac.cn> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID:zQCowAAH6AzxaIply3n3AA--.52584S2 X-Coremail-Antispam: 1UD129KBjvJXoWxZw1fWF13ur4kXr1UCrWxJFb_yoWrZF4kp3 WUGr9Ykr15JFZrGr1SqFy7tr4rAw4vgry5uw1xCw1IyayftrWjq3Z3Kw1fAF45JFW8Xr1S kw43u3W5u3W2qFDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUyl14x267AKxVW8JVW5JwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4j 6F4UM28EF7xvwVC2z280aVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Cr 1j6rxdM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj 6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr 0_Gr1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7MxAIw28IcxkI7VAK I48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7 xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUtVW8ZwCIc40Y0x0EwIxGrwCI42IY6xII jxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw2 0EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x02 67AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjfUoOJ5UUUUU X-Originating-IP: [122.8.183.87] X-CM-SenderInfo: xvklx33d6l2u1dvotugofq/1tbiBwgREWWKNmSJjgAAs1 X-Spam-Status: No, score=-5.7 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,KAM_SHORT,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,URIBL_BLACK 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: Update v2 -> v3: 1. Change pattern mode form X to GPR in orcb, clmul, and brev8. 2. Add emulated testsuite. 3. Removed duplicate testsuite between built-in and intrinsic. 4. Typo fix. Update v1 -> v2: 1. Rename *_intrinsic-* to *_intrinsic-XLEN. 2. Typo fix. 3. Intrinsics with immediate arguments will use marcos at O0 . It's a little patch add just provides a mapping from the RV intrinsics to the builtin names within GCC. Liao Shihua (3): RISC-V: Remove the Scalar Bitmanip and Crypto Built-In function testsuites RISC-V: Add C intrinsic for Scalar Crypto Extension RISC-V: Add C intrinsic for Scalar Bitmanip Extension gcc/config.gcc | 2 +- gcc/config/riscv/bitmanip.md | 10 +- gcc/config/riscv/crypto.md | 4 +- gcc/config/riscv/riscv-builtins.cc | 22 ++ gcc/config/riscv/riscv-cmo.def | 12 +- gcc/config/riscv/riscv-ftypes.def | 2 + gcc/config/riscv/riscv-scalar-crypto.def | 22 +- gcc/config/riscv/riscv_bitmanip.h | 297 +++++++++++++++++ gcc/config/riscv/riscv_crypto.h | 309 ++++++++++++++++++ .../riscv/scalar_bitmanip_intrinsic-32.c | 96 ++++++ .../scalar_bitmanip_intrinsic-64-emulated.c | 32 ++ .../riscv/scalar_bitmanip_intrinsic-64.c | 114 +++++++ .../riscv/scalar_crypto_intrinsic-32.c | 114 +++++++ .../riscv/scalar_crypto_intrinsic-64.c | 122 +++++++ gcc/testsuite/gcc.target/riscv/zbbw.c | 26 -- gcc/testsuite/gcc.target/riscv/zbc32.c | 23 -- gcc/testsuite/gcc.target/riscv/zbc64.c | 23 -- gcc/testsuite/gcc.target/riscv/zbkb32.c | 18 - gcc/testsuite/gcc.target/riscv/zbkb64.c | 5 - gcc/testsuite/gcc.target/riscv/zbkc32.c | 17 - gcc/testsuite/gcc.target/riscv/zbkc64.c | 17 - gcc/testsuite/gcc.target/riscv/zbkx32.c | 18 - gcc/testsuite/gcc.target/riscv/zbkx64.c | 18 - gcc/testsuite/gcc.target/riscv/zknd32-2.c | 28 -- gcc/testsuite/gcc.target/riscv/zknd64-2.c | 42 --- gcc/testsuite/gcc.target/riscv/zkne32-2.c | 28 -- gcc/testsuite/gcc.target/riscv/zkne64-2.c | 34 -- .../gcc.target/riscv/zknh-sha256-32.c | 10 - .../gcc.target/riscv/zknh-sha256-64.c | 28 -- .../gcc.target/riscv/zknh-sha512-32.c | 42 --- .../gcc.target/riscv/zknh-sha512-64.c | 31 -- gcc/testsuite/gcc.target/riscv/zksed32-2.c | 29 -- gcc/testsuite/gcc.target/riscv/zksed64-2.c | 29 -- gcc/testsuite/gcc.target/riscv/zksh32.c | 19 -- gcc/testsuite/gcc.target/riscv/zksh64.c | 19 -- 35 files changed, 1142 insertions(+), 520 deletions(-) create mode 100644 gcc/config/riscv/riscv_bitmanip.h create mode 100644 gcc/config/riscv/riscv_crypto.h create mode 100644 gcc/testsuite/gcc.target/riscv/scalar_bitmanip_intrinsic-32.c create mode 100644 gcc/testsuite/gcc.target/riscv/scalar_bitmanip_intrinsic-64-emulated.c create mode 100644 gcc/testsuite/gcc.target/riscv/scalar_bitmanip_intrinsic-64.c create mode 100644 gcc/testsuite/gcc.target/riscv/scalar_crypto_intrinsic-32.c create mode 100644 gcc/testsuite/gcc.target/riscv/scalar_crypto_intrinsic-64.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zbbw.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zbc32.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zbc64.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zbkc32.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zbkc64.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zbkx32.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zbkx64.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zknd32-2.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zknd64-2.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zkne32-2.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zkne64-2.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha256-32.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha256-64.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha512-32.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zknh-sha512-64.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zksed32-2.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zksed64-2.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zksh32.c delete mode 100644 gcc/testsuite/gcc.target/riscv/zksh64.c -- 2.34.1