[RFC,v2,0/6] RISC-V: Add support for vector crypto extensions

Message ID 20230120195532.917113-1-christoph.muellner@vrull.eu
Headers
Series RISC-V: Add support for vector crypto extensions |

Message

Christoph Müllner Jan. 20, 2023, 7:55 p.m. UTC
  From: Christoph Müllner <christoph.muellner@vrull.eu>

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

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

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-v2

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

 bfd/elfxx-riscv.c                       |  38 ++++++++
 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          |   9 ++
 gas/testsuite/gas/riscv/zvkg.s          |   1 +
 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/zvkns.d         |  21 +++++
 gas/testsuite/gas/riscv/zvkns.s         |  13 +++
 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              | 114 ++++++++++++++++++++++++
 include/opcode/riscv.h                  |  12 +++
 opcodes/riscv-dis.c                     |   4 +
 opcodes/riscv-opc.c                     |  46 ++++++++++
 19 files changed, 392 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/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/zvkns.d
 create mode 100644 gas/testsuite/gas/riscv/zvkns.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