From patchwork Thu Mar 30 10:26:16 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Sandiford X-Patchwork-Id: 77086 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1037520vqo; Thu, 30 Mar 2023 04:01:14 -0700 (PDT) X-Google-Smtp-Source: AKy350Yfvs62Nia6gwKRIR/n+UxpfOSPtcw6hpMS88wUhHffBzCTyGE6tZuL/Dw5vPiNXJP4QbcZ X-Received: by 2002:a17:906:2a84:b0:932:e9c7:c32 with SMTP id l4-20020a1709062a8400b00932e9c70c32mr25011097eje.59.1680174074614; Thu, 30 Mar 2023 04:01:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680174074; cv=none; d=google.com; s=arc-20160816; b=qnDUzjZm+4dqvEol2reTuJJnU92THUZ2MMofMCNtsMa47ERdWXoDWHn7j8paYS3yy3 owJldg7t7FbC5y0lKPYLncxNoPqISQSDyH+Hd6DoOH3Vqseqp3I0ARvO3LD0Knkzh51p gZLukITcClYXiWdCPfadoqDycqbfDWRvzaaz98qTBo+J4uDX5ws4flKGdtGsWWVXHhcI T+B/2dNIsw5U+3VaK7UDP5672kLbi8CEoHCtuLFrCziPmbBu/dVrkfl8H4oEVFms3TOJ de1Z+QQeprKVHX8USl79XWt4EmeZNYPPNOpHi0Mb2jBB5VyvSBxivop/0lAEgmgFs8hS uAzQ== 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:mime-version:references:in-reply-to :message-id:date:subject:cc:to:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=Gmm4BS8XEjgiOQdvhknSo+TS7cLDxB9G5XfGsGWYJng=; b=N1iKtDyJHkRWKs7LlyxoA5V0ITSGxp+KxTzvQSauGoh3RhuDA7zJDq6umFG+uzHB6w aGcrVqXGqDrF1+2sIRZPs47K2hpadOdi3wfmWdUdaF9d4UDl/tyIGD0KAtSlPtBgN88h nl45JbggpNalS62OhhEkkzA8rBTfJ/iVEZCJ+GCDOF0ZNcLDNEE1bNNrIpBQx40RoVkq j3pk562bOHw05oekvqeT9Y6qpwaiCmVDAVXjNbfnsDo4nlWp8L14EJDXZMV/BpKbtVr5 fRhrdcJ08siH6ggZiZo9kHl/Z0ipXCrMmVk84+b0IzXN0r7zMDf8Q4+3i7iENKQyV+eq ctdA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=TjbLisKZ; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c 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 (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id w19-20020a170906b19300b009477d131256si175868ejy.566.2023.03.30.04.01.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Mar 2023 04:01:14 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=TjbLisKZ; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c 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 CE4903AA888A for ; Thu, 30 Mar 2023 10:42:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CE4903AA888A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680172930; bh=Gmm4BS8XEjgiOQdvhknSo+TS7cLDxB9G5XfGsGWYJng=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=TjbLisKZbe8RlK1RRqgeTWH+yEjdaqDQVMnk6+Bxka6DgcSPj+S0oIAS2EFltyqiq e58xT2GKF/Hi1dOnL8heawOgLcV9J4s4kDHCOvGlgwStqS00t7hsHiGzSlluRdHozw 9a9XiXXM5rLTsMhQXgTEJ0909OuakM5L6QmPZJLk= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id 46B9F3895FCD for ; Thu, 30 Mar 2023 10:26:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 46B9F3895FCD Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6644E12FC; Thu, 30 Mar 2023 03:27:38 -0700 (PDT) Received: from e121540-lin.manchester.arm.com (e121540-lin.manchester.arm.com [10.32.110.72]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9D3DE3F663; Thu, 30 Mar 2023 03:26:53 -0700 (PDT) To: binutils@sourceware.org Cc: Richard Sandiford Subject: [PATCH 01/31] aarch64: Add +sme2 Date: Thu, 30 Mar 2023 11:26:16 +0100 Message-Id: <20230330102646.3327818-2-richard.sandiford@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230330102646.3327818-1-richard.sandiford@arm.com> References: <20230330102646.3327818-1-richard.sandiford@arm.com> MIME-Version: 1.0 X-Spam-Status: No, score=-32.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, SPF_HELO_NONE, SPF_NONE, TXREP 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: Richard Sandiford via Binutils From: Richard Sandiford Reply-To: Richard Sandiford 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?1761790210653660745?= X-GMAIL-MSGID: =?utf-8?q?1761790210653660745?= This patch adds bare-bones support for +sme2. Later patches fill in the rest. --- gas/NEWS | 2 ++ gas/config/tc-aarch64.c | 2 ++ gas/doc/c-aarch64.texi | 2 ++ include/opcode/aarch64.h | 1 + 4 files changed, 7 insertions(+) diff --git a/gas/NEWS b/gas/NEWS index 4ae2089901c..05fbed113c2 100644 --- a/gas/NEWS +++ b/gas/NEWS @@ -1,5 +1,7 @@ -*- text -*- +* Add SME2 support to the AArch64 port. + Changes in 2.40: * Add support for Intel RAO-INT instructions. diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 2d4c6106506..6ebfcda7dff 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -10183,6 +10183,8 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = { AARCH64_FEATURE (AARCH64_FEATURE_SME, 0)}, {"sme-i16i64", AARCH64_FEATURE (AARCH64_FEATURE_SME_I16I64, 0), AARCH64_FEATURE (AARCH64_FEATURE_SME, 0)}, + {"sme2", AARCH64_FEATURE (AARCH64_FEATURE_SME2, 0), + AARCH64_FEATURE (AARCH64_FEATURE_SME, 0)}, {"bf16", AARCH64_FEATURE (AARCH64_FEATURE_BFLOAT16, 0), AARCH64_FEATURE (AARCH64_FEATURE_FP, 0)}, {"i8mm", AARCH64_FEATURE (AARCH64_FEATURE_I8MM, 0), diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi index 3921c0d368e..acde4a77dd2 100644 --- a/gas/doc/c-aarch64.texi +++ b/gas/doc/c-aarch64.texi @@ -235,6 +235,8 @@ automatically cause those extensions to be disabled. @tab Enable SME F64F64 Extension. @item @code{sme-i16i64} @tab Armv9-A @tab No @tab Enable SME I16I64 Extension. +@item @code{sme2} @tab Armv9-A @tab No + @tab Enable SME2. This implies @code{sme}. @item @code{ssbs} @tab ARMv8-A @tab ARMv8.5-A or later @tab Enable Speculative Store Bypassing Safe state read and write. @item @code{sve} @tab ARMv8.2-A @tab Armv9-A or later diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index ef59d531d17..5c9b5e5dac1 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -100,6 +100,7 @@ typedef uint32_t aarch64_insn; #define AARCH64_FEATURE_SME_I16I64 (1ULL << 58) /* SME I16I64. */ #define AARCH64_FEATURE_V8_8 (1ULL << 59) /* Armv8.8 processors. */ #define AARCH64_FEATURE_CSSC (1ULL << 60) /* Common Short Sequence Compression instructions. */ +#define AARCH64_FEATURE_SME2 (1ULL << 61) /* SME2. */ /* Crypto instructions are the combination of AES and SHA2. */ #define AARCH64_FEATURE_CRYPTO (AARCH64_FEATURE_SHA2 | AARCH64_FEATURE_AES)