-
Notifications
You must be signed in to change notification settings - Fork 20
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
Potential Issue with vssseg2e16 Test Case Due to Storage Order Variance #59
Comments
Thanks for pointing this out, I didn't notice this, so I guess a easy fix would be align the stride to VLEN*LMUL, so there is no overlap? |
Thanks for your response! I think this is a solution. For Strided and Indexed Segment Store instruction tests, overlaps should be avoided as much as possible. |
Well, for indexed stores, I think the ordered indexed stores require a specific order. And for the unordered ones, the situation is more complicated as the index is generated randomly... it's a known issue with no easy workaround. |
The issue should be fixed above, please check again, thanks. And for unordered indexed stores, please open a new ticket. |
Thank you for fixing the issue! I’ll check the changes. I’ll also open a new ticket for unordered indexed stores as suggested |
Description:
When testing the vssseg2e16 instruction, the test case fails under specific conditions. Upon further analysis, it was found that when the stride value is set to 2, according to the RISC-V spec description for vssseg2e16,
there exists a scenario where v2[i] can overwrite the value stored by v3[i-1].
the spec does not enforce a sequential storage order for segment stores. From observations:
QEMU and Spike implement a storage order of v2[0] -> v3[0] -> v2[1] -> v3[1].
However, if a testing platform uses an order like v2[0] -> v2[1] -> v3[0] -> v3[1], the test results would deviate from expectations, leading to test failures.
I would like to ask whether this situation falls into the category of insufficiently robust test case construction.
The text was updated successfully, but these errors were encountered: