From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailbox.box.xen0n.name (mail.xen0n.name [115.28.160.31]) by sourceware.org (Postfix) with ESMTPS id 4A5D03858D37 for ; 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 To: binutils@sourceware.org Cc: Chenghua Xu , Zhensong Liu , Qinggang Meng , Lulu Cheng , Fangrui Song , Xi Ruoyao , WANG Xuerui 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 List-Id: From: WANG Xuerui 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 -- 2.40.0