On Tue, 27 Dec 2022 at 19:58, Palmer Dabbelt <pal...@dabbelt.com> wrote:
>
> On Tue, 27 Dec 2022 09:35:55 PST (-0800), gcc-patches@gcc.gnu.org wrote:
> >
> >
> > On 12/21/22 11:31, Christoph Muellner wrote:
> >> From: Christoph Müllner <christoph.muell...@vrull.eu>
> >>
> >> This series adds basic support for the vector crypto extensions:
> >> * Zvkb
> >> * Zvkg
> >> * Zvkh[a,b]
> >> * Zvkn
> >> * Zvksed
> >> * Zvksh
> >>
> >> The implementation follows the version 20221220 of the specification,
> >> which can be found here:
> >>    https://github.com/riscv/riscv-crypto/releases/tag/v20221220
> >>
> >> 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 for the feature test macros.
> >>
> >> A Binutils patch series for vector crypto support can be found here:
> >>    https://sourceware.org/pipermail/binutils/2022-December/125272.html
> >>
> >> Signed-off-by: Christoph Müllner <christoph.muell...@vrull.eu>
> >> ---
> >>   gcc/common/config/riscv/riscv-common.cc | 16 ++++++++++++++++
> >>   gcc/config/riscv/riscv-opts.h           | 16 ++++++++++++++++
> >>   gcc/config/riscv/riscv.opt              |  3 +++
> >>   gcc/testsuite/gcc.target/riscv/zvkb.c   | 13 +++++++++++++
> >>   gcc/testsuite/gcc.target/riscv/zvkg.c   | 13 +++++++++++++
> >>   gcc/testsuite/gcc.target/riscv/zvkha.c  | 13 +++++++++++++
> >>   gcc/testsuite/gcc.target/riscv/zvkhb.c  | 13 +++++++++++++
> >>   gcc/testsuite/gcc.target/riscv/zvkn.c   | 13 +++++++++++++
> >>   gcc/testsuite/gcc.target/riscv/zvksed.c | 13 +++++++++++++
> >>   gcc/testsuite/gcc.target/riscv/zvksh.c  | 13 +++++++++++++
> >>   10 files changed, 126 insertions(+)
> >>   create mode 100644 gcc/testsuite/gcc.target/riscv/zvkb.c
> >>   create mode 100644 gcc/testsuite/gcc.target/riscv/zvkg.c
> >>   create mode 100644 gcc/testsuite/gcc.target/riscv/zvkha.c
> >>   create mode 100644 gcc/testsuite/gcc.target/riscv/zvkhb.c
> >>   create mode 100644 gcc/testsuite/gcc.target/riscv/zvkn.c
> >>   create mode 100644 gcc/testsuite/gcc.target/riscv/zvksed.c
> >>   create mode 100644 gcc/testsuite/gcc.target/riscv/zvksh.c
> > I don't see anything objectionable in here.  I'd guess that most (but
> > perhaps not all) of these will wire up as builtins at some point in the
> > not too distant future.
>
> These allow things like `-march=rv64gc_zvksh`, it's not really clear
> what the indented behavior is there -- specifically, does that
> implicitly enable some base vector extension?
>
> I've just skimmed the ISA manual here, but all I can find is a bit
> ambiguous
>
>     With the exception of Zvknhb, each of these Vector Crypto Extensions
>     can be build on any base Vector Extension, embedded (Zve*) or
>     application ("V"). Zvknhb requires ELEN=64 and therefore cannot be
>     implemented on a Zve32* base.
>
> I doubt it really matters which way we pick, but it is something we're
> going to need to keep consistent moving forwards as otherwise users
> might get some surprising behavior.  This has come up a bunch of times,
> but there's slightly different wording each time in the specs and I'm
> never really sure what to read of it.
>
> I don't think that alone would be enough to delay this for gcc-14, but
> as far as I can tell binutils is branching very soon for a target
> release in the middle of January.  I'm guessing these extensions will
> not be frozen by then, which would be a blocker.
>
> I'm not sure if anyone has a pressing need for these?  If not, I think
> it's best to delay them until binutils-2.41 (and presumably then
> gcc-14).

Given that the encodings last changed on Dec 21st, I would also prefer
if we could off until after the binutils-2.40 has been released.

Philipp.

Reply via email to