Update v3 -> v4: 1.Typo fix. 2.Only test *intrinsic-32 on rv32 and *intrinsic-64 on rv64. 3.Update Copyright year to 2024.
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