Message ID | 20230629061029.29773-1-i.swmail@xen0n.name |
---|---|
Headers |
Return-Path: <binutils-bounces+ouuuleilei=gmail.com@sourceware.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp9426048vqr; Wed, 28 Jun 2023 23:10:45 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7hnJgzmx3d+ZQM4x8LW6Vb+C93M+rcizaFHP7+42VwJQD6ZDfEFX3oGYDyMY7S5Ou7k8iz X-Received: by 2002:a17:906:4793:b0:96a:861:a2ac with SMTP id cw19-20020a170906479300b0096a0861a2acmr30372068ejc.0.1688019045279; Wed, 28 Jun 2023 23:10:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688019045; cv=none; d=google.com; s=arc-20160816; b=RgwtXlr//hKT+xIcs5kocvLg7878c4aPLhtjDmqCX7B1N3//6pd7V1x4d8E9burE9Q kHMfa7LCaYBxFwDo+HQICn4u6cyYoOxPvkVFMNuruoWPaJEGtqJuDS+EJC2P6HPo/+Z/ 8xTFmqa1dIYXMLUaNRmTuoAo6b5G8Ud7o/XbL1MUq5iHOlm0e+wQv0KO77Y69pCjC/s+ pjOqG89kdN3TrZWvLIxcKDyR2MvfyGfxlUrFG3UvVv1lwxNiz3sZDslz8MrEKSYtLIvR d09858zDyWk591ojUzIGmHOljGXrim/EKFS2rR1rvy6hkXnr5G1d2v2yX5smWRqtuYnH UWfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature :dmarc-filter:delivered-to; bh=9B9mT547yklOYJfTyf75OLFUzBlE/Kk2h4Qx9prZufE=; fh=F52lMKP/ag7PTpjpGsg79bnedhkoffS1BBUct4g/1x0=; b=qN28UBnNzBe3v6UZPJKczSMnhYZJ9y6oaDgikS2DixWmkQ0AGgjtPIbVa1mgsuREs7 AutTV9L9lNwpVWszbOgVmd2sALhzJlLSXOD4xzmz7crjK8f7Kn4i6AmyUJHcRcNdIV4A e4M7smyIBmPljeo0rQhq25Nt7vY9fcx8R/FoZmRhnddZ9G9UpKvko60exqVXUeYnxjhK /aoaPQdFGaOYVb3fxRiV2BEdXJK1D3L6anHISwOOP1qh3ZFcx306+uQPX2o7fpSmAKvw fQ73mNl9N4YFtcqPz0IvEjM8Ao+KSt/D2wO77NxDolH7xn2C9ArWM1HkC4Bbsl6n7cBA Orkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@xen0n.name header.s=mail header.b=qpmSQ2N+; 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" Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id t22-20020a170906269600b00988ccf32c61si6435948ejc.40.2023.06.28.23.10.45 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jun 2023 23:10:45 -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=@xen0n.name header.s=mail header.b=qpmSQ2N+; 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" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B29E3385842B for <ouuuleilei@gmail.com>; Thu, 29 Jun 2023 06:10:43 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mailbox.box.xen0n.name (mail.xen0n.name [115.28.160.31]) by sourceware.org (Postfix) with ESMTPS id 4A5D03858D37 for <binutils@sourceware.org>; Thu, 29 Jun 2023 06:10:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4A5D03858D37 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=xen0n.name Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=xen0n.name DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xen0n.name; s=mail; t=1688019031; bh=5vRco5+/sVKNKkiiLhPNRDO+gaIZRuPndr9ul7T7JpQ=; h=From:To:Cc:Subject:Date:From; b=qpmSQ2N+LC6Zq7fRmZSSrGqZBczSEkzfIyLOxjCVMEnoiflwtcIItCzkvg2vR0vTl HUtmkJMZ5UyJlPnptGvj0lEugG2kClmb2WgsVy2/Kftq6SKLGKVVW2QBoQqj4sXos2 I9py0rQi592PKdcysBooVtGBdMgLGBlareoV3ChA= Received: from ld50.lan (unknown [101.88.25.181]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mailbox.box.xen0n.name (Postfix) with ESMTPSA id 5AF55600BD; Thu, 29 Jun 2023 14:10:31 +0800 (CST) From: WANG Xuerui <i.swmail@xen0n.name> To: binutils@sourceware.org Cc: Chenghua Xu <xuchenghua@loongson.cn>, Zhensong Liu <liuzhensong@loongson.cn>, Qinggang Meng <mengqinggang@loongson.cn>, Lulu Cheng <chenglulu@loongson.cn>, Fangrui Song <maskray@google.com>, Xi Ruoyao <xry111@xry111.site>, WANG Xuerui <git@xen0n.name> Subject: [PATCH v6 0/7] LoongArch: disassembler improvements & deprecate old register aliases Date: Thu, 29 Jun 2023 14:10:22 +0800 Message-Id: <20230629061029.29773-1-i.swmail@xen0n.name> X-Mailer: git-send-email 2.40.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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 <binutils.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/binutils>, <mailto:binutils-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/binutils/> List-Post: <mailto:binutils@sourceware.org> List-Help: <mailto:binutils-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/binutils>, <mailto:binutils-request@sourceware.org?subject=subscribe> Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" <binutils-bounces+ouuuleilei=gmail.com@sourceware.org> X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770016258312020450?= X-GMAIL-MSGID: =?utf-8?q?1770016258312020450?= |
Series |
LoongArch: disassembler improvements & deprecate old register aliases
|
|
Message
WANG Xuerui
June 29, 2023, 6:10 a.m. UTC
From: WANG Xuerui <git@xen0n.name>
Hi,
This series implements colored output for LoongArch disassembly, and
some minor tweaks to the output so there is less clutter. While at it,
also deprecate the aliases $v0, $v1, $fv0, $fv1 and $x, so users don't
find it confusing in an era when $vrNN and $xrNN (LSX/LASX registers)
are also available. The patch is included last because its test case
would need tweaking if the disassembler changes first get merged anyway.
The 4th revision was sent back in February but at that time the Loongson
maintainers were busy with linker relaxation support; now that the work
was done let's try upstreaming this series again, hopefully for
inclusion in binutils 2.41.
Changes from v5:
- Rebased
- Added DCO (Signed-off-by) tags and changelog entries (I hate them but
it seems LoongArch patches usually carry some, so I went for
consistency)
- Absorbed the https://sourceware.org/pipermail/binutils/2023-June/128073.html
patch
- Minor tweaks to the commit messages
Changes from v4:
- Rebased (mainly test case changes)
Changes from v3:
- Fixed ld test cases (make check-gas and make check-ld both pass on
x86_64 and loongarch64)
- Branch target address is now correctly printed in comment style, plus
code simplification as suggested
Changes from v2:
- Fixed test cases
- Added the fixed "LoongArch: support disassembling certain pseudo-
instructions" patch into this series
- Fixed ".insn" in the last patch to say ".word" instead (MIPS muscle
memory strikes back hard)
- Fixed some commit messages
- Added mengqinggang to Cc list
WANG Xuerui (7):
LoongArch: support disassembling certain pseudo-instructions
opcodes/loongarch: remove unused code
opcodes/loongarch: implement style support in the disassembler
opcodes/loongarch: style disassembled address offsets as such
opcodes/loongarch: do not print hex notation for signed immediates
opcodes/loongarch: print unrecognized insn words with the .word
directive
LoongArch: Deprecate $v[01], $fv[01] and $x names per spec
gas/config/tc-loongarch.c | 45 ++++++-
gas/testsuite/gas/loongarch/64_pcrel.d | 2 +-
.../gas/loongarch/deprecated_reg_aliases.d | 17 +++
.../gas/loongarch/deprecated_reg_aliases.l | 7 ++
.../gas/loongarch/deprecated_reg_aliases.s | 5 +
gas/testsuite/gas/loongarch/imm_ins.d | 84 ++++++-------
gas/testsuite/gas/loongarch/imm_ins_32.d | 54 ++++----
gas/testsuite/gas/loongarch/imm_op.d | 44 +++----
gas/testsuite/gas/loongarch/jmp_op.d | 44 +++----
gas/testsuite/gas/loongarch/li.d | 8 +-
gas/testsuite/gas/loongarch/load_store_op.d | 80 ++++++------
gas/testsuite/gas/loongarch/macro_op.d | 4 +-
gas/testsuite/gas/loongarch/macro_op_32.d | 4 +-
.../gas/loongarch/macro_op_large_abs.d | 12 +-
.../gas/loongarch/macro_op_large_pc.d | 12 +-
gas/testsuite/gas/loongarch/nop.d | 2 +-
gas/testsuite/gas/loongarch/privilege_op.d | 8 +-
gas/testsuite/gas/loongarch/raw-insn.d | 11 ++
gas/testsuite/gas/loongarch/raw-insn.s | 7 ++
gas/testsuite/gas/loongarch/relax_align.d | 6 +-
gas/testsuite/gas/loongarch/reloc.d | 2 +-
gas/testsuite/gas/loongarch/uleb128.d | 22 ++--
include/opcode/loongarch.h | 11 +-
ld/testsuite/ld-loongarch-elf/jmp_op.d | 40 +++---
ld/testsuite/ld-loongarch-elf/macro_op.d | 24 ++--
ld/testsuite/ld-loongarch-elf/macro_op_32.d | 4 +-
ld/testsuite/ld-loongarch-elf/relax-align.dd | 4 +-
opcodes/disassemble.c | 5 +
opcodes/loongarch-dis.c | 118 ++++++++----------
opcodes/loongarch-opc.c | 81 +++++++-----
30 files changed, 424 insertions(+), 343 deletions(-)
create mode 100644 gas/testsuite/gas/loongarch/deprecated_reg_aliases.d
create mode 100644 gas/testsuite/gas/loongarch/deprecated_reg_aliases.l
create mode 100644 gas/testsuite/gas/loongarch/deprecated_reg_aliases.s
create mode 100644 gas/testsuite/gas/loongarch/raw-insn.d
create mode 100644 gas/testsuite/gas/loongarch/raw-insn.s
Comments
Hi, There still some errors when run "make check" configured with --target=loongarch32-unknown-linux-gnu and --target=loongarch64-unknown-linux-gnu. 在 2023/6/29 下午2:10, WANG Xuerui 写道: > From: WANG Xuerui <git@xen0n.name> > > Hi, > > This series implements colored output for LoongArch disassembly, and > some minor tweaks to the output so there is less clutter. While at it, > also deprecate the aliases $v0, $v1, $fv0, $fv1 and $x, so users don't > find it confusing in an era when $vrNN and $xrNN (LSX/LASX registers) > are also available. The patch is included last because its test case > would need tweaking if the disassembler changes first get merged anyway. > > The 4th revision was sent back in February but at that time the Loongson > maintainers were busy with linker relaxation support; now that the work > was done let's try upstreaming this series again, hopefully for > inclusion in binutils 2.41. > > Changes from v5: > > - Rebased > - Added DCO (Signed-off-by) tags and changelog entries (I hate them but > it seems LoongArch patches usually carry some, so I went for > consistency) > - Absorbed the https://sourceware.org/pipermail/binutils/2023-June/128073.html > patch > - Minor tweaks to the commit messages > > Changes from v4: > > - Rebased (mainly test case changes) > > Changes from v3: > > - Fixed ld test cases (make check-gas and make check-ld both pass on > x86_64 and loongarch64) > - Branch target address is now correctly printed in comment style, plus > code simplification as suggested > > Changes from v2: > > - Fixed test cases > - Added the fixed "LoongArch: support disassembling certain pseudo- > instructions" patch into this series > - Fixed ".insn" in the last patch to say ".word" instead (MIPS muscle > memory strikes back hard) > - Fixed some commit messages > - Added mengqinggang to Cc list > > WANG Xuerui (7): > LoongArch: support disassembling certain pseudo-instructions > opcodes/loongarch: remove unused code > opcodes/loongarch: implement style support in the disassembler > opcodes/loongarch: style disassembled address offsets as such > opcodes/loongarch: do not print hex notation for signed immediates > opcodes/loongarch: print unrecognized insn words with the .word > directive > LoongArch: Deprecate $v[01], $fv[01] and $x names per spec > > gas/config/tc-loongarch.c | 45 ++++++- > gas/testsuite/gas/loongarch/64_pcrel.d | 2 +- > .../gas/loongarch/deprecated_reg_aliases.d | 17 +++ > .../gas/loongarch/deprecated_reg_aliases.l | 7 ++ > .../gas/loongarch/deprecated_reg_aliases.s | 5 + > gas/testsuite/gas/loongarch/imm_ins.d | 84 ++++++------- > gas/testsuite/gas/loongarch/imm_ins_32.d | 54 ++++---- > gas/testsuite/gas/loongarch/imm_op.d | 44 +++---- > gas/testsuite/gas/loongarch/jmp_op.d | 44 +++---- > gas/testsuite/gas/loongarch/li.d | 8 +- > gas/testsuite/gas/loongarch/load_store_op.d | 80 ++++++------ > gas/testsuite/gas/loongarch/macro_op.d | 4 +- > gas/testsuite/gas/loongarch/macro_op_32.d | 4 +- > .../gas/loongarch/macro_op_large_abs.d | 12 +- > .../gas/loongarch/macro_op_large_pc.d | 12 +- > gas/testsuite/gas/loongarch/nop.d | 2 +- > gas/testsuite/gas/loongarch/privilege_op.d | 8 +- > gas/testsuite/gas/loongarch/raw-insn.d | 11 ++ > gas/testsuite/gas/loongarch/raw-insn.s | 7 ++ > gas/testsuite/gas/loongarch/relax_align.d | 6 +- > gas/testsuite/gas/loongarch/reloc.d | 2 +- > gas/testsuite/gas/loongarch/uleb128.d | 22 ++-- > include/opcode/loongarch.h | 11 +- > ld/testsuite/ld-loongarch-elf/jmp_op.d | 40 +++--- > ld/testsuite/ld-loongarch-elf/macro_op.d | 24 ++-- > ld/testsuite/ld-loongarch-elf/macro_op_32.d | 4 +- > ld/testsuite/ld-loongarch-elf/relax-align.dd | 4 +- > opcodes/disassemble.c | 5 + > opcodes/loongarch-dis.c | 118 ++++++++---------- > opcodes/loongarch-opc.c | 81 +++++++----- > 30 files changed, 424 insertions(+), 343 deletions(-) > create mode 100644 gas/testsuite/gas/loongarch/deprecated_reg_aliases.d > create mode 100644 gas/testsuite/gas/loongarch/deprecated_reg_aliases.l > create mode 100644 gas/testsuite/gas/loongarch/deprecated_reg_aliases.s > create mode 100644 gas/testsuite/gas/loongarch/raw-insn.d > create mode 100644 gas/testsuite/gas/loongarch/raw-insn.s >