From 194900fc24fe327b75c1d7450c1532b5f5c8d60b Mon Sep 17 00:00:00 2001 From: Philip Reames Date: Thu, 8 Sep 2022 15:54:14 -0700 Subject: [PATCH] [docs][RISCV] Document status of scalar crypto extensions This is based on a somewhat subjective review of the in-tree support, and where I thought further work was needed before I'd consider these "done". See the review for some discussion around what is left in terms of pattern matching. Differential Revision: https://reviews.llvm.org/D133373 --- llvm/docs/RISCVUsage.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/llvm/docs/RISCVUsage.rst b/llvm/docs/RISCVUsage.rst index 861b2c8..fb4c041 100644 --- a/llvm/docs/RISCVUsage.rst +++ b/llvm/docs/RISCVUsage.rst @@ -56,6 +56,9 @@ on support follow. ``Zba`` Supported ``Zbb`` Supported ``Zbc`` Supported + ``Zbkb`` Supported (See note) + ``Zbkc`` Supported + ``Zbkx`` Supported (See note) ``Zbs`` Supported ``Zdinx`` Assembly Support ``Zfh`` Supported @@ -67,6 +70,16 @@ on support follow. ``Zicbop`` Assembly Support ``Zicboz`` Assembly Support ``Zihintpause`` Assembly Support + ``Zkn`` Supported + ``Zknd`` Supported (See note) + ``Zkne`` Supported (See note) + ``Zknh`` Supported (See note) + ``Zksed`` Supported (See note) + ``Zksh`` Supported (See note) + ``Zk`` Supported + ``Zkr`` Supported + ``Zks`` Supported + ``Zkt`` Supported ``Zmmul`` Supported ``Zve32x`` Partially Supported ``Zve32f`` Partially Supported @@ -121,6 +134,12 @@ The primary goal of experimental support is to assist in the process of ratifica To use an experimental extension from `clang`, you must add `-menable-experimental-extensions` to the command line, and specify the exact version of the experimental extension you are using. To use an experimental extension with LLVM's internal developer tools (e.g. `llc`, `llvm-objdump`, `llvm-mc`), you must prefix the extension name with `experimental-`. Note that you don't need to specify the version with internal tools, and shouldn't include the `experimental-` prefix with `clang`. +``Zbkb``, ``Zbkx`` + Pattern matching support for these instructions is incomplete. + +``Zknd``, ``Zkne``, ``Zknh``, ``Zksed``, ``Zksh`` + No pattern matching exists. As a result, these instructions can only be used from assembler or via intrinsic calls. + Specification Documents ======================= For ratified specifications, please refer to the `official RISC-V International -- 2.7.4