On Mon, Jan 15, 2024 at 9:35 AM Liao Shihua <[email protected]> wrote:
>
> Update v3 -> v4:
> 1.Typo fix.
> 2.Only test *intrinsic-32 on rv32 and *intrinsic-64 on rv64.
> 3.Update Copyright year to 2024.
Thanks, for fixing the rv32/rv64 issues!
I've tested this series: no regressions and all new tests pass.
I've also reviewed this series again, and I think it is ready.
I can push once a maintainer approves (e.g. Kito or Jeff).
Thanks for working on this!
>
> 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 | 97 ++++++
> .../scalar_bitmanip_intrinsic-64-emulated.c | 33 ++
> .../riscv/scalar_bitmanip_intrinsic-64.c | 115 +++++++
> .../riscv/scalar_crypto_intrinsic-32.c | 115 +++++++
> .../riscv/scalar_crypto_intrinsic-64.c | 123 +++++++
> .../gcc.target/riscv/zbb_32_bswap-1.c | 11 -
> gcc/testsuite/gcc.target/riscv/zbb_bswap-1.c | 11 -
> gcc/testsuite/gcc.target/riscv/zbb_bswap-2.c | 12 -
> .../riscv/{zbb_32_bswap-2.c => zbb_bswap16.c} | 3 +-
> 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 --
> 39 files changed, 1149 insertions(+), 555 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/zbb_32_bswap-1.c
> delete mode 100644 gcc/testsuite/gcc.target/riscv/zbb_bswap-1.c
> delete mode 100644 gcc/testsuite/gcc.target/riscv/zbb_bswap-2.c
> rename gcc/testsuite/gcc.target/riscv/{zbb_32_bswap-2.c => zbb_bswap16.c}
> (59%)
> 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
>