Skip to content

adding new opode extensions #115

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
vanjoe opened this issue Jan 15, 2016 · 2 comments
Closed

adding new opode extensions #115

vanjoe opened this issue Jan 15, 2016 · 2 comments

Comments

@vanjoe
Copy link

vanjoe commented Jan 15, 2016

at the bottom of riscv-opc.c there is comment

/* Removed const from the following to allow for dynamic extensions to the
   built-in instruction set.  */
struct riscv_opcode *riscv_opcodes =
  (struct riscv_opcode *) riscv_builtin_opcodes;
int bfd_riscv_num_opcodes = RISCV_NUM_OPCODES;

This seems to indicate that there is a [planned] way to easily add instructions. Is there currently a clean way of doing this?
I've currently hacked the riscv_buildin_opcodes data structure to add my extensions, but I would love to know if there is a better way of doing this.

@palmer-dabbelt
Copy link
Contributor

There's no way to do this. I'm closing this in favor of riscvarchive/riscv-binutils-gdb#38

@TommyMurphyTM1234
Copy link
Collaborator

This is a list of all issues logged that I can find that relate to adding new instructions to the toolchain:

At this stage in the evolution of RISC-V,the majority of instruction addition will be done under the auspices of the relevant groups working on standardising, prototyping, and implementing/enhancing RISC-V extensions and their corresponding instructions. As such, there should be less of a demand for others to do so.

However, where somebody still wants to implement a non stadard custom extension/instruction here are some useful resources:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants