[PATCH 00/21] RISC-V: add gcc support for Scalar Cryptography v1.0.0-rc5
siyu@isrc.iscas.ac.cn
siyu@isrc.iscas.ac.cn
Sun Oct 31 09:34:24 GMT 2021
From: SiYu Wu <siyu@isrc.iscas.ac.cn>
This patch add gcc backend support for RISC-V Scalar Cryptography
Extension (k-ext), including machine description, builtins defines and
testcases for each k-ext's subset.
A note about Zbkx: The Zbkx should be implemented in bitmanip's Zbp, but
since zbp is not included in the bitmanip spec v1.0, and crypto's v1.0
release will earlier than bitmanip's next release, so for now we
implementing it here.
SiYu Wu (19):
[crypto]: add machine description for Zknd and Zkne
[crypto]: add builtins for Zknd and Zkne
[crypto]: add testcases for Zknd and Zkne
[crypto]: add machine description for Zknh
[crypto]: add builtins for Zknh
[crypto]: add testcases for Zknh
[crypto]: add machine description for Zksed
[crypto]: add builtins for Zksed
[crypto]: add testcases for Zksed
[crypto]: add machine description for Zksh
[crypto]: add builtins for Zksh
[crypto]: add testcases for Zksh
[crypto]: add option defines for Zkr and Zkt
[crypto]: add option defines for Zbkb, Zbkc and Zbkx
[crypto]: add implied defines of Zk, Zkn and Zks
change z* subset assert to allow "zk"
[crypto]: add machine description for Zbkx
[crypto]: add builtins for Zbkx
[crypto]: add testcases for Zbkx
jiawei (1):
Fix attribute bugs due to zicsr/zifencei
linsinan1995 (1):
Fix riscv_expand_block_move
gcc/common/config/riscv/riscv-common.c | 39 ++-
gcc/config/riscv/arch-canonicalize | 18 +-
gcc/config/riscv/crypto.md | 319 ++++++++++++++++++
gcc/config/riscv/riscv-builtins-crypto.def | 76 +++++
gcc/config/riscv/riscv-builtins.c | 25 ++
gcc/config/riscv/riscv-ftypes.def | 6 +
gcc/config/riscv/riscv-opts.h | 21 ++
gcc/config/riscv/riscv.c | 2 +-
gcc/config/riscv/riscv.md | 4 +-
gcc/config/riscv/riscv.opt | 3 +
gcc/testsuite/gcc.target/riscv/Zbkx.c | 17 +
gcc/testsuite/gcc.target/riscv/Zknd-aes-01.c | 15 +
gcc/testsuite/gcc.target/riscv/Zknd-aes-02.c | 21 ++
gcc/testsuite/gcc.target/riscv/Zkne-aes-01.c | 15 +
gcc/testsuite/gcc.target/riscv/Zkne-aes-02.c | 27 ++
gcc/testsuite/gcc.target/riscv/Zknh-sha256.c | 27 ++
.../gcc.target/riscv/Zknh-sha512-01.c | 40 +++
.../gcc.target/riscv/Zknh-sha512-02.c | 28 ++
gcc/testsuite/gcc.target/riscv/Zksed-sm4.c | 17 +
gcc/testsuite/gcc.target/riscv/Zksh-sm3.c | 15 +
20 files changed, 730 insertions(+), 5 deletions(-)
create mode 100644 gcc/config/riscv/crypto.md
create mode 100644 gcc/config/riscv/riscv-builtins-crypto.def
create mode 100644 gcc/testsuite/gcc.target/riscv/Zbkx.c
create mode 100644 gcc/testsuite/gcc.target/riscv/Zknd-aes-01.c
create mode 100644 gcc/testsuite/gcc.target/riscv/Zknd-aes-02.c
create mode 100644 gcc/testsuite/gcc.target/riscv/Zkne-aes-01.c
create mode 100644 gcc/testsuite/gcc.target/riscv/Zkne-aes-02.c
create mode 100644 gcc/testsuite/gcc.target/riscv/Zknh-sha256.c
create mode 100644 gcc/testsuite/gcc.target/riscv/Zknh-sha512-01.c
create mode 100644 gcc/testsuite/gcc.target/riscv/Zknh-sha512-02.c
create mode 100644 gcc/testsuite/gcc.target/riscv/Zksed-sm4.c
create mode 100644 gcc/testsuite/gcc.target/riscv/Zksh-sm3.c
--
2.25.1
More information about the Gcc-patches
mailing list