public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: siyu@isrc.iscas.ac.cn
To: gcc-patches@gcc.gnu.org
Cc: kito.cheng@sifive.com, jimw@sifive.com,
	cmuellner@ventanamicro.com, palmer@dabbelt.com,
	andrew@sifive.com, lazyparser@gmail.com, jiawei@iscas.ac.cn,
	ben.marshall@pqshield.com, mjos@pqshield.com,
	Richard.Newell@microchip.com, SiYu Wu <siyu@isrc.iscas.ac.cn>
Subject: [PATCH 00/21] RISC-V: add gcc support for Scalar Cryptography v1.0.0-rc5
Date: Sun, 31 Oct 2021 17:34:24 +0800	[thread overview]
Message-ID: <20211031093445.1414518-1-siyu@isrc.iscas.ac.cn> (raw)

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


             reply	other threads:[~2021-10-31  9:34 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-31  9:34 siyu [this message]
2021-10-31  9:34 ` [PATCH 01/21] Fix riscv_expand_block_move siyu
2021-11-02 10:45   ` Kito Cheng
2021-10-31  9:34 ` [PATCH 02/21] Fix attribute bugs due to zicsr/zifencei siyu
2021-11-02 10:42   ` Kito Cheng
2021-10-31  9:34 ` [PATCH 03/21] [crypto]: add machine description for Zknd and Zkne siyu
2021-10-31  9:34 ` [PATCH 04/21] [crypto]: add builtins " siyu
2021-10-31  9:34 ` [PATCH 05/21] [crypto]: add testcases " siyu
2021-10-31  9:34 ` [PATCH 06/21] [crypto]: add machine description for Zknh siyu
2021-10-31  9:34 ` [PATCH 07/21] [crypto]: add builtins " siyu
2021-10-31  9:34 ` [PATCH 08/21] [crypto]: add testcases " siyu
2021-10-31  9:34 ` [PATCH 09/21] [crypto]: add machine description for Zksed siyu
2021-10-31  9:34 ` [PATCH 10/21] [crypto]: add builtins " siyu
2021-10-31  9:34 ` [PATCH 11/21] [crypto]: add testcases " siyu
2021-10-31  9:34 ` [PATCH 12/21] [crypto]: add machine description for Zksh siyu
2021-10-31  9:34 ` [PATCH 13/21] [crypto]: add builtins " siyu
2021-10-31  9:34 ` [PATCH 14/21] [crypto]: add testcases " siyu
2021-11-03 22:54   ` Christoph Muellner
2021-10-31  9:34 ` [PATCH 15/21] [crypto]: add option defines for Zkr and Zkt siyu
2021-10-31  9:34 ` [PATCH 16/21] [crypto]: add option defines for Zbkb, Zbkc and Zbkx siyu
2021-10-31  9:34 ` [PATCH 17/21] [crypto]: add implied defines of Zk, Zkn and Zks siyu
2021-10-31  9:34 ` [PATCH 18/21] change z* subset assert to allow "zk" siyu
2021-10-31  9:34 ` [PATCH 19/21] [crypto]: add machine description for Zbkx siyu
2021-10-31  9:34 ` [PATCH 20/21] [crypto]: add builtins " siyu
2021-11-02 11:16 ` [PATCH 00/21] RISC-V: add gcc support for Scalar Cryptography v1.0.0-rc5 Kito Cheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211031093445.1414518-1-siyu@isrc.iscas.ac.cn \
    --to=siyu@isrc.iscas.ac.cn \
    --cc=Richard.Newell@microchip.com \
    --cc=andrew@sifive.com \
    --cc=ben.marshall@pqshield.com \
    --cc=cmuellner@ventanamicro.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jiawei@iscas.ac.cn \
    --cc=jimw@sifive.com \
    --cc=kito.cheng@sifive.com \
    --cc=lazyparser@gmail.com \
    --cc=mjos@pqshield.com \
    --cc=palmer@dabbelt.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).