The tests still fail. gcc: Unexpected fails for rv64gc lp64d medlow FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-32.c -O0 (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-32.c -O1 (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-32.c -O2 (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-32.c -Os (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-32.c -Oz (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-32.c -O0 (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-32.c -O1 (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-32.c -O2 (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-32.c -Os (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-32.c -Oz (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-64.c -O0 (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-64.c -O1 (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-64.c -O2 (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-64.c -Os (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-64.c -Oz (test for excess errors)
Note, this is not only a rv32/rv64 issue, because also -64.c tests fail. gcc: Unexpected fails for rv32gc ilp32d medlow FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-64-emulated.c -O1 (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-64-emulated.c -O2 (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-64-emulated.c -Os (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-64-emulated.c -Oz (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-64.c -O0 (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-64.c -O1 (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-64.c -O2 (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-64.c -Os (test for excess errors) FAIL: gcc.target/riscv/scalar_bitmanip_intrinsic-64.c -Oz (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-64.c -O0 (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-64.c -O1 (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-64.c -O2 (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-64.c -Os (test for excess errors) FAIL: gcc.target/riscv/scalar_crypto_intrinsic-64.c -Oz (test for excess errors) On Tue, Dec 26, 2023 at 6:47 AM Liao Shihua <shi...@iscas.ac.cn> wrote: > > 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 >