From patchwork Thu Jun 29 17:18:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nathan Huckleberry X-Patchwork-Id: 11443 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp9791583vqr; Thu, 29 Jun 2023 10:18:51 -0700 (PDT) X-Google-Smtp-Source: APBJJlEG4DjvTHWY/mOAUb6x0EJBMwigTU16pi3GBOQvk60ysc5JA45SSVOFtI3a9TS/GaVN+hJq X-Received: by 2002:a05:6512:3086:b0:4f9:547c:a3cc with SMTP id z6-20020a056512308600b004f9547ca3ccmr476328lfd.14.1688059131196; Thu, 29 Jun 2023 10:18:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688059131; cv=none; d=google.com; s=arc-20160816; b=U2FfskheVrRolQG206VRnob+L7UFeZJs9mvf/2PiCGdRzvSRQGahvxCl5O/KNpF+n8 35zM5IBDyV+/gx9kcXQ0vmJc2ft1ozDEtG63hBaJjAVrpKdllnEbCjUPgl6dEr/aBQ9H n/mHcxyNZ6N3nOaqQYfmkM+6lHxVUNmp2RTY/bSmUyAien7bKOaejPBJVqKIl7KOcgCF N0AJ5FZ0TyLUNsiENu7mcxoazwP82QU3UE9tgOUlB+czalYBU4akT35uUkorQ6ls5qBp mImkuSsUX8lkkyi0Yx4MJLkaqB70Xf/OIq/FHrg559DiIQ2cHiDofrvcPVRO954NPX48 Bn3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:cc:to:subject:message-id:mime-version :date:dmarc-filter:delivered-to:dkim-signature:dkim-filter; bh=gdcZM4dySje9SmpJY+vOM+YKcSoRESeFY+3BfZK6gBk=; fh=UAQ7TJWJ6TlMgg8W5zyiu6mYFbaY4TYaXWSfeZlVf34=; b=DNxPmr61EAUExxABKCUqim80OI1cap+Q1OdYn6sdmR2tgbSdNnMk5LdQsYThoYk1ba h/rQaOCjEO1w7YTLwo48JfK+KVkU75VC8zwdQjMN8xcc9NE8MbEFBQjT9u6fJgFc6feN BNspDto+MbIKEXh7xsZ2OIN94XBec/YtXRrZcJ7QNckxUxkCphFqC0eYOtrwRozaGJPQ 4xYvi+tG7dHVecLEogpuO2zsV2tJi2S76CaAj/QbxrDOVE2hH9ruXJczmt/PD5ow/OG9 EJ63L4XusRc+f64q76aUNeb4P5FyFWo93pmb0VXC0TsMTfk4OxRsc0xcgVhlECLE9r9G gbrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=qHCsSeCZ; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id h3-20020aa7c943000000b0051a594c787asi6370761edt.467.2023.06.29.10.18.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Jun 2023 10:18:51 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=qHCsSeCZ; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CDA343858D39 for ; Thu, 29 Jun 2023 17:18:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CDA343858D39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1688059129; bh=gdcZM4dySje9SmpJY+vOM+YKcSoRESeFY+3BfZK6gBk=; h=Date:Subject:To:Cc:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=qHCsSeCZTsIa6kl1rbwAsUrdnLGTK5AI3JajOXxFH+TRy7sXaJGJGV0tkhDBbKqZw Whl/NcuxBi2A3YulcaG9wnfriPiHVfCjdo9Myg6HgzZcyo+XOibXc92okkKkY6g/80 swzPCTZhVdCl7gM5An45I1pEJbS92ED6/HXtV3ec= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by sourceware.org (Postfix) with ESMTPS id 97EDA3858D35 for ; Thu, 29 Jun 2023 17:18:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 97EDA3858D35 Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-57704af0e64so7628897b3.0 for ; Thu, 29 Jun 2023 10:18:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688059121; x=1690651121; h=content-transfer-encoding:cc:to:from:subject:message-id :mime-version:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gdcZM4dySje9SmpJY+vOM+YKcSoRESeFY+3BfZK6gBk=; b=YFMEareqqhfbRvnhFcEKbU8fMRlA2f5Oo2uDT9hQObjJ1Patik24g4Pvwh00d3e7T3 p8fvWjLTCIuCF2X2dFRA8lQgMEJUYEg4GO5Vk3NWNhrLLbYIZ9e8Cgo8nxAuynNLV+/T y9ZllHYM27oJ6MFkcw7zwOtr1ebas6Idx9gcbT1tZrm1wrg+AGkYf4DZKN19bcOc4x5n AMawzuHGiDGdLEHCDAPlYt0Z67wT1W/c0JujdFP5VqDvOvSqoPRsUGFoXGZR3JlKFffn 3Xfh1h71BcfR7NHNkKyzxCmxsiude+edJ5yotQyzvJpI9Et6pn72ULfbGrU2wBIHTjJM pYwg== X-Gm-Message-State: ABy/qLb+64kHSxpBmX4zYsJ9JW2bTOB+iPAOZF/ywFck2tOUTvSEtEAa PjPVNKd0+j3RRFqiKH5VQE9pcBzIkfjwpRIcBKprLE12Jcq9ixH3LVkvct0hfNrL7VgMuZnK7xS vBZqOkS47JmMR99xX3yTbiow/k8VUglYVRW5HAcK070MW3LUZOyqCu7KF7Gcn X-Received: from nhuck.c.googlers.com ([fda3:e722:ac3:cc00:14:4d90:c0a8:39cc]) (user=nhuck job=sendgmr) by 2002:a25:4f85:0:b0:bdd:69e:95e6 with SMTP id d127-20020a254f85000000b00bdd069e95e6mr3303ybb.6.1688059120863; Thu, 29 Jun 2023 10:18:40 -0700 (PDT) Date: Thu, 29 Jun 2023 10:18:25 -0700 Mime-Version: 1.0 X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog Message-ID: <20230629171839.573187-1-nhuck@google.com> Subject: [PATCH 00/14] Support RISC-V Vector Cryptography Extensions To: binutils@sourceware.org Cc: nhuck@pmull.org, Nathan Huckleberry X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Nathan Huckleberry via Binutils From: Nathan Huckleberry Reply-To: Nathan Huckleberry Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770058291738141724?= X-GMAIL-MSGID: =?utf-8?q?1770058291738141724?= 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