RISC-V: Implement ZKSH and ZKSED extensions
authorLiao Shihua <shihua@iscas.ac.cn>
Mon, 20 Feb 2023 07:01:25 +0000 (15:01 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Sun, 5 Mar 2023 17:05:10 +0000 (01:05 +0800)
commit2554d90c6c2cf80559b918d387944da35fc6aa23
treec75f9567d24574b7d7302d7d17125460146675b4
parente6416e4323f346968533de404518b2aaf186ead1
RISC-V: Implement ZKSH and ZKSED extensions

This patch supports Zksh and Zksed extension.
It includes instruction's machine description and built-in funtions.

gcc/ChangeLog:

* config/riscv/crypto.md (riscv_sm3p0_<mode>): Add ZKSED's and ZKSH's
instructions.
(riscv_sm3p1_<mode>): New.
(riscv_sm4ed_<mode>): New.
(riscv_sm4ks_<mode>): New.
* config/riscv/riscv-builtins.cc (AVAIL): Add ZKSED's and ZKSH's AVAIL.
* config/riscv/riscv-scalar-crypto.def (RISCV_BUILTIN): Add ZKSED's and
ZKSH's built-in functions.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/zksed32.c: New test.
* gcc.target/riscv/zksed64.c: New test.
* gcc.target/riscv/zksh32.c: New test.
* gcc.target/riscv/zksh64.c: New test.

Co-Authored-By: SiYu Wu <siyu@isrc.iscas.ac.cn>
gcc/config/riscv/crypto.md
gcc/config/riscv/riscv-builtins.cc
gcc/config/riscv/riscv-scalar-crypto.def
gcc/testsuite/gcc.target/riscv/zksed32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zksed64.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zksh32.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/zksh64.c [new file with mode: 0644]