From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 D114E3858428 for ; Thu, 29 Jun 2023 17:19:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D114E3858428 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-x1149.google.com with SMTP id 00721157ae682-565ba5667d5so7254457b3.0 for ; Thu, 29 Jun 2023 10:19:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688059148; x=1690651148; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=cUzPmussk3vgbGZU7RuAGzvkiHB18XfIB6cWWc02994=; b=HcgG0TKRH5zuJMjayL1a7NbyMcOmnDm6JRzIBTk4uiaaGDUDHRVt4RB4/Z7FXXkfLU XM97s2Chc+vYxj+iwuvUWL5PcidDFlHK6zcBvcOaHipALMiSiKPr5oERR952vZwXHKRC jZkv5YmxphZdfC/wwI7wGewtZZfLvRHwVug/r+OYtKYYXXBx217UIrciRiJm9CF3+RgS RNv1h5+PqCoDqDyesdwCxc9bxskjyE/YHn2hEwTaCzYC5RmOx/a7pFJZu8AZ/95Amx50 KLJmwXSHXCu9/G7e0WQ6GCgeD2sg+AqpJSqPYqylmiXjmsNv7rOE+GyWpV/W3ncjpNNH OS1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688059148; x=1690651148; 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=cUzPmussk3vgbGZU7RuAGzvkiHB18XfIB6cWWc02994=; b=fE2OSF2UiGGEuGRzmBUWbzOc2dFJ7Iy5MeI/JNZEnd9KqLThsEFbczxer1qsHBdAqM njhzadO51HVtkPRBkznfqYw6a4J0MIMW/hqAPQzu2QegSoTw1G9HM77yU0PsR+JEKZGZ Nm+Cz3T+K9/IfLZEKlO3hLVWErmPyVOWCFIr1ogboMQjFE0GCFzrSXNMtNaUbBDZtQE+ VxjJ0T1Dp2wXxy4xdyuGXPsFjHixHmziJtaDwQPpuK4noOMmasOKu9b0t0V9wv3V4u6h ylnOZK4OVeuLlqLjONOJblvh3AtjxMifzBgYOd5cqfYwNVVwA2QT07QDt7IvoT2xbgUe 56OQ== X-Gm-Message-State: ABy/qLbmXJWQ1hdzNUmNQ3MzATXVgc63evUZdX8vJbKdDke4jubWQR++ 3RoYWSnWjq9ctrDNH8lD0CHvsIPy4wXf4qjg4y9W3Vvzd/BXQYtGLc6zgE1DMulElXmjwPtBRCO S6yQMKU0H3+7cwo1IIRxmyoduoERDtm/A410jPK22PTzMw0Cu3Z9KEbYaOfJi X-Google-Smtp-Source: APBJJlETC0MVw4WgjDas0n11kEs+bwIi/W16UQJC3K6GQ5ArLCMWA2pwJEQKLFK8vWvqsvxDfWGXQeXoNQ== X-Received: from nhuck.c.googlers.com ([fda3:e722:ac3:cc00:14:4d90:c0a8:39cc]) (user=nhuck job=sendgmr) by 2002:a25:e80d:0:b0:c3f:14f3:42da with SMTP id k13-20020a25e80d000000b00c3f14f342damr3270ybd.1.1688059148243; Thu, 29 Jun 2023 10:19:08 -0700 (PDT) Date: Thu, 29 Jun 2023 10:18:38 -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-14-nhuck@google.com> Subject: [PATCH 13/14] Add support for the Zvknc 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: Zvknc is part of the vector crypto extensions. Zvknc is shorthand for the following set of extensxions: - Zvkn - Zvbc Signed-off-by: Nathan Huckleberry --- bfd/elfxx-riscv.c | 3 +++ gas/testsuite/gas/riscv/zvknc.d | 18 ++++++++++++++++++ gas/testsuite/gas/riscv/zvknc.s | 10 ++++++++++ 3 files changed, 31 insertions(+) create mode 100644 gas/testsuite/gas/riscv/zvknc.d create mode 100644 gas/testsuite/gas/riscv/zvknc.s diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c index a1a60d5d4b4..e62508af014 100644 --- a/bfd/elfxx-riscv.c +++ b/bfd/elfxx-riscv.c @@ -1161,6 +1161,8 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] = {"zvkn", "zvbb", check_implicit_always}, {"zvkng", "zvkn", check_implicit_always}, {"zvkng", "zvkg", check_implicit_always}, + {"zvknc", "zvkn", check_implicit_always}, + {"zvknc", "zvbc", check_implicit_always}, {"zvks", "zvksed", check_implicit_always}, {"zvks", "zvksh", check_implicit_always}, {"zvks", "zvbb", check_implicit_always}, @@ -1275,6 +1277,7 @@ static struct riscv_supported_ext riscv_supported_std_z_ext[] = {"zvkg", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"zvkn", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"zvkng", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, + {"zvknc", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"zvkned", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"zvknha", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, {"zvknhb", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 }, diff --git a/gas/testsuite/gas/riscv/zvknc.d b/gas/testsuite/gas/riscv/zvknc.d new file mode 100644 index 00000000000..f68103b129e --- /dev/null +++ b/gas/testsuite/gas/riscv/zvknc.d @@ -0,0 +1,18 @@ +#as: -march=rv64gc_zvknc +#objdump: -dr + +.*:[ ]+file format .* + + +Disassembly of section .text: +0+000 <.text>: +[ ]+[0-9a-f]+:[ ]+a280a277[ ]+vaesdf.vv[ ]+v4,v8 +[ ]+[0-9a-f]+:[ ]+ba862277[ ]+vsha2ch.vv[ ]+v4,v8,v12 +[ ]+[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/zvknc.s b/gas/testsuite/gas/riscv/zvknc.s new file mode 100644 index 00000000000..60b10d8b8b5 --- /dev/null +++ b/gas/testsuite/gas/riscv/zvknc.s @@ -0,0 +1,10 @@ + vaesdf.vv v4, v8 + vsha2ch.vv v4, v8, v12 + 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