From patchwork Thu Jun 29 06:10:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: WANG Xuerui X-Patchwork-Id: 11418 Return-Path: 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 (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 ; 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 ; 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 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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?1770016258312020450?= X-GMAIL-MSGID: =?utf-8?q?1770016258312020450?= 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