From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by sourceware.org (Postfix) with ESMTPS id 9282A3857704 for ; Thu, 29 Jun 2023 17:19:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9282A3857704 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=flex--nhuck.bounces.google.com Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-5618857518dso7246787b3.2 for ; Thu, 29 Jun 2023 10:19:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688059151; x=1690651151; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=GWLBDo/cRFFDJZnbd2/pobrCgeqLNWZoZknV6ZVrgiM=; b=Im/1t0ae/+z/AJQ/vBwfqFnygVtAMq1qvOVf33zygHM6otgXilDA4y69WwmcyrZogB R6pn9hLdQhH/aaH1MSYiKBUTug4GFtiD4VWdOvUuaL7+larGNKVgVYNTdcPWIyXJFJyD GANCjccZz+TuBcSjMiEtg33otbYeresZGkiScxs5TNjLanKhRuxseTFCXXJNu488+WT9 12HzTkOcfff+KhFGD7WUAQtz6kzkbrq2K2IDOc/lwCeSI3LzJu29fOouutytiOAmEqvX bssqnM9OdkUHTpqeh/4gKdc6FEzTHFv0URcG81qLOBJeMfDq0omnBTtOmR2gVMGGUusB G8SQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688059151; x=1690651151; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GWLBDo/cRFFDJZnbd2/pobrCgeqLNWZoZknV6ZVrgiM=; b=R/+AucF/cl7mmZv0YJHZ8Lxt3vtXzWX0MTtZjjoLi0mw5ioiI+H8cyONkZKk2yvgUp GiVaL3Y7VjM6kkS8RnIdEO4D/lr+gnpwdU+x4pBS2l0htle3xeKXVy0a38xcxVfoZQbR XrtrXAzOksCgQ98lxFIBWNy0MKkzQRZ2MGMj6JlY5+le1nJUbgwfvh89PDyiHSAO4KJn 7KNW6oVK+KQ/auUkmWVdLAv0+7tF11ruBP30FnO3WtNaBN8z+5nRqyrfgJ4mpnKfqo8p GW08O9KICm4767lXwrJOiAR5Vkztyu5rElomBsJUcFlYrKM4/I1QsQlF9f0pyYRvdGYa ZIvA== X-Gm-Message-State: ABy/qLYsRu3uXkUlPItaln9KBMV+hW/oOahk+i7sNKkR8eaM0cxzHPeV l6EiRjiUaRmwaQVtssJUWt34idRECGU3ar8LoQrKit55rnZynLu39FcZxEbDNxPRtY0ducR+5vF L8IBZ7jLCly6cLxtjrrNGLKvzbyXBEKjbEn3hr7mukvbVHnjzyDvYIlgz18+B X-Google-Smtp-Source: APBJJlHXczPfQ3Z7HLK30wlS7PpH8EdyyE3kb4YihEAKaMCMtQAb51QZJcQIWDk0CCTHCOQHPHHCHxFFvA== X-Received: from nhuck.c.googlers.com ([fda3:e722:ac3:cc00:14:4d90:c0a8:39cc]) (user=nhuck job=sendgmr) by 2002:a81:84c1:0:b0:56c:e0c5:de88 with SMTP id u184-20020a8184c1000000b0056ce0c5de88mr310ywf.1.1688059151059; Thu, 29 Jun 2023 10:19:11 -0700 (PDT) Date: Thu, 29 Jun 2023 10:18:39 -0700 In-Reply-To: <20230629171839.573187-1-nhuck@google.com> Mime-Version: 1.0 References: <20230629171839.573187-1-nhuck@google.com> X-Mailer: git-send-email 2.41.0.255.g8b1d071c50-goog Message-ID: <20230629171839.573187-15-nhuck@google.com> Subject: [PATCH 14/14] Add support for the Zvksc ISA extension. From: Nathan Huckleberry To: binutils@sourceware.org Cc: nhuck@pmull.org, Nathan Huckleberry Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-21.0 required=5.0 tests=BAYES_00,DKIMWL_WL_MED,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,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 List-Id: Zvksc is part of the vector crypto extensions. Zvksc is shorthand for the following set of extensions: - Zvks - Zvbc Signed-off-by: Nathan Huckleberry --- bfd/elfxx-riscv.c | 3 +++ gas/testsuite/gas/riscv/zvksc.d | 18 ++++++++++++++++++ gas/testsuite/gas/riscv/zvksc.s | 10 ++++++++++ 3 files changed, 31 insertions(+) create mode 100644 gas/testsuite/gas/riscv/zvksc.d create mode 100644 gas/testsuite/gas/riscv/zvksc.s diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index e62508af014..95e079eeceb 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1168,6 +1168,8 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] = {"zvks", "zvbb", check_implicit_always}, {"zvksg", "zvks", check_implicit_always}, {"zvksg", "zvkg", check_implicit_always}, + {"zvksc", "zvks", check_implicit_always}, + {"zvksc", "zvbc", check_implicit_always}, {"smaia", "ssaia", check_implicit_always}, {"smstateen", "ssstateen", check_implicit_always}, {"smepmp", "zicsr", check_implicit_always}, @@ -1285,6 +1287,7 @@ static struct riscv_supported_ext riscv_supported_std_z_ext[] = {"zvksh", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"zvks", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"zvksg", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, + {"zvksc", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"zvl32b", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"zvl64b", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"zvl128b", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, diff --git a/gas/testsuite/gas/riscv/zvksc.d b/gas/testsuite/gas/riscv/zvksc.d new file mode 100644 index 00000000000..8614ede5ccf --- /dev/null +++ b/gas/testsuite/gas/riscv/zvksc.d @@ -0,0 +1,18 @@ +#as: -march=rv64gc_zvksc +#objdump: -dr + +.*:[ ]+file format .* + + +Disassembly of section .text: +0+000 <.text>: +[ ]+[0-9a-f]+:[ ]+86802277[ ]+vsm4k.vi[ ]+v4,v8,0 +[ ]+[0-9a-f]+:[ ]+ae802277[ ]+vsm3c.vi[ ]+v4,v8,0 +[ ]+[0-9a-f]+:[ ]+32862257[ ]+vclmul.vv[ ]+v4,v8,v12 +[ ]+[0-9a-f]+:[ ]+30862257[ ]+vclmul.vv[ ]+v4,v8,v12,v0.t +[ ]+[0-9a-f]+:[ ]+3285e257[ ]+vclmul.vx[ ]+v4,v8,a1 +[ ]+[0-9a-f]+:[ ]+3085e257[ ]+vclmul.vx[ ]+v4,v8,a1,v0.t +[ ]+[0-9a-f]+:[ ]+36862257[ ]+vclmulh.vv[ ]+v4,v8,v12 +[ ]+[0-9a-f]+:[ ]+34862257[ ]+vclmulh.vv[ ]+v4,v8,v12,v0.t +[ ]+[0-9a-f]+:[ ]+3685e257[ ]+vclmulh.vx[ ]+v4,v8,a1 +[ ]+[0-9a-f]+:[ ]+3485e257[ ]+vclmulh.vx[ ]+v4,v8,a1,v0.t diff --git a/gas/testsuite/gas/riscv/zvksc.s b/gas/testsuite/gas/riscv/zvksc.s new file mode 100644 index 00000000000..aed60105c69 --- /dev/null +++ b/gas/testsuite/gas/riscv/zvksc.s @@ -0,0 +1,10 @@ + vsm4k.vi v4, v8, 0 + vsm3c.vi v4, v8, 0 + vclmul.vv v4, v8, v12 + vclmul.vv v4, v8, v12, v0.t + vclmul.vx v4, v8, a1 + vclmul.vx v4, v8, a1, v0.t + vclmulh.vv v4, v8, v12 + vclmulh.vv v4, v8, v12, v0.t + vclmulh.vx v4, v8, a1 + vclmulh.vx v4, v8, a1, v0.t -- 2.41.0.255.g8b1d071c50-goog