[PATCH v3 0/3] RISC-V: Support Scalar Cryptography extension
jiawei
jiawei@iscas.ac.cn
Thu Nov 4 05:56:12 GMT 2021
This patch is support Scalar Cryptography extension(k-ext v1.0.0-rc5) as
binutils part, you can find gcc patches part in https://github.com/WuSiYu/riscv-gcc/tree/trunk-crypto-rebase by siyu@isrc.iscas.ac.cn.
The first patch fix the order check with 'z' begin sub-extension, it set 'zb' before 'zk' as a right case. Some instruction in 'zbkb' and 'zbkc' is both used by Bitmanip and Scalar Cryptography extension, we just redefine the class with them.
Here is the github repo link contain this patch: https://github.com/pz9115/riscv-binutils-gdb/commits/k-ext-rebase, the old version of this work is form https://github.com/riscv-collab/riscv-binutils-gdb/pull/254, Thanks for Nelson Chu and Jim Wilson's review and help.
Version logs:
v2: Add missing arch "k" in riscv_supported_std_ext[] to make the order check right with "zk" behind "zb" as Neslon Chu's comment.
v3: Remove the trailing spaces as Andreas Schwab's comment. Add commit for each patch and add split testcases into sub-extension tests as Christoph Muellner's comment.
jiawei (3):
RISC-V: Minimal support of scalar crypto extension
RISC-V: Scalar crypto instructions and operand set
RISC-V: Scalar crypto instruction and Entropy Source CSR testcases
bfd/elfxx-riscv.c | 28 ++++++
gas/config/tc-riscv.c | 49 +++++++++++
gas/testsuite/gas/riscv/k-ext-64.d | 47 ++++++++++
gas/testsuite/gas/riscv/k-ext-64.s | 38 ++++++++
gas/testsuite/gas/riscv/k-ext.d | 44 ++++++++++
gas/testsuite/gas/riscv/k-ext.s | 35 ++++++++
.../gas/riscv/priv-reg-version-1p10.d | 1 +
.../gas/riscv/priv-reg-version-1p11.d | 1 +
.../gas/riscv/priv-reg-version-1p9p1.d | 1 +
gas/testsuite/gas/riscv/priv-reg.s | 3 +
gas/testsuite/gas/riscv/zbkb-32.d | 22 +++++
gas/testsuite/gas/riscv/zbkb-32.s | 13 +++
gas/testsuite/gas/riscv/zbkb-64.d | 24 +++++
gas/testsuite/gas/riscv/zbkb-64.s | 15 ++++
gas/testsuite/gas/riscv/zbkc-32.d | 12 +++
gas/testsuite/gas/riscv/zbkc-64.d | 12 +++
gas/testsuite/gas/riscv/zbkc.s | 3 +
gas/testsuite/gas/riscv/zbkx-32.d | 12 +++
gas/testsuite/gas/riscv/zbkx-64.d | 12 +++
gas/testsuite/gas/riscv/zbkx.s | 3 +
gas/testsuite/gas/riscv/zknd-32.d | 12 +++
gas/testsuite/gas/riscv/zknd-32.s | 3 +
gas/testsuite/gas/riscv/zknd-64.d | 15 ++++
gas/testsuite/gas/riscv/zknd-64.s | 6 ++
gas/testsuite/gas/riscv/zkne-32.d | 12 +++
gas/testsuite/gas/riscv/zkne-32.s | 3 +
gas/testsuite/gas/riscv/zkne-64.d | 14 +++
gas/testsuite/gas/riscv/zkne-64.s | 5 ++
gas/testsuite/gas/riscv/zknh-32.d | 20 +++++
gas/testsuite/gas/riscv/zknh-32.s | 11 +++
gas/testsuite/gas/riscv/zknh-64.d | 18 ++++
gas/testsuite/gas/riscv/zknh-64.s | 9 ++
gas/testsuite/gas/riscv/zksed-32.d | 12 +++
gas/testsuite/gas/riscv/zksed-64.d | 12 +++
gas/testsuite/gas/riscv/zksed.s | 3 +
gas/testsuite/gas/riscv/zksh-32.d | 12 +++
gas/testsuite/gas/riscv/zksh-64.d | 12 +++
gas/testsuite/gas/riscv/zksh.s | 3 +
include/opcode/riscv-opc.h | 75 ++++++++++++++++
include/opcode/riscv.h | 18 ++++
opcodes/riscv-dis.c | 8 ++
opcodes/riscv-opc.c | 87 +++++++++++++++----
42 files changed, 728 insertions(+), 17 deletions(-)
create mode 100644 gas/testsuite/gas/riscv/k-ext-64.d
create mode 100644 gas/testsuite/gas/riscv/k-ext-64.s
create mode 100644 gas/testsuite/gas/riscv/k-ext.d
create mode 100644 gas/testsuite/gas/riscv/k-ext.s
create mode 100644 gas/testsuite/gas/riscv/zbkb-32.d
create mode 100644 gas/testsuite/gas/riscv/zbkb-32.s
create mode 100644 gas/testsuite/gas/riscv/zbkb-64.d
create mode 100644 gas/testsuite/gas/riscv/zbkb-64.s
create mode 100644 gas/testsuite/gas/riscv/zbkc-32.d
create mode 100644 gas/testsuite/gas/riscv/zbkc-64.d
create mode 100644 gas/testsuite/gas/riscv/zbkc.s
create mode 100644 gas/testsuite/gas/riscv/zbkx-32.d
create mode 100644 gas/testsuite/gas/riscv/zbkx-64.d
create mode 100644 gas/testsuite/gas/riscv/zbkx.s
create mode 100644 gas/testsuite/gas/riscv/zknd-32.d
create mode 100644 gas/testsuite/gas/riscv/zknd-32.s
create mode 100644 gas/testsuite/gas/riscv/zknd-64.d
create mode 100644 gas/testsuite/gas/riscv/zknd-64.s
create mode 100644 gas/testsuite/gas/riscv/zkne-32.d
create mode 100644 gas/testsuite/gas/riscv/zkne-32.s
create mode 100644 gas/testsuite/gas/riscv/zkne-64.d
create mode 100644 gas/testsuite/gas/riscv/zkne-64.s
create mode 100644 gas/testsuite/gas/riscv/zknh-32.d
create mode 100644 gas/testsuite/gas/riscv/zknh-32.s
create mode 100644 gas/testsuite/gas/riscv/zknh-64.d
create mode 100644 gas/testsuite/gas/riscv/zknh-64.s
create mode 100644 gas/testsuite/gas/riscv/zksed-32.d
create mode 100644 gas/testsuite/gas/riscv/zksed-64.d
create mode 100644 gas/testsuite/gas/riscv/zksed.s
create mode 100644 gas/testsuite/gas/riscv/zksh-32.d
create mode 100644 gas/testsuite/gas/riscv/zksh-64.d
create mode 100644 gas/testsuite/gas/riscv/zksh.s
More information about the Binutils
mailing list