Skip to content
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

[C-extension] Generate C-extension instructions in macro-assembler #285

Open
penguinwu opened this issue Oct 22, 2020 · 1 comment
Open
Assignees

Comments

@penguinwu
Copy link

penguinwu commented Oct 22, 2020

For each C-extension instruction, such as load/store or arithmetic operations, try to create a corresponding macro-assembler API (if not already existing) that would generate C-extension instructions when target architecture supports C extension and that the registers/offsets of the API satisfy the constraints of C-extension instructions.

For instance, existing TurboAssembler::Add(...) can be extended to generate C.ADDI, C.ADDIW, and C.ADDI16SP.

Please breakdown the support into separate issues so that they can be reviewed thoroughly (as there is not a clear definition which macro-assembler APIs may generate C extension instructions)

  • Stack-pointer-based loads and stores
  • Register-based loads and stores
  • Control transfer
  • Integer Constant-Generation
  • Integer Register-Immediate Operations
  • Nop, break
@penguinwu penguinwu changed the title [C-extension support] Generate C-extension instructions in macro-assembler [C-extension] Generate C-extension instructions in macro-assembler Oct 22, 2020
@lazyparser
Copy link
Collaborator

Hi @derekztu22

Are you still working on this task, or would you mind if I close/reassign?

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

No branches or pull requests

3 participants