-
Notifications
You must be signed in to change notification settings - Fork 2
riscv_dis_nonalias
Tsukasa OI edited this page Oct 3, 2022
·
3 revisions
- Status: WITHDRAWN
(Jan worked on a similar patch and that is upstreamed) - Based on
- Branch:
riscv-dis-nonalias - Tracking PR: #16 (view Pull Request and Diff)
- Mailing List:
- PATCH v1 (2022-07-09)
- Upcoming (Pending): Disassembler: Support special (non-standard) encodings
It also touches the definition offence.tso.
Certain instructions are defined as aliases (with INSN_ALIAS) but some of them have no "parent" instructions (without INSN_ALIAS).
As a result, if the disassembler has given an option of no-aliases, they will be printed as .4byte meaning not recognized.
With following assembler file with -march=rv32i_zbkb,
_start:
zip a0, a1
unzip a2, a3
The output with objdump -d is like this:
80000028 <_start>:
80000028: 08f59513 zip a0,a1
8000002c: 08f6d613 unzip a2,a3
However, output with objdump -d -M no-aliases looks like this:
80000028 <_start>:
80000028: 08f59513 .4byte 0x8f59513
8000002c: 08f6d613 .4byte 0x8f6d613
-
zip(RV32_Zbkb) -
unzip(RV32_Zbkb) -
fence.tso(RV{32,64}I)
Note that zip and unzip fix is based on my previous patchset.