-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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 Vector Extension float32_t bugs/unsupported widening instructions #442
Comments
Thanks for the bug report! You've done a great job explaining the issue! |
Hi @OMaghiarIMG, could you re-run this on develop and check if some of the issues have been resolved with the new version? Thank you. |
This issue is being closed because it has been inactive waiting for response for 30 days. If this is still an issue, please open a new issue and reference this one. |
Hi @OMaghiarIMG, I want to try to reproduce this issue on the current develop branch to see if it is still a bug. Would it be possible for you to share precompiled binaries of these programs to save me the trouble? Thanks. |
Hello @ivanaamit, I've attached binaries for the two examples. Tested them with QEMU but it seems the SE script I previously used no longer works - not sure how to enable vector now. |
You can use the following script to reproduce your errors. The problem with your script is that the RISCVMatchedBoard does not have RVV enabled.
I was able to reproduce your error for
If you have fixes for either, please feel free to contribute. Thanks. |
This issue is being closed because it has been inactive waiting for response for 30 days. If this is still an issue, please open a new issue and reference this one. |
Describe the bug
Hello, tried running some RISC-V RVV code using syscall mode and ran into a couple of unsupported instructions/bugs.
Affects version
Develop branch 486916b
gem5 Modifications
No modifications.
To Reproduce
Script used for SE mode using RISCVMatchedBoard:
Using QEMU(v8.0) user-mode side-by-side to show expected results.
1. Some widening instructions cause panic for LMUL=8:
Using a dot product example for vwredsum, normally most widening instructions don't work with LMUL=8 as you can't widen to LMUL=16, but some of them such as vwredsum and vwmacc should work correctly.
2. Some float32 vector instructions return NaNs
Vector sum example using vfredusum, also noted similar behavior vfredmax. The float64 variants seem to work correctly.
Host Operating System
Ubuntu 20.04
Host ISA
X86
Compiler used
gcc 9.4.0 to build gem5
Clang 16 for RVV code
The text was updated successfully, but these errors were encountered: