[00/14] Support RISC-V Vector Cryptography Extensions

Message ID 20230629171839.573187-1-nhuck@google.com
Headers
Series Support RISC-V Vector Cryptography Extensions |

Message

Nathan Huckleberry June 29, 2023, 5:18 p.m. UTC
  This patchset adds support for the RISC-V Vector Cryptography extensions.  These
are: Zvbb, Zvbc, Zvkg, Zkvned, Zvknh[a,b], Zvkn, Zvkng, Zvknc, Zvksed, Zvksh,
Zvks, Zvksg, Zvksc.

This is based off the v20230620 version of the Vector Cryptography
specification.  The specification is frozen.

https://github.com/riscv/riscv-crypto/releases/tag/v20230620

Christoph Müllner (8):
  Add support for the Zvbb ISA extension.
  Add support for the Zvkg ISA extension.
  Add support for the Zvkned ISA extension.
  Add support for the Zvknh[a,b] ISA extensions.
  Add support for the Zvksed ISA extension.
  Adds support for the Zvksh ISA extension.
  Add support for the Zvkn ISA extension.
  Add support for the Zvks ISA extension.

Nathan Huckleberry (6):
  Add support for the Zvbc ISA extension.
  Allow nested implications for extensions.
  Add support for the Zvkng ISA extension.
  Add support for the Zvksg ISA extension.
  Add support for the Zvknc ISA extension.
  Add support for the Zvksc ISA extension.

 bfd/elfxx-riscv.c                       |  80 +++++++++++++-
 gas/config/tc-riscv.c                   |  13 +++
 gas/testsuite/gas/riscv/zvbb.d          |  43 ++++++++
 gas/testsuite/gas/riscv/zvbb.s          |  34 ++++++
 gas/testsuite/gas/riscv/zvbc.d          |  16 +++
 gas/testsuite/gas/riscv/zvbc.s          |   8 ++
 gas/testsuite/gas/riscv/zvkg.d          |  10 ++
 gas/testsuite/gas/riscv/zvkg.s          |   2 +
 gas/testsuite/gas/riscv/zvkn.d          |  45 ++++++++
 gas/testsuite/gas/riscv/zvkn.s          |  36 +++++++
 gas/testsuite/gas/riscv/zvknc.d         |  18 ++++
 gas/testsuite/gas/riscv/zvknc.s         |  10 ++
 gas/testsuite/gas/riscv/zvkned.d        |  21 ++++
 gas/testsuite/gas/riscv/zvkned.s        |  13 +++
 gas/testsuite/gas/riscv/zvkng.d         |  12 +++
 gas/testsuite/gas/riscv/zvkng.s         |   4 +
 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          |  45 ++++++++
 gas/testsuite/gas/riscv/zvks.s          |  36 +++++++
 gas/testsuite/gas/riscv/zvksc.d         |  18 ++++
 gas/testsuite/gas/riscv/zvksc.s         |  10 ++
 gas/testsuite/gas/riscv/zvksed.d        |  12 +++
 gas/testsuite/gas/riscv/zvksed.s        |   4 +
 gas/testsuite/gas/riscv/zvksg.d         |  12 +++
 gas/testsuite/gas/riscv/zvksg.s         |   4 +
 gas/testsuite/gas/riscv/zvksh.d         |  11 ++
 gas/testsuite/gas/riscv/zvksh.s         |   3 +
 include/opcode/riscv-opc.h              | 137 ++++++++++++++++++++++++
 include/opcode/riscv.h                  |  13 +++
 opcodes/riscv-dis.c                     |   4 +
 opcodes/riscv-opc.c                     |  55 ++++++++++
 33 files changed, 754 insertions(+), 2 deletions(-)
 create mode 100644 gas/testsuite/gas/riscv/zvbb.d
 create mode 100644 gas/testsuite/gas/riscv/zvbb.s
 create mode 100644 gas/testsuite/gas/riscv/zvbc.d
 create mode 100644 gas/testsuite/gas/riscv/zvbc.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/zvknc.d
 create mode 100644 gas/testsuite/gas/riscv/zvknc.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/zvkng.d
 create mode 100644 gas/testsuite/gas/riscv/zvkng.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/zvksc.d
 create mode 100644 gas/testsuite/gas/riscv/zvksc.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/zvksg.d
 create mode 100644 gas/testsuite/gas/riscv/zvksg.s
 create mode 100644 gas/testsuite/gas/riscv/zvksh.d
 create mode 100644 gas/testsuite/gas/riscv/zvksh.s