-
Notifications
You must be signed in to change notification settings - Fork 812
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
vsetvli yields illegal instruction exception #381
Comments
I think the issue is that |
I've rebuilt pk with that commit and now an assertion is hit in pk:
If I disable the F extension in Spike the
|
So I've debugged this a bit and I noticed that the MSTATUS_VS bits get reset after the pk sets them in riscv-software-src/riscv-pk@77a5df5.
My local fix for this Spike issue:
With that the example from #358 (named vtest in my comments) executes without illegal instruction exception. However, I still have to use
My local fix for this:
Regarding setting the status - I'm not sure if the flag in the pk Also, I noticed that |
As you can see, the VS feature is nascent and the kinks haven't all been worked out yet. Thanks for pointing out the Spike bug; it's been fixed. I've also adopted your proposed changes to pk. I'll leave the issue open until you confirm everything upstream appears to be working. |
I've just pulled the latest Spike/pk changes and with that I can confirm that everything works as expected. |
Executing a RISC-V program with Vector extension instructions yields a
trap_illegal_instruction
onvsetvli
in Spike.Setup:
What does not work:
Another test program from #358 fails at the same instruction:
Expected behavior:
vsetvli
is executed successfullyCross-Check - What does work: executing a simple hello world program which yields the expected hello world output in the terminal.
The text was updated successfully, but these errors were encountered: