From patchwork Thu Mar 30 10:26: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: 77090 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp1038642vqo; Thu, 30 Mar 2023 04:02:40 -0700 (PDT) X-Google-Smtp-Source: AKy350ZBkx2FFl7S6LP5PGPfUHfKryZfKHhDrNNuxMDUBdrfNDW3bz4SC3uIUZyNfPMKEOIsCjCF X-Received: by 2002:a17:907:7f0c:b0:93f:870f:a9e2 with SMTP id qf12-20020a1709077f0c00b0093f870fa9e2mr21140925ejc.16.1680174160451; Thu, 30 Mar 2023 04:02:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680174160; cv=none; d=google.com; s=arc-20160816; b=SgviuR6M1cBK8kDHEiLH9KnUXiePIIkwDBC2+qqHaUpUav5B5xBcI6azyarvyKOzSz ppSjL+Z5Ga8BxfHBNm8HbBFzvHcgxdchgz0yfTP6B1UEo/Wflknb3ALFZ3Lw/U/luTMY gidZix/qMPz0+ws79+Ol8YAJMRqGeBqESmh+r2tWRqiyaxE9PV3ktfYGKgaVNK35SXEp Gnylaenqy1Dx5vvE3dw4QGpKENYptumZqFwCS8GwJjW/LtIG5XJjzANW002ATbXFERfC SPh2SkbC7gPcBLJoeV0H4mhTLpXE08GX9UVn9gs9N9j/Ea4Ejbr3DEYdjhfOwc9cArER ML0Q== 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=RkJX1nDuw427bW7jxalx2K0ABkqzZdEzS8Ay2rP7fqY=; b=zBLm5b9Qewduq9GUXABabwT2VrClocvygYvnUVVMZiKrxIhkCusf/bQsJJmFVx/qO3 eZoCy7xATDrD4GJ++JQnJZmq+qaHLo+Lz0BYE+5pYmf56y8VyVzkQLYtk+otAoI5Wt6u PwptoHs0No9m/C/7lrnAsCrSOYfz4rCU1v+EfXT26FWj+++SwBUU1q8MwneB/cueNXb3 xI9L26ZInOQFSV9UUI4E+b7GQoT1047kNFHIGc9oamIXTFz3KtfFeSdtnsyNU1HZhigf 46eD//W9ys5v/+ypk36G/YVe3/s/MWp3a0T7giKcIBx2XAg+OQWSoLSmD0r7J8Ap49yc dTmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=Zou42Lgp; 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 q23-20020a056402033700b004c10381668csi36023490edw.286.2023.03.30.04.02.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Mar 2023 04:02:40 -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=Zou42Lgp; 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 8EE353AA9916 for ; Thu, 30 Mar 2023 10:43:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8EE353AA9916 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680172992; bh=RkJX1nDuw427bW7jxalx2K0ABkqzZdEzS8Ay2rP7fqY=; 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=Zou42LgpRky9ySRapvDI4HiUO4Nou7z132Yl4qOUmmmEfiFEwub8xqTEffn+emdYf egnEIW6G2VQC+Srduz0wmJ1kSikkrVStuaJ0F75ExkwesXBA9IpLTfQ2NK1nwNA/Bt zx4nVN3M3tX8TDybOK4G9ntjJM/F3TniPA9WcSro= 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 EC7CD3881D0E for ; Thu, 30 Mar 2023 10:26:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EC7CD3881D0E 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 19E3F1595; Thu, 30 Mar 2023 03:27:39 -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 4FA8B3F663; Thu, 30 Mar 2023 03:26:54 -0700 (PDT) To: binutils@sourceware.org Cc: Richard Sandiford Subject: [PATCH 02/31] aarch64: Add a _10 suffix to FLD_imm3 Date: Thu, 30 Mar 2023 11:26:17 +0100 Message-Id: <20230330102646.3327818-3-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?1761790300875994906?= X-GMAIL-MSGID: =?utf-8?q?1761790300875994906?= SME2 adds various new 3-bit immediate fields, so this patch adds an lsb position suffix to the name of the field that we already have. --- opcodes/aarch64-asm.c | 4 ++-- opcodes/aarch64-dis.c | 4 ++-- opcodes/aarch64-opc-2.c | 2 +- opcodes/aarch64-opc.c | 2 +- opcodes/aarch64-opc.h | 2 +- opcodes/aarch64-tbl.h | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c index 7351c2417b2..5a9ca5a980d 100644 --- a/opcodes/aarch64-asm.c +++ b/opcodes/aarch64-asm.c @@ -943,7 +943,7 @@ aarch64_ins_reg_extended (const aarch64_operand *self ATTRIBUTE_UNUSED, ? AARCH64_MOD_UXTW : AARCH64_MOD_UXTX; insert_field (FLD_option, code, aarch64_get_operand_modifier_value (kind), 0); /* imm3 */ - insert_field (FLD_imm3, code, info->shifter.amount, 0); + insert_field (FLD_imm3_10, code, info->shifter.amount, 0); return true; } @@ -1016,7 +1016,7 @@ aarch64_ins_sve_addr_ri_s9xvl (const aarch64_operand *self, int factor = 1 + get_operand_specific_data (self); insert_field (self->fields[0], code, info->addr.base_regno, 0); insert_fields (code, info->addr.offset.imm / factor, 0, - 2, FLD_imm3, FLD_SVE_imm6); + 2, FLD_imm3_10, FLD_SVE_imm6); return true; } diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c index e722514053e..49bfd46906e 100644 --- a/opcodes/aarch64-dis.c +++ b/opcodes/aarch64-dis.c @@ -1395,7 +1395,7 @@ aarch64_ext_reg_extended (const aarch64_operand *self ATTRIBUTE_UNUSED, info->shifter.kind = aarch64_get_operand_modifier_from_value (value, true /* extend_p */); /* imm3 */ - info->shifter.amount = extract_field (FLD_imm3, code, 0); + info->shifter.amount = extract_field (FLD_imm3_10, code, 0); /* This makes the constraint checking happy. */ info->shifter.operator_present = 1; @@ -1512,7 +1512,7 @@ aarch64_ext_sve_addr_ri_s9xvl (const aarch64_operand *self, { int offset; - offset = extract_fields (code, 0, 2, FLD_SVE_imm6, FLD_imm3); + offset = extract_fields (code, 0, 2, FLD_SVE_imm6, FLD_imm3_10); offset = (((offset + 256) & 511) - 256); return aarch64_ext_sve_addr_reg_mul_vl (self, info, code, offset); } diff --git a/opcodes/aarch64-opc-2.c b/opcodes/aarch64-opc-2.c index 1d59a8bd332..fe67dbc9b62 100644 --- a/opcodes/aarch64-opc-2.c +++ b/opcodes/aarch64-opc-2.c @@ -214,7 +214,7 @@ const struct aarch64_operand aarch64_operands[] = {AARCH64_OPND_CLASS_IMMEDIATE, "SVE_UIMM3", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_imm3}, "a 3-bit unsigned immediate"}, {AARCH64_OPND_CLASS_IMMEDIATE, "SVE_UIMM7", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_imm7}, "a 7-bit unsigned immediate"}, {AARCH64_OPND_CLASS_IMMEDIATE, "SVE_UIMM8", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_imm8}, "an 8-bit unsigned immediate"}, - {AARCH64_OPND_CLASS_IMMEDIATE, "SVE_UIMM8_53", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_imm5,FLD_imm3}, "an 8-bit unsigned immediate"}, + {AARCH64_OPND_CLASS_IMMEDIATE, "SVE_UIMM8_53", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_imm5,FLD_imm3_10}, "an 8-bit unsigned immediate"}, {AARCH64_OPND_CLASS_SIMD_REG, "SVE_VZn", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_Zn}, "a SIMD register"}, {AARCH64_OPND_CLASS_SIMD_REG, "SVE_Vd", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_Vd}, "a SIMD register"}, {AARCH64_OPND_CLASS_SIMD_REG, "SVE_Vm", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_Vm}, "a SIMD register"}, diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c index 1a1e1bd22f3..969362a56cd 100644 --- a/opcodes/aarch64-opc.c +++ b/opcodes/aarch64-opc.c @@ -296,7 +296,7 @@ const aarch64_field fields[] = { 0, 4 }, /* cond2: condition in truly conditional-executed inst. */ { 5, 5 }, /* defgh: d:e:f:g:h bits in AdvSIMD modified immediate. */ { 21, 2 }, /* hw: in move wide constant instructions. */ - { 10, 3 }, /* imm3: in add/sub extended reg instructions. */ + { 10, 3 }, /* imm3_10: in add/sub extended reg instructions. */ { 0, 4 }, /* imm4_0: in rmif instructions. */ { 5, 4 }, /* imm4_5: in SME instructions. */ { 10, 4 }, /* imm4_10: in adddg/subg instructions. */ diff --git a/opcodes/aarch64-opc.h b/opcodes/aarch64-opc.h index 3ded6ab7958..e142ae6ee76 100644 --- a/opcodes/aarch64-opc.h +++ b/opcodes/aarch64-opc.h @@ -124,7 +124,7 @@ enum aarch64_field_kind FLD_cond2, FLD_defgh, FLD_hw, - FLD_imm3, + FLD_imm3_10, FLD_imm4_0, FLD_imm4_5, FLD_imm4_10, diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h index 82f4af2839f..aa05ca0f4a9 100644 --- a/opcodes/aarch64-tbl.h +++ b/opcodes/aarch64-tbl.h @@ -5863,7 +5863,7 @@ const struct aarch64_opcode aarch64_opcode_table[] = "a 7-bit unsigned immediate") \ Y(IMMEDIATE, imm, "SVE_UIMM8", 0, F(FLD_SVE_imm8), \ "an 8-bit unsigned immediate") \ - Y(IMMEDIATE, imm, "SVE_UIMM8_53", 0, F(FLD_imm5,FLD_imm3), \ + Y(IMMEDIATE, imm, "SVE_UIMM8_53", 0, F(FLD_imm5,FLD_imm3_10), \ "an 8-bit unsigned immediate") \ Y(SIMD_REG, regno, "SVE_VZn", 0, F(FLD_SVE_Zn), "a SIMD register") \ Y(SIMD_REG, regno, "SVE_Vd", 0, F(FLD_SVE_Vd), "a SIMD register") \