public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v7 0/7] LoongArch: disassembler improvements & deprecate old register aliases
@ 2023-06-29 16:34 WANG Xuerui
  2023-06-29 16:34 ` [PATCH v7 1/7] LoongArch: support disassembling certain pseudo-instructions WANG Xuerui
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: WANG Xuerui @ 2023-06-29 16:34 UTC (permalink / raw)
  To: binutils
  Cc: Chenghua Xu, Zhensong Liu, Qinggang Meng, Lulu Cheng,
	Fangrui Song, Xi Ruoyao, 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 v6:

- Fixed more test failures

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    |  18 +++
 .../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 +--
 gas/testsuite/gas/loongarch/vector.d          | 140 +++++++++---------
 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 ++++++----
 31 files changed, 495 insertions(+), 413 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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-06-29 16:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-29 16:34 [PATCH v7 0/7] LoongArch: disassembler improvements & deprecate old register aliases WANG Xuerui
2023-06-29 16:34 ` [PATCH v7 1/7] LoongArch: support disassembling certain pseudo-instructions WANG Xuerui
2023-06-29 16:34 ` [PATCH v7 2/7] opcodes/loongarch: remove unused code WANG Xuerui
2023-06-29 16:35 ` [PATCH v7 3/7] opcodes/loongarch: implement style support in the disassembler WANG Xuerui
2023-06-29 16:35 ` [PATCH v7 4/7] opcodes/loongarch: style disassembled address offsets as such WANG Xuerui
2023-06-29 16:35 ` [PATCH v7 5/7] opcodes/loongarch: do not print hex notation for signed immediates WANG Xuerui
2023-06-29 16:35 ` [PATCH v7 6/7] opcodes/loongarch: print unrecognized insn words with the .word directive WANG Xuerui
2023-06-29 16:35 ` [PATCH v7 7/7] LoongArch: Deprecate $v[01], $fv[01] and $x names per spec WANG Xuerui

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).