[RFC PATCH v3 0/8] RISC-V: Add support for vector crypto extensions

Christoph Muellner christoph.muellner@vrull.eu
Mon Feb 13 13:39:41 GMT 2023


From: Christoph Müllner <christoph.muellner@vrull.eu>

This series add support for the vector crypto extensions:
* Zvkb
* Zvkg
* Zvknh[a,b]
* Zvkned
* Zvkn
* Zvksed
* Zvksh
* Zvks

The implementation follows version v0.3.0 20230206 of the specification,
which can be found here:
  https://github.com/riscv/riscv-crypto/releases/tag/v20230206

Note, that this specification is not frozen yet, meaning that
incompatible changes are possible.
Therefore, this patchset is marked as RFC and should not be considered
for upstream inclusion.

All extensions come with (passing) tests.

A branch with all patches applied can be found in this GitHub repo:
  https://github.com/cmuellner/binutils-gdb/tree/riscv-zvk-v3

Changes in v3:
- Rebased
- Rename Zvkns -> Zvknsed
- Drop vghmac.vv from Zvkg
- Add vghsh.vv and vgmul.vv to Zvkg
- Introduce Zvkn and Zvks

Changes in v2:
- Rebased
- Adjusted code following 6eb099ae9324 (expr_end -> expr_parse_end)
- Rename Zvkn -> Zvkns

Christoph Müllner (8):
  RISC-V: Add Zvkb ISA extension support
  RISC-V: Add Zvkg ISA extension support
  RISC-V: Add Zvkned ISA extension support
  RISC-V: Add Zvknh[a,b] ISA extension support
  RISC-V: Add Zvkn ISA extension support
  RISC-V: Add Zvksed ISA extension support
  RISC-V: Add Zvksh ISA extension support
  RISC-V: Add Zvks ISA extension support

 bfd/elfxx-riscv.c                       |  45 +++++++++
 gas/config/tc-riscv.c                   |  13 +++
 gas/testsuite/gas/riscv/zvkb.d          |  36 ++++++++
 gas/testsuite/gas/riscv/zvkb.s          |  28 ++++++
 gas/testsuite/gas/riscv/zvkg.d          |  10 ++
 gas/testsuite/gas/riscv/zvkg.s          |   2 +
 gas/testsuite/gas/riscv/zvkn.d          |  10 ++
 gas/testsuite/gas/riscv/zvkn.s          |   2 +
 gas/testsuite/gas/riscv/zvkned.d        |  21 +++++
 gas/testsuite/gas/riscv/zvkned.s        |  13 +++
 gas/testsuite/gas/riscv/zvknha.d        |  12 +++
 gas/testsuite/gas/riscv/zvknha_zvknhb.s |   3 +
 gas/testsuite/gas/riscv/zvknhb.d        |  12 +++
 gas/testsuite/gas/riscv/zvks.d          |  10 ++
 gas/testsuite/gas/riscv/zvks.s          |   2 +
 gas/testsuite/gas/riscv/zvksed.d        |  12 +++
 gas/testsuite/gas/riscv/zvksed.s        |   4 +
 gas/testsuite/gas/riscv/zvksh.d         |  11 +++
 gas/testsuite/gas/riscv/zvksh.s         |   3 +
 include/opcode/riscv-opc.h              | 117 ++++++++++++++++++++++++
 include/opcode/riscv.h                  |  12 +++
 opcodes/riscv-dis.c                     |   4 +
 opcodes/riscv-opc.c                     |  47 ++++++++++
 23 files changed, 429 insertions(+)
 create mode 100644 gas/testsuite/gas/riscv/zvkb.d
 create mode 100644 gas/testsuite/gas/riscv/zvkb.s
 create mode 100644 gas/testsuite/gas/riscv/zvkg.d
 create mode 100644 gas/testsuite/gas/riscv/zvkg.s
 create mode 100644 gas/testsuite/gas/riscv/zvkn.d
 create mode 100644 gas/testsuite/gas/riscv/zvkn.s
 create mode 100644 gas/testsuite/gas/riscv/zvkned.d
 create mode 100644 gas/testsuite/gas/riscv/zvkned.s
 create mode 100644 gas/testsuite/gas/riscv/zvknha.d
 create mode 100644 gas/testsuite/gas/riscv/zvknha_zvknhb.s
 create mode 100644 gas/testsuite/gas/riscv/zvknhb.d
 create mode 100644 gas/testsuite/gas/riscv/zvks.d
 create mode 100644 gas/testsuite/gas/riscv/zvks.s
 create mode 100644 gas/testsuite/gas/riscv/zvksed.d
 create mode 100644 gas/testsuite/gas/riscv/zvksed.s
 create mode 100644 gas/testsuite/gas/riscv/zvksh.d
 create mode 100644 gas/testsuite/gas/riscv/zvksh.s

-- 
2.39.1



More information about the Binutils mailing list