[PATCH 0/3] RISC-V: Add -menable-experimental-extensions and support bitmanip instructions
Nelson Chu
nelson.chu@sifive.com
Tue Dec 15 15:11:02 GMT 2020
Hi Guys,
The -menable-experimental-extensions option was originally discussed
in the following link,
https://sourceware.org/pipermail/binutils/2020-December/114439.html
And we already have riscv bitmanip support in the riscv github,
https://github.com/riscv/riscv-binutils-gdb/tree/riscv-binutils-2.35-rvb
The bitmanip implementations are basically based on the 0.92 spec, but
with the updates from tech-bitmanip mail list. Eventually, these updates
should be merged back to the spec, and we probably need a new 0.93 version
or tag to make these changes stable. However, the series of patches show
how the -menable-experimental-extensions option works, and it is the same
as what LLVM had done. We are still the details of how this will work, so
any suggestion and feedback is welcome.
The tech-bitmanip mail list link,
https://lists.riscv.org/g/tech-bitmanip/topic/summary_of_current_proposals/77924315?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,77924315
And here is the next steps of bitmanip ISA, which are arranged by Ken Dockser,
https://docs.google.com/spreadsheets/d/1toaPZS7L3k__ApHa6QufF36ESNzG9-_NkxSvF4lKuwc/edit#gid=0
BTW, the first patch is little bit difference compared to the
riscv-binutils-2.35-rvb branch. Here are the difference,
* The spec said that (in Table 2.1) - B is all Zb* extensions except Zbr and
Zbt. Therefore, I change the INSN_CLASS_B_OR_ZBR/ZBT to INSN_CLASS_ZBR/ZBT.
* I re-arranged the riscv-opcode table and collect ZB* together, to make the
table cleaner.
* rol[w] are ZBB in the tech-bitmanip, but they are ZBP in the 0.92 draft.
* zext.w is addu.w in the tech-bitmanip, but it is packw before.
However, we really need to update the bitmanip draft spec, according to the
tech-bitmanip mails and the table arranged by Ken Dockser, and also get a
new 0.93 version/tag to make the changes stable.
Thanks
Nelson
Hi Claire and Maxim,
I copy your commit name and mail from github, so if you prefer another ones,
please feel free to let me know. Thank you very much :)
Nelson
More information about the Binutils
mailing list