On a disassembly line, the raw bytes are relatively less important.
--no-show-raw-insn can hide them but the option is not the default.
Delete spaces to leave columns to most useful stuff (for example, I plan
to implement visual arrows similar to --visual-jumps added in GNU
objdump 2.34, but I'd take more inspirations from radare2's pd command).
Also move the instruction left by 8 columns. This is especially helpful
for targets with x86, which has potentially long instructions.
Before:
2015c4: ff 15 be 12 00 00 callq *4798(%rip) # 202888 <crtstuff.c+0x202888> 2015ca: f4 hlt 2015cb: 0f 1f 44 00 00 nopl (%rax,%rax)
After (8 columns narrower):
2015c4: ff15be120000 callq *4798(%rip) # 202888 <crtstuff.c+0x202888> 2015ca: f4 hlt 2015cb: 0f1f440000 nopl (%rax,%rax)
Spaces are not deleted for non-x86 because otherwise the patch would
have to touch ~700 more tests. I may update them based on feedback.
This diff just includes some representative test changes. 40+ test
changes are omitted.
AArch64 instructions are encoded in little-endian and GNU objdump prints
04030201 for byte sequence 01 02 03 04. Personally I find the
hexpair order annoying because I prefer the way bytes are presented in a
hex editor.
Isn't this just llvm::dumpBytes with an optional 3rd parameter to suppress the First if/else test? I guess it's only a small amount of copy-pasted code...