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 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 --
>