[Changing to Jim's new address]

On Mon, 22 Nov 2021 00:19:08 PST (-0800), s...@isrc.iscas.ac.cn wrote:
From: SiYu Wu <s...@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.

Version logs:

v2: As Kito mentions, now this patch only includes the arch string related
stuff, the builtins and md changes is not included, waiting for the builtin
and intrinsic added to the spec. Also removed the unnecessary patches and add
Changelogs.

I don't think there's anything wrong with what's here, but IMO we should hold off on merging until GCC does something with these extensions. IIUC all this enables is passing "-march=*Zk*" instead of "-Wa,-march=*Zk*", and while that is useful I'm worried it'll just make more of a headache for users who lose a simple way to detect the intrinsics. IMO forcing users to pass -Wa properly encodes the "GCC doesn't support these, but binutils does" scenario pretty sanely, and users doing things at this level of complexity should be used to that already because it happens somewhat frequently.

I'm not sure if I'm missing some use case this for this, though.

SiYu Wu (2):
  RISC-V: Add option defines for Scalar Cryptography
  RISC-V: Add implied defines of Zk, Zkn and Zks

 gcc/common/config/riscv/riscv-common.c | 38 +++++++++++++++++++++++++-
 gcc/config/riscv/arch-canonicalize     | 16 ++++++++++-
 gcc/config/riscv/riscv-opts.h          | 22 +++++++++++++++
 gcc/config/riscv/riscv.opt             |  3 ++
 4 files changed, 77 insertions(+), 2 deletions(-)

Reply via email to