-
Notifications
You must be signed in to change notification settings - Fork 31
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
feat(vfpu): add missing instructions + prefix support (C000[X,Y,Z]
)
#160
feat(vfpu): add missing instructions + prefix support (C000[X,Y,Z]
)
#160
Conversation
@sajattack this would close #63, and we should create a new issue tracking the missing instructions :) |
EDIT: You already had a muncher for this, added prefix support to all arguments that support it :) |
92d3fdb
to
c6557d6
Compare
C000[X,Y,Z]
)
C000[X,Y,Z]
)C000[X,Y,Z]
)
@overdrivenpotato I think this PR is ready for review, if you'd do me the honors β€οΈ |
@SK83RJOSH Lines 61 to 99 in 693423a
https://github.com/overdrivenpotato/rust-psp/blob/master/ci/tests/src/math_test.rs |
BTW you could use the automated test generator at https://github.com/pspdev/vfpu-docs/ to generate your tests. It would need to be modified to output Rust code, but seems doable to me :) |
My plan was to try to write tests for a few instructions of each encoding + each of their flavors; since I think that should be rigorous enough for all codegen but I'll most definitely take a look at that. π Ironically enough, this entire thing has lead me down another rabbit hole atm, which is getting assertions/stack traces working correctly so I can make the user story for testing a bit less cumbersome... though after a week of plugging away at that I may have to accept what we have π |
Alrighty, added tests that should hit most if not all of the code gen, with the exception of
Okey-dokey, I tested the samples + my own project for regressions in gum, only found one so this should be ready to merge. π |
84c912f
to
9712251
Compare
9712251
to
cfeb9ae
Compare
I generated most of the missing instructions using a tool I created and have confirmed the accuracy of the code gen via tests I'm writing for a vector math library. Though it would be wise to do a regression test of this commit against the
rust-psp
samples. πThis table details the supported instructions, including their encoding/parameter formats for convenience. Anything not supported is likely best to be hand-rolled from this point on.
Instruction Support (99/113)