From patchwork Thu Mar 30 10:23:17 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Sandiford X-Patchwork-Id: 77019 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1022020vqo; Thu, 30 Mar 2023 03:26:41 -0700 (PDT) X-Google-Smtp-Source: AKy350ZGM5HB7LCzxCTZ9CMQGV+MVFPLjhQgtoTEYoowMcf8szKDfGHe21eOlaQGOm9ANtwLecCX X-Received: by 2002:aa7:c448:0:b0:4fb:86c8:e9cc with SMTP id n8-20020aa7c448000000b004fb86c8e9ccmr22244305edr.40.1680172001478; Thu, 30 Mar 2023 03:26:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680172001; cv=none; d=google.com; s=arc-20160816; b=XIF0Y7Q8+P4ZWFJNsoVlEmyORa4kIZxcqo5/F9WGxyfbvYYDKCGi9MjxzAjlDyhA6i +JflA2R2JS3thhlgNu4uUHDlgEXjQmpK9SSPWX/mnFyspfxwuEWHf6criZxIC1M8JCDO hbhx85vwhQRKLy1DTG9MGSAgf3xqL6LiKtAn2WxFHCOZ2uvgAI2GyhJ27FdhWR6ToCku zTDl3RfNJdCVU/fJzK3Uu9hKvLXc+Cq9P/lSwV/yj/++1GzkzAXZBK55qj4hKKMIKxKa QMCs5EwAuxmESeTEd7g32VdUiFWzDgSvun9HOHyzrPJh7Ww+Hfpdplr2meo3LYWLrWLE 3xFA== 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=oFIpdEeinqPTqr24wX7NI4ruLJkFti4x23iUNs2tE4A=; b=bOoCBUnGgwPv/94MW2UYz7r7Gskrg0kLyWNU3/GQCWf/NBH+bkiBzGYy1mAOwZjCFG ogewCO+muqGBV76bMJs2m9QteA/K5VXhipkQPlnX/I4FsvL8VkLvU+UyEBkgsvEI4zn7 gfbQbvajO+a8TgFFvmvnzDFhbTnQNWFLwXsjokpNGiy/Zl74HS2qBVuRyinsmwbn0IJA Azka6KsC/6j1y8kfRMOZpNG3+LFUKZlQFfDgkDaYRbC4nekb8kX+RCIUOYVnNbgzL47s ioQ470axUmpfCxaQYhUUYpYfy87ClXyNjxQ+DomhX0N1xiBtMLiOrgzZcbasLDE/DO4e 69yQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=R8ksB4bg; 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 (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id n15-20020aa7c78f000000b00501c32ce664si29834271eds.325.2023.03.30.03.26.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Mar 2023 03:26:41 -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=R8ksB4bg; 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 8D10A384BC18 for ; Thu, 30 Mar 2023 10:25:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8D10A384BC18 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680171933; bh=oFIpdEeinqPTqr24wX7NI4ruLJkFti4x23iUNs2tE4A=; 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=R8ksB4bgPZwltzZ6588K6eGoAZfV8t2aU0n9g8qODPG3VUQVTA4QLye45jnUDFt7k 9CLS96vRmFawtOusV1UNmD6+HTExk1dJv73+r4CiRVvHl73+E7nxsDsnldyk/NqfrH ySKaM8SJgLXQHjpnWli83NQyY1vMHPDhP9Ia6AAg= 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 9EAA43858CDB for ; Thu, 30 Mar 2023 10:24:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9EAA43858CDB 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 B371A12FC; Thu, 30 Mar 2023 03:24:59 -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 EA9D63F663; Thu, 30 Mar 2023 03:24:14 -0700 (PDT) To: binutils@sourceware.org Cc: Richard Sandiford Subject: [PATCH 01/43] aarch64: Fix PSEL opcode mask Date: Thu, 30 Mar 2023 11:23:17 +0100 Message-Id: <20230330102359.3327695-2-richard.sandiford@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230330102359.3327695-1-richard.sandiford@arm.com> References: <20230330102359.3327695-1-richard.sandiford@arm.com> MIME-Version: 1.0 X-Spam-Status: No, score=-33.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, 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?1761788036896133642?= X-GMAIL-MSGID: =?utf-8?q?1761788036896133642?= The opcode mask for PSEL was missing some bits, which meant that some upcoming SME2 opcodes would be misinterpreted as PSELs. --- gas/testsuite/gas/aarch64/sme-9.d | 3 +++ gas/testsuite/gas/aarch64/sme-9.s | 5 +++++ opcodes/aarch64-tbl.h | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gas/testsuite/gas/aarch64/sme-9.d b/gas/testsuite/gas/aarch64/sme-9.d index ef314c61451..9a6175c3906 100644 --- a/gas/testsuite/gas/aarch64/sme-9.d +++ b/gas/testsuite/gas/aarch64/sme-9.d @@ -71,3 +71,6 @@ Disassembly of section \.text: f4: 44cbc544 uclamp z4.d, z10.d, z11.d f8: 25277c61 psel p1, p15, p3.b\[w15, 0\] fc: 252778a2 psel p2, p14, p5.b\[w15, 0\] + 100: 25244200 \.inst 0x25244200 ; undefined + 104: 25244010 \.inst 0x25244010 ; undefined + 108: 25244210 \.inst 0x25244210 ; undefined diff --git a/gas/testsuite/gas/aarch64/sme-9.s b/gas/testsuite/gas/aarch64/sme-9.s index be8511fe3df..495a7f9fbf0 100644 --- a/gas/testsuite/gas/aarch64/sme-9.s +++ b/gas/testsuite/gas/aarch64/sme-9.s @@ -84,3 +84,8 @@ foo .req p1 bar .req w15 psel foo, p15, p3.b[w15, 0] psel p2, p14, p5.b[bar, 0] + +// These were previously incorrectly decoded as PSELs. +.inst 0x25244200 +.inst 0x25244010 +.inst 0x25244210 diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h index 69703650471..96e6c136282 100644 --- a/opcodes/aarch64-tbl.h +++ b/opcodes/aarch64-tbl.h @@ -5275,7 +5275,7 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME_INSNC ("revd", 0x52e8000, 0xffffe000, sme_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_QMQ, 0, C_SCAN_MOVPRFX, 0), SME_INSNC ("sclamp", 0x4400c000, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, C_SCAN_MOVPRFX, 0), SME_INSNC ("uclamp", 0x4400c400, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, C_SCAN_MOVPRFX, 0), - SME_INSN ("psel", 0x25204000, 0xff20c000, sme_misc, 0, OP3 (SVE_Pd, SVE_Pg4_10, SME_PnT_Wm_imm), OP_SVE_NN_BHSD, 0, 0), + SME_INSN ("psel", 0x25204000, 0xff20c210, sme_misc, 0, OP3 (SVE_Pd, SVE_Pg4_10, SME_PnT_Wm_imm), OP_SVE_NN_BHSD, 0, 0), /* SIMD Dot Product (optional in v8.2-A). */ DOT_INSN ("udot", 0x2e009400, 0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),