]> git.ipfire.org Git - thirdparty/gcc.git/commit
[committed] RISC-V testsuite changes to test clmul expansion of CRCs
authorMariam Arutunian <mariamarutunian@gmail.com>
Mon, 9 Dec 2024 14:29:36 +0000 (07:29 -0700)
committerJeff Law <jlaw@ventanamicro.com>
Mon, 9 Dec 2024 14:39:30 +0000 (07:39 -0700)
commit3537aa694d7d817ac13c3c2908bda45adfb95511
tree0a4bf5ee1a8e7ab212bcba2b37074b2090ba185f
parent91bdaf659d23be61d1fa5c83ef02322bf0872c87
[committed] RISC-V testsuite changes to test clmul expansion of CRCs

This testsuite only patch allows us to test code generation for CRC functions
using clmul instructions.

Conceptually it's trivial.  We already have various execution tests in
gcc.dg/torture.  We just define a new set of dg directives and include the
testcase in gcc.dg/torture.

The only gotcha in here is the need to change target-supports.exp.  It was
passing the default set of arguments down to the check_runtime routine, so they
always failed to assemble the testcase and we never claimed the ability to
execute Zbc, Zbkb or Zbkc extension code.

Again, NFC, just testsuite bits.  Pushing to the trunk.

Only aarch64 and x86 bits left ;-)

gcc/testsuite
* gcc.target/riscv/crc-1-zbc.c: New test.
* gcc.target/riscv/crc-1-zbkc.c: Likewise.
* gcc.target/riscv/crc-10-zbc.c: Likewise.
* gcc.target/riscv/crc-10-zbkc.c: Likewise.
* gcc.target/riscv/crc-12-zbc.c: Likewise.
* gcc.target/riscv/crc-12-zbkc.c: Likewise.
* gcc.target/riscv/crc-13-zbc.c: Likewise.
* gcc.target/riscv/crc-13-zbkc.c: Likewise.
* gcc.target/riscv/crc-14-zbc.c: Likewise.
* gcc.target/riscv/crc-14-zbkc.c: Likewise.
* gcc.target/riscv/crc-17-zbc.c: Likewise.
* gcc.target/riscv/crc-17-zbkc.c: Likewise.
* gcc.target/riscv/crc-18-zbc.c: Likewise.
* gcc.target/riscv/crc-18-zbkc.c: Likewise.
* gcc.target/riscv/crc-21-rv64-zbc.c: Likewise.
* gcc.target/riscv/crc-21-rv64-zbkc.c: Likewise.
* gcc.target/riscv/crc-22-zbc.c: Likewise.
* gcc.target/riscv/crc-22-zbkc.c: Likewise.
* gcc.target/riscv/crc-23-zbc.c: Likewise.
* gcc.target/riscv/crc-23-zbkc.c: Likewise.
* gcc.target/riscv/crc-4-zbc.c: Likewise.
* gcc.target/riscv/crc-4-zbkb.c: Likewise.
* gcc.target/riscv/crc-4-zbkc.c: Likewise.
* gcc.target/riscv/crc-5-zbc.c: Likewise.
* gcc.target/riscv/crc-5-zbkb.c: Likewise.
* gcc.target/riscv/crc-5-zbkc.c: Likewise.
* gcc.target/riscv/crc-6-zbc.c: Likewise.
* gcc.target/riscv/crc-6-zbkc.c: Likewise.
* gcc.target/riscv/crc-7-zbc.c: Likewise.
* gcc.target/riscv/crc-7-zbkc.c: Likewise.
* gcc.target/riscv/crc-8-zbc.c: Likewise.
* gcc.target/riscv/crc-8-zbkc.c: Likewise.
* gcc.target/riscv/crc-9-zbc.c: Likewise.
* gcc.target/riscv/crc-9-zbkc.c: Likewise.
* gcc.target/riscv/crc-CCIT-data16-zbc.c: Likewise.
* gcc.target/riscv/crc-CCIT-data16-zbkc.c: Likewise.
* gcc.target/riscv/crc-CCIT-data8-zbc.c: Likewise.
* gcc.target/riscv/crc-CCIT-data8-zbkc.c: Likewise.
* gcc.target/riscv/crc-coremark-16bitdata-zbc.c: Likewise.
* gcc.target/riscv/crc-coremark-16bitdata-zbkc.c: Likewise.
* lib/target-supports.exp (check_effective_target_riscv_zbc_ok): Set
gcc_march before compiling test program.
(check_effective_target_riscv_zbkc_ok): Likewise.
(check_effective_target_riscv_zbkb_ok): Likewise.
Co-authored-by: Jeff Law <jlaw@ventanamicro.com>
43 files changed:
gcc/testsuite/gcc.target/riscv/crc-1-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-1-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-10-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-10-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-12-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-12-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-13-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-13-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-14-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-14-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-17-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-17-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-18-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-18-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-21-rv64-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-21-rv64-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-22-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-22-zbkb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-22-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-23-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-23-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-4-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-4-zbkb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-4-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-5-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-5-zbkb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-5-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-6-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-6-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-7-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-7-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-8-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-8-zbkb.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-8-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-9-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-9-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-CCIT-data16-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-CCIT-data16-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-CCIT-data8-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-CCIT-data8-zbkc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-coremark-16bitdata-zbc.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/crc-coremark-16bitdata-zbkc.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp