[v6,00/15] RISC-V: Add support for vector crypto extensions

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

Message

Christoph Müllner July 1, 2023, 5:20 a.m. UTC
  From: Christoph Müllner <christoph.muellner@vrull.eu>

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

All extensions come with (passing) tests.

Changes in v6:
* Fix formatting of patch 0009

Christoph Müllner (9):
  RISC-V: Add support for the Zvbb ISA extension
  RISC-V: Add support for the Zvkg ISA extension
  RISC-V: Add support for the Zvkned ISA extension
  RISC-V: Add support for the Zvknh[a,b] ISA extensions
  RISC-V: Add support for the Zvksed ISA extension
  RISC-V: Add support for the Zvksh ISA extension
  RISC-V: Add support for the Zvkn ISA extension
  RISC-V: Add support for the Zvks ISA extension
  binutils: NEWS: Announce new RISC-V vector crypto extensions

Nathan Huckleberry via Binutils (6):
  RISC-V: Add support for the Zvbc extension
  RISC-V: Allow nested implications for extensions
  RISC-V: Add support for the Zvkng ISA extension
  RISC-V: Add support for the Zvksg ISA extension
  RISC-V: Add support for the Zvknc ISA extension
  RISC-V: Add support for the Zvksc ISA extension

 bfd/elfxx-riscv.c                       |  93 ++++++++++++++--
 binutils/NEWS                           |   2 +
 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 ++++++++++
 34 files changed, 764 insertions(+), 7 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
  

Comments

Palmer Dabbelt July 1, 2023, 1:38 p.m. UTC | #1
On Fri, 30 Jun 2023 22:20:49 PDT (-0700), christoph.muellner@vrull.eu wrote:
> From: Christoph Müllner <christoph.muellner@vrull.eu>
>
> 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
>
> All extensions come with (passing) tests.
>
> Changes in v6:
> * Fix formatting of patch 0009

Thanks.  The v5 passed the tests, looks like Jeff got the v6 committed a 
few minutes ago so everything should be good for the release.

>
> Christoph Müllner (9):
>   RISC-V: Add support for the Zvbb ISA extension
>   RISC-V: Add support for the Zvkg ISA extension
>   RISC-V: Add support for the Zvkned ISA extension
>   RISC-V: Add support for the Zvknh[a,b] ISA extensions
>   RISC-V: Add support for the Zvksed ISA extension
>   RISC-V: Add support for the Zvksh ISA extension
>   RISC-V: Add support for the Zvkn ISA extension
>   RISC-V: Add support for the Zvks ISA extension
>   binutils: NEWS: Announce new RISC-V vector crypto extensions
>
> Nathan Huckleberry via Binutils (6):
>   RISC-V: Add support for the Zvbc extension
>   RISC-V: Allow nested implications for extensions
>   RISC-V: Add support for the Zvkng ISA extension
>   RISC-V: Add support for the Zvksg ISA extension
>   RISC-V: Add support for the Zvknc ISA extension
>   RISC-V: Add support for the Zvksc ISA extension
>
>  bfd/elfxx-riscv.c                       |  93 ++++++++++++++--
>  binutils/NEWS                           |   2 +
>  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 ++++++++++
>  34 files changed, 764 insertions(+), 7 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