From patchwork Sat Jul 1 05:20:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Christoph_M=C3=BCllner?= X-Patchwork-Id: 11512 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp10840370vqr; Fri, 30 Jun 2023 22:21:21 -0700 (PDT) X-Google-Smtp-Source: APBJJlF30/FisWoJfYOiP7CCWc9M32I2nGRMu0SvGJuKfmrfkWuAidj7PxMjfTqP82JV8Vg8nh/K X-Received: by 2002:adf:ef12:0:b0:314:50d:4540 with SMTP id e18-20020adfef12000000b00314050d4540mr4349337wro.18.1688188881008; Fri, 30 Jun 2023 22:21:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688188880; cv=none; d=google.com; s=arc-20160816; b=w0n7uLR/4pU1qT3DsPmrBdoQF7SRNeecDl7F5q7qkuvwYRbYy8arFvikNbNnVl1smu GxQn5K8TPWUbooodGdG0LtJcgl4TIsc6a029WppkuWZ/r9gkoUebONYijWYLCsMT7yIt gIwyOfXfdfEWUsPJmZZ+wWqOMcHWZgPPibSW2rXmAQ7x+54eWeMhC1g3IgzV2VCcmbAf 05UjjjqbwcEFVoEG70N6AMycCWr3g8oETA11LdOZB12lpSaBYcWRxsQl+6yBaW+IX+A5 grNdI13IWRIWZy+zDkcoUdbuWvWlCrYKb2Eg2UT5Ys6roAn/cyfqmiIbL87MbL1GqnbU ZxNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature :dmarc-filter:delivered-to; bh=rwNPr03cOeUiSplKCFK/0q0TiUKkQSpRrMSHBDTVqF8=; fh=Gh389lnGS7+dIjI2+V6ajEvUcK2Xxxss0RzCnvp16eo=; b=mPx7tVjIYpD8i2H1OuODDpQEJwgeKqSc2ZdBgxCGbLnAGzZk5oTTdRaDfguVaqYbCA 7NGy8KA1W3J3EpY9oQG3GakL6a6oG2M2ZVvHIwbjoDu5XQyZV7RyGAMVHhSSR/Bax3f8 R9sKanZ9ipC1aS6IUNPOmfuQrMym6XYubsyx1RFtNc98p/nDFJs4ZEaug4unqhWsuPlf OJYDuQdsS3rmbY3UaUtpuUH4hkeiz+HQn51puv+83wcABKB5B2RK+1wInVqyIGLq3B4q J3kooxsWspCzATAxKsjTMnWk7vw4DHJ9FxofJsj3ZkEFiIEyQIoxzoHlASvsU6DCDF7n uLVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@vrull.eu header.s=google header.b="c4FgAu/2"; 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" Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id h18-20020a1709063c1200b0099279b2cdd8si4704906ejg.831.2023.06.30.22.21.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Jun 2023 22:21:20 -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=@vrull.eu header.s=google header.b="c4FgAu/2"; 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" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 308833857C5A for ; Sat, 1 Jul 2023 05:21:17 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com [IPv6:2a00:1450:4864:20::636]) by sourceware.org (Postfix) with ESMTPS id 7C83D3858D33 for ; Sat, 1 Jul 2023 05:21:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7C83D3858D33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=vrull.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=vrull.eu Received: by mail-ej1-x636.google.com with SMTP id a640c23a62f3a-99313a34b2dso42826466b.1 for ; Fri, 30 Jun 2023 22:21:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull.eu; s=google; t=1688188867; x=1690780867; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=rwNPr03cOeUiSplKCFK/0q0TiUKkQSpRrMSHBDTVqF8=; b=c4FgAu/2v5p7h6GVDssZVmIFDYDekcbDb3D8J1HIGNUUSzv0LYkgV0V4265QxS5c9O RfVoLKC5ENAKWML1O9nZnJ6gCeYV+dF2lzywa5/quruujNAeK6Rxmcx+1mqfu3eewjyc AWzYwiWq/qCSDatCik7wjTilP7IELvEcz7vZDp8wf7l9X2h+y0k3ml+/iepD/PQx5GXR DD+eMcQZS5AD82vC3QjWle/2IYLNB5H+n9H2MwvnzChn9WCk/PTTTZU2/HgAoWyulsu9 qE7CO63hw8IT/y3yWkFV2xcjN2ADNMhuYyWaQX2RoOYlQfZzWXulkdSqDMj3aSYtsORe ghwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688188867; x=1690780867; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rwNPr03cOeUiSplKCFK/0q0TiUKkQSpRrMSHBDTVqF8=; b=PvPn1I9W33kZi71m4rWomdpYeVdUkbSrNxKLjvaswpYSIEw0oP64T4wRCTm8Da/QmV REmx56F2OsTJ+seZkJjL5kyXgkTWd6hJlw1bQeFK6GCrgiM22aCz7zRqLTVSAb6V+lSX EvjfSlBtbQ6xaQEJ0dbiLNq1aaTu0ACjE1jMpGPScGT3qAwu15Ll6IPMyfFuinWO/Rur hGMTkXQkxVq4UBNH59XdmCHdTOTok3Cjq0mWpr0q9Y9/v6gNabJsXn+Kuu5DaiADi5R8 tzdrH+1MEE8mU5PLNeDuGod6g7/t6sKSrOQXAKmNuLkH/g+EhK/AFtj/jr63SB5WidfK RVkw== X-Gm-Message-State: ABy/qLZ7hbhSzdE2OTM/rVBp+RpDvaWCVHORcBGi112G1spxEkequRfO 99rsuhR3I7WtZCje2NBXU8LL1tyAejXm8hjvxNM= X-Received: by 2002:a17:907:9143:b0:98d:ff8f:5d43 with SMTP id l3-20020a170907914300b0098dff8f5d43mr2998737ejs.74.1688188867612; Fri, 30 Jun 2023 22:21:07 -0700 (PDT) Received: from beast.fritz.box (62-178-148-172.cable.dynamic.surfer.at. [62.178.148.172]) by smtp.gmail.com with ESMTPSA id t14-20020a1709063e4e00b0098d25cbb899sm8784221eji.41.2023.06.30.22.21.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Jun 2023 22:21:07 -0700 (PDT) From: Christoph Muellner To: binutils@sourceware.org, Nathan Huckleberry , nhuck@pmull.org, Jeff Law , Nelson Chu , Andrew Waterman , Palmer Dabbelt , Jim Wilson , Philipp Tomsich Cc: =?utf-8?q?Christoph_M=C3=BCllner?= Subject: [PATCH v6 00/15] RISC-V: Add support for vector crypto extensions Date: Sat, 1 Jul 2023 07:20:49 +0200 Message-ID: <20230701052104.4018352-1-christoph.muellner@vrull.eu> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, JMQ_SPF_NEUTRAL, KAM_MANYTO, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no 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: , 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?1770166434816803436?= X-GMAIL-MSGID: =?utf-8?q?1770194344502107614?= From: Christoph Müllner 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