Skip to content

rv64 inline assembly support #24308

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

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Conversation

raw-bin
Copy link
Contributor

@raw-bin raw-bin commented Apr 23, 2025

Please consider this PR that:

  1. Adds support for parsing rv64 inline assembly

  2. Adds a local test runner specifiable via the following comments in the test file (for example):
    // vtest vflags: -cc riscv64-linux-gnu-gcc -gc none
    // vtest runner: qemu-riscv64
    // vtest runner_flags: -L /usr/riscv64-linux-gnu

    The runner invocation in the above example assumes that the qemu-user package is installed on the host system.

  3. Adds support for parsing rv64 inline assembly using the following addressing modes:

    • displacement from base register (eg: sd a0, 0(a1))
    • composite displacement from base register (eg: sd a0, (8 * 1)(a1))
  4. Adds a test for those new addressing modes

Note that I have run the following successfully:

  • make check
  • v vlib/v/gen/c/coutput_test.v

Copy link

Connected to Huly®: V_0.6-22684

@medvednikov
Copy link
Member

FAIL [ 530/2359] C: 1298.4 ms, R: 58504.996 ms vlib/v/gen/c/coutput_test.v

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

Successfully merging this pull request may close these issues.

2 participants