From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by sourceware.org (Postfix) with ESMTPS id F17F63858D3C for ; Mon, 7 Nov 2022 12:46:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F17F63858D3C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=vrull.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=vrull.eu Received: by mail-ed1-x52e.google.com with SMTP id x2so17365244edd.2 for ; Mon, 07 Nov 2022 04:46:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull.eu; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=hhAtdqkgf5dm2zvpks1FQCXPP5hIxWgiKnMHOEilogI=; b=N6splx3b7E/UkYnGV+x4VuWp4/ysw8hIh7oLX3ZHsjDAwk8fDzUk9+HZDM1s2COUY5 3+0/ODRHva6/o6M8yMJ/4yi07OppBtMNk/YyhSeJFsDK2CBAPsLf2EFx5XdaAWL3lWKK eajlMdMl2Ki+I6QeWA4/KbrdacpJAqDbrvj5P+KWZtr44PJ8ZP0sCfLDGngwWxGNmfvW JWCOrr5xINMGIt1ZNkKixQ6IGDbQooYNuD97C5cHtLsDzYPCAWmF6TBsoxFOCveOg1vV h5H0kM2ghzGjtBIWJwvdkp1h92aDsVQKmEDXUZNzCTgePGQ3X1Hv4LSqWHJ56FBg4ZQz ZVUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hhAtdqkgf5dm2zvpks1FQCXPP5hIxWgiKnMHOEilogI=; b=hT41AEfwWXbQpqr7oDc/g8XDr/Tl0i9mUrCyDGNRTSNKKpsBR5bmQfJwvMLg5XfVTg Ee9MN0kvLW6dpJiLWKKvulDApz0FDrgRhXdpgmevepq+4cnaRIOaiIquG8SXfBES2GYG 17k4BgL6U96ZcTsSpS7Z9YlUSTQhMAr+gAxsxOc71zvYkF+BAvgw1OL8sLZ48v5jjt1a ZwGrYEFowbwn/ioJvyXlSrZv5SX1zsMXBnZDGcSZEai2ilg8I8DRqCDjiOYbCntUBxAu 7BPytzZdkUHImf4ccnNWJS1Ba8VFXzQ7xo8CoJtvcfK4OpbinaDkQTgK6zBQccrKs78f U4tg== X-Gm-Message-State: ACrzQf2aNgQwtg6xa448klrV6wXgj7XXP3sm/wivmOs1rNKXA3SJXkYL 6A4t/VD4QpcbnKTuKt5TpOZd2WBG1bYLGYur X-Google-Smtp-Source: AMsMyM52ldjpru8MrR9rD8xCwGekyDTAhFG5D1zByzgG+6XpueEgXRRqQWEoFRYa3WKkuoFHmjGRRg== X-Received: by 2002:a05:6402:1e89:b0:461:a8b5:402a with SMTP id f9-20020a0564021e8900b00461a8b5402amr51453128edf.336.1667825183213; Mon, 07 Nov 2022 04:46:23 -0800 (PST) Received: from beast.fritz.box (62-178-148-172.cable.dynamic.surfer.at. [62.178.148.172]) by smtp.gmail.com with ESMTPSA id k4-20020a1709063e0400b0077077c62cadsm3373620eji.31.2022.11.07.04.46.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Nov 2022 04:46:22 -0800 (PST) From: Christoph Muellner To: binutils@sourceware.org, Nelson Chu , Andrew Waterman , Palmer Dabbelt , Jim Wilson , Philipp Tomsich , Cooper Qu , Lifang Xia , Yunhai Shang , Zhiwei Liu Cc: =?UTF-8?q?Christoph=20M=C3=BCllner?= Subject: [PATCH] RISC-V: xtheadfmemidx: Use fp register in mnemonics Date: Mon, 7 Nov 2022 13:46:20 +0100 Message-Id: <20221107124620.1271470-1-christoph.muellner@vrull.eu> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_MANYTO,RCVD_IN_DNSWL_NONE,SCC_10_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_HELO_NONE,SPF_PASS,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 List-Id: From: Christoph Müllner Although the encoding for scalar and fp registers is identical, we should follow common pratice and use fp register names when referencing fp registers. The xtheadmemidx extension consists of indirect load/store instructions which all load to or store from fp registers. Let's use fp register names in this case and adjust the test cases accordingly. Signed-off-by: Christoph Müllner --- .../gas/riscv/x-thead-fmemidx-fail.l | 1 + .../gas/riscv/x-thead-fmemidx-fail.s | 33 ++++++++++--------- gas/testsuite/gas/riscv/x-thead-fmemidx.d | 32 +++++++++--------- gas/testsuite/gas/riscv/x-thead-fmemidx.s | 32 +++++++++--------- opcodes/riscv-opc.c | 16 ++++----- 5 files changed, 58 insertions(+), 56 deletions(-) diff --git a/gas/testsuite/gas/riscv/x-thead-fmemidx-fail.l b/gas/testsuite/gas/riscv/x-thead-fmemidx-fail.l index ef28f047b41..33cddac856e 100644 --- a/gas/testsuite/gas/riscv/x-thead-fmemidx-fail.l +++ b/gas/testsuite/gas/riscv/x-thead-fmemidx-fail.l @@ -1,4 +1,5 @@ .*: Assembler messages: +.*: Error: illegal operands `th.flrd a0,a1,a2,0' .*: Error: improper immediate value \(18446744073709551615\) .*: Error: improper immediate value \(4\) .*: Error: improper immediate value \(18446744073709551615\) diff --git a/gas/testsuite/gas/riscv/x-thead-fmemidx-fail.s b/gas/testsuite/gas/riscv/x-thead-fmemidx-fail.s index e486c6a1423..8c6ee0cda4c 100644 --- a/gas/testsuite/gas/riscv/x-thead-fmemidx-fail.s +++ b/gas/testsuite/gas/riscv/x-thead-fmemidx-fail.s @@ -1,17 +1,18 @@ target: - th.flrd a0, a1, a2, -1 - th.flrd a0, a1, a2, 4 - th.flrw a0, a1, a2, -1 - th.flrw a0, a1, a2, 4 - th.flurd a0, a1, a2, -1 - th.flurd a0, a1, a2, 4 - th.flurw a0, a1, a2, -1 - th.flurw a0, a1, a2, 4 - th.fsrd a0, a1, a2, -1 - th.fsrd a0, a1, a2, 4 - th.fsrw a0, a1, a2, -1 - th.fsrw a0, a1, a2, 4 - th.fsurd a0, a1, a2, -1 - th.fsurd a0, a1, a2, 4 - th.fsurw a0, a1, a2, -1 - th.fsurw a0, a1, a2, 4 + th.flrd a0, a1, a2, 0 + th.flrd fa0, a1, a2, -1 + th.flrd fa0, a1, a2, 4 + th.flrw fa0, a1, a2, -1 + th.flrw fa0, a1, a2, 4 + th.flurd fa0, a1, a2, -1 + th.flurd fa0, a1, a2, 4 + th.flurw fa0, a1, a2, -1 + th.flurw fa0, a1, a2, 4 + th.fsrd fa0, a1, a2, -1 + th.fsrd fa0, a1, a2, 4 + th.fsrw fa0, a1, a2, -1 + th.fsrw fa0, a1, a2, 4 + th.fsurd fa0, a1, a2, -1 + th.fsurd fa0, a1, a2, 4 + th.fsurw fa0, a1, a2, -1 + th.fsurw fa0, a1, a2, 4 diff --git a/gas/testsuite/gas/riscv/x-thead-fmemidx.d b/gas/testsuite/gas/riscv/x-thead-fmemidx.d index dfa477c8fc4..e8d53a33951 100644 --- a/gas/testsuite/gas/riscv/x-thead-fmemidx.d +++ b/gas/testsuite/gas/riscv/x-thead-fmemidx.d @@ -7,19 +7,19 @@ Disassembly of section .text: 0+000 : -[ ]+[0-9a-f]+:[ ]+60c5e50b[ ]+th.flrd[ ]+a0,a1,a2,0 -[ ]+[0-9a-f]+:[ ]+66c5e50b[ ]+th.flrd[ ]+a0,a1,a2,3 -[ ]+[0-9a-f]+:[ ]+40c5e50b[ ]+th.flrw[ ]+a0,a1,a2,0 -[ ]+[0-9a-f]+:[ ]+46c5e50b[ ]+th.flrw[ ]+a0,a1,a2,3 -[ ]+[0-9a-f]+:[ ]+70c5e50b[ ]+th.flurd[ ]+a0,a1,a2,0 -[ ]+[0-9a-f]+:[ ]+76c5e50b[ ]+th.flurd[ ]+a0,a1,a2,3 -[ ]+[0-9a-f]+:[ ]+50c5e50b[ ]+th.flurw[ ]+a0,a1,a2,0 -[ ]+[0-9a-f]+:[ ]+56c5e50b[ ]+th.flurw[ ]+a0,a1,a2,3 -[ ]+[0-9a-f]+:[ ]+60c5f50b[ ]+th.fsrd[ ]+a0,a1,a2,0 -[ ]+[0-9a-f]+:[ ]+66c5f50b[ ]+th.fsrd[ ]+a0,a1,a2,3 -[ ]+[0-9a-f]+:[ ]+40c5f50b[ ]+th.fsrw[ ]+a0,a1,a2,0 -[ ]+[0-9a-f]+:[ ]+46c5f50b[ ]+th.fsrw[ ]+a0,a1,a2,3 -[ ]+[0-9a-f]+:[ ]+70c5f50b[ ]+th.fsurd[ ]+a0,a1,a2,0 -[ ]+[0-9a-f]+:[ ]+76c5f50b[ ]+th.fsurd[ ]+a0,a1,a2,3 -[ ]+[0-9a-f]+:[ ]+50c5f50b[ ]+th.fsurw[ ]+a0,a1,a2,0 -[ ]+[0-9a-f]+:[ ]+56c5f50b[ ]+th.fsurw[ ]+a0,a1,a2,3 +[ ]+[0-9a-f]+:[ ]+60c5e50b[ ]+th.flrd[ ]+fa0,a1,a2,0 +[ ]+[0-9a-f]+:[ ]+66c5e50b[ ]+th.flrd[ ]+fa0,a1,a2,3 +[ ]+[0-9a-f]+:[ ]+40c5e50b[ ]+th.flrw[ ]+fa0,a1,a2,0 +[ ]+[0-9a-f]+:[ ]+46c5e50b[ ]+th.flrw[ ]+fa0,a1,a2,3 +[ ]+[0-9a-f]+:[ ]+70c5e50b[ ]+th.flurd[ ]+fa0,a1,a2,0 +[ ]+[0-9a-f]+:[ ]+76c5e50b[ ]+th.flurd[ ]+fa0,a1,a2,3 +[ ]+[0-9a-f]+:[ ]+50c5e50b[ ]+th.flurw[ ]+fa0,a1,a2,0 +[ ]+[0-9a-f]+:[ ]+56c5e50b[ ]+th.flurw[ ]+fa0,a1,a2,3 +[ ]+[0-9a-f]+:[ ]+60c5f50b[ ]+th.fsrd[ ]+fa0,a1,a2,0 +[ ]+[0-9a-f]+:[ ]+66c5f50b[ ]+th.fsrd[ ]+fa0,a1,a2,3 +[ ]+[0-9a-f]+:[ ]+40c5f50b[ ]+th.fsrw[ ]+fa0,a1,a2,0 +[ ]+[0-9a-f]+:[ ]+46c5f50b[ ]+th.fsrw[ ]+fa0,a1,a2,3 +[ ]+[0-9a-f]+:[ ]+70c5f50b[ ]+th.fsurd[ ]+fa0,a1,a2,0 +[ ]+[0-9a-f]+:[ ]+76c5f50b[ ]+th.fsurd[ ]+fa0,a1,a2,3 +[ ]+[0-9a-f]+:[ ]+50c5f50b[ ]+th.fsurw[ ]+fa0,a1,a2,0 +[ ]+[0-9a-f]+:[ ]+56c5f50b[ ]+th.fsurw[ ]+fa0,a1,a2,3 diff --git a/gas/testsuite/gas/riscv/x-thead-fmemidx.s b/gas/testsuite/gas/riscv/x-thead-fmemidx.s index 0d70bb7e799..f26bdc332c8 100644 --- a/gas/testsuite/gas/riscv/x-thead-fmemidx.s +++ b/gas/testsuite/gas/riscv/x-thead-fmemidx.s @@ -1,17 +1,17 @@ target: - th.flrd a0, a1, a2, 0 - th.flrd a0, a1, a2, 3 - th.flrw a0, a1, a2, 0 - th.flrw a0, a1, a2, 3 - th.flurd a0, a1, a2, 0 - th.flurd a0, a1, a2, 3 - th.flurw a0, a1, a2, 0 - th.flurw a0, a1, a2, 3 - th.fsrd a0, a1, a2, 0 - th.fsrd a0, a1, a2, 3 - th.fsrw a0, a1, a2, 0 - th.fsrw a0, a1, a2, 3 - th.fsurd a0, a1, a2, 0 - th.fsurd a0, a1, a2, 3 - th.fsurw a0, a1, a2, 0 - th.fsurw a0, a1, a2, 3 + th.flrd fa0, a1, a2, 0 + th.flrd fa0, a1, a2, 3 + th.flrw fa0, a1, a2, 0 + th.flrw fa0, a1, a2, 3 + th.flurd fa0, a1, a2, 0 + th.flurd fa0, a1, a2, 3 + th.flurw fa0, a1, a2, 0 + th.flurw fa0, a1, a2, 3 + th.fsrd fa0, a1, a2, 0 + th.fsrd fa0, a1, a2, 3 + th.fsrw fa0, a1, a2, 0 + th.fsrw fa0, a1, a2, 3 + th.fsurd fa0, a1, a2, 0 + th.fsurd fa0, a1, a2, 3 + th.fsurw fa0, a1, a2, 0 + th.fsurw fa0, a1, a2, 3 diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c index 4029c1881b8..599486fdf03 100644 --- a/opcodes/riscv-opc.c +++ b/opcodes/riscv-opc.c @@ -1922,14 +1922,14 @@ const struct riscv_opcode riscv_opcodes[] = {"th.mvnez", 0, INSN_CLASS_XTHEADCONDMOV, "d,s,t", MATCH_TH_MVNEZ, MASK_TH_MVNEZ, match_opcode, 0}, /* Vendor-specific (T-Head) XTheadFMemIdx instructions. */ -{"th.flrd", 0, INSN_CLASS_XTHEADFMEMIDX, "d,s,t,Xu2@25", MATCH_TH_FLRD, MASK_TH_FLRD, match_opcode, 0}, -{"th.flrw", 0, INSN_CLASS_XTHEADFMEMIDX, "d,s,t,Xu2@25", MATCH_TH_FLRW, MASK_TH_FLRW, match_opcode, 0}, -{"th.flurd", 0, INSN_CLASS_XTHEADFMEMIDX, "d,s,t,Xu2@25", MATCH_TH_FLURD, MASK_TH_FLURD, match_opcode, 0}, -{"th.flurw", 0, INSN_CLASS_XTHEADFMEMIDX, "d,s,t,Xu2@25", MATCH_TH_FLURW, MASK_TH_FLURW, match_opcode, 0}, -{"th.fsrd", 0, INSN_CLASS_XTHEADFMEMIDX, "d,s,t,Xu2@25", MATCH_TH_FSRD, MASK_TH_FSRD, match_opcode, 0}, -{"th.fsrw", 0, INSN_CLASS_XTHEADFMEMIDX, "d,s,t,Xu2@25", MATCH_TH_FSRW, MASK_TH_FSRW, match_opcode, 0}, -{"th.fsurd", 0, INSN_CLASS_XTHEADFMEMIDX, "d,s,t,Xu2@25", MATCH_TH_FSURD, MASK_TH_FSURD, match_opcode, 0}, -{"th.fsurw", 0, INSN_CLASS_XTHEADFMEMIDX, "d,s,t,Xu2@25", MATCH_TH_FSURW, MASK_TH_FSURW, match_opcode, 0}, +{"th.flrd", 0, INSN_CLASS_XTHEADFMEMIDX, "D,s,t,Xu2@25", MATCH_TH_FLRD, MASK_TH_FLRD, match_opcode, 0}, +{"th.flrw", 0, INSN_CLASS_XTHEADFMEMIDX, "D,s,t,Xu2@25", MATCH_TH_FLRW, MASK_TH_FLRW, match_opcode, 0}, +{"th.flurd", 0, INSN_CLASS_XTHEADFMEMIDX, "D,s,t,Xu2@25", MATCH_TH_FLURD, MASK_TH_FLURD, match_opcode, 0}, +{"th.flurw", 0, INSN_CLASS_XTHEADFMEMIDX, "D,s,t,Xu2@25", MATCH_TH_FLURW, MASK_TH_FLURW, match_opcode, 0}, +{"th.fsrd", 0, INSN_CLASS_XTHEADFMEMIDX, "D,s,t,Xu2@25", MATCH_TH_FSRD, MASK_TH_FSRD, match_opcode, 0}, +{"th.fsrw", 0, INSN_CLASS_XTHEADFMEMIDX, "D,s,t,Xu2@25", MATCH_TH_FSRW, MASK_TH_FSRW, match_opcode, 0}, +{"th.fsurd", 0, INSN_CLASS_XTHEADFMEMIDX, "D,s,t,Xu2@25", MATCH_TH_FSURD, MASK_TH_FSURD, match_opcode, 0}, +{"th.fsurw", 0, INSN_CLASS_XTHEADFMEMIDX, "D,s,t,Xu2@25", MATCH_TH_FSURW, MASK_TH_FSURW, match_opcode, 0}, /* Vendor-specific (T-Head) XTheadMemIdx instructions. */ {"th.ldia", 64, INSN_CLASS_XTHEADMEMIDX, "d,(s),Xs5@20,Xu2@25", MATCH_TH_LDIA, MASK_TH_LDIA, match_th_load_inc, 0}, -- 2.38.1