-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[RISC-V][JIT] Fix branch #86482
[RISC-V][JIT] Fix branch #86482
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch Issue Detailsnull
|
@clamp03 I don't understand, |
https://five-embeddev.com/riscv-isa-manual/latest/rv32.html#programmers-model-for-base-integer-isa https://stackoverflow.com/questions/59150608/offset-address-for-jal-and-jalr-instrctions-in-risc-v |
Hm, interesting, so formulas there isn't correct: |
@jakobbotsch Could you please review this patch? I fixed some errors related to branches. |
https://jemu.oscc.cc/JAL is wrong. |
Yep, it's copied from specification. |
Thanks @clamp03. Since you have been contributing for many years now (on the ARM32 port too) we decided to grant you triaging rights so that you set the RISC-V work related area/architecture/OS labels. |
Thank you so much! |
- Pass `./JIT/jit64/opt/cse/HugeField2/HugeField2.sh` test
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I fixed the dest reg in jalr and checked the generated codes on ./JIT/jit64/opt/cse/HugeField2/HugeField2.sh test (It is a single test that converts jal to jalr).
I've checked it on debug build, but it still hang.
But any way this PR could be merged since it fix other tests which print messages infinetly to console:
JIT/jit64/opt/cse/staticFieldExprUnchecked1_d_loop_try/staticFieldExprUnchecked1_d_loop_try.sh
JIT/jit64/opt/cse/staticFieldExprUnchecked1_r_loop/staticFieldExprUnchecked1_r_loop.sh
JIT/jit64/opt/cse/staticFieldExprUnchecked1_r_loop_try/staticFieldExprUnchecked1_r_loop_try.sh
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I fixed the dest reg in jalr and checked the generated codes on ./JIT/jit64/opt/cse/HugeField2/HugeField2.sh test (It is a single test that converts jal to jalr).
I've checked it on debug build, but it still hang.
But any way this PR could be merged since it fix other tests which print messages infinetly to console:
JIT/jit64/opt/cse/staticFieldExprUnchecked1_d_loop_try/staticFieldExprUnchecked1_d_loop_try.sh
JIT/jit64/opt/cse/staticFieldExprUnchecked1_r_loop/staticFieldExprUnchecked1_r_loop.sh
JIT/jit64/opt/cse/staticFieldExprUnchecked1_r_loop_try/staticFieldExprUnchecked1_r_loop_try.sh
@alpencolt Thank you for the test. I tested HugeField2.sh on CHECKED build. It may have another issue in DEBUG build. We can handle HugeField2.sh's hang in the next PR. |
@alpencolt please try the test |
Hm, it still hangs for me |
Are you sure it hangs? Or does it take long time to run? On my test setup this test takes almost 13 minutes to run. |
@jakobbotsch Could you review and merge? Thank you. |
Console.WriteLine("{0}", 0);
.