Skip to content
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

Add Paired Single Move Tests #56

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Geotale
Copy link

@Geotale Geotale commented Sep 10, 2024

Adds a new file for common float tests -- This will likely be used more in the future as well
Modifies two other test files which now use functions in the CommonFloat file
The location of frsqrte_expected might change because it's not exactly common? ^^;
Adds software implementation of mantissa truncation and rounding given the expected rounding mode
Both of these are for tests for float move instructions
These instructions include:
ps_merge, ps_mr, ps_neg, ps_abs, ps_nabs
ps_rsqrte is included to check for a similar quirk (it returns an f64)
Marked as a draft until I or someone else can test on hardware (so like. a few hours if I can get it working)

Adds a new file for common float tests -- This will likely be used more in the future as well
Modifies two other tests which use thing now use functions in the CommonFloat file (the location of frsqrte_expected very well may change)
Adds software implementation of mantissa truncation and rounding given the expected rounding mode
Both of these are for tests for float move instructions
These instructions include ps_merge, ps_mr, ps_neg, ps_abs, ps_nabs, and ps_rsqrte is included to check for a similar quirk
@JosJuice
Copy link
Member

Your CommonFloat.h file is rather similar to Dolphin's Common/FloatUtils.h. I think it would be better to name the file FloatUtils.h, and to follow the approach of Dolphin's Common/FloatUtils.h where relevant (e.g. constexpr for constants instead of enums).

Will review the new hwtest in more detail once you've moved this out of draft state.

Adds instructions I initially forgot
- ps_sel, ps_sum0, ps_sum1, ps_res
Adds more test cases
Adds isync
Corrects *everything* to sync on hardware
@Geotale
Copy link
Author

Geotale commented Sep 23, 2024

I still haven't been able to get wiiload to work, but on Dolphin at least the number of failed tests is equivalent regardless of the version I tested with, so it should work?
I should also probably recheck fres tests since that was largely modified
I'm sorry for the kinda large changes, I rewrote the function using what my own implementation did then fixed from there because I didn't really know what to do with Dolphin's ^^;
Either way, this should hopefully be enough for an open review for more fixes :D

@Geotale Geotale marked this pull request as ready for review September 23, 2024 16:14
`fres` is reimplemented in an unoptimized way but it handles all edge cases
The specific magic numbers were binary searched on hardware
Someday NI maybe should be an option with the normal fres tests and not only ps_res
@Pokechu22
Copy link
Contributor

I still haven't been able to get wiiload to work

In my experience, wiiload over wi-fi can sometimes be unreliable (but I think this does depend on your access point hardware). If you use a wired ethernet/USB connection (for the Wii, though your PC can be wireless still) it's much more stable.

but on Dolphin at least the number of failed tests is equivalent regardless of the version I tested with, so it should work?

Are you checking different versions of hwtests, or different versions of Dolphin? It'd be useful to make that some of the tests fail before your PR (dolphin-emu/dolphin#13059) and pass with the PR.

@Geotale
Copy link
Author

Geotale commented Sep 24, 2024

I'm sorry I forgot to update on that, I did get it resolved ^^ It was 5g vs 2.4g wifi!! When connecting to the same network it worked """perfectly""" (sometimes it just got stuck for some reason and I'd have to restart my entire Wii U via unplug and plug back in -> VWii, but this is apparently a common occurrence for some reason), which is what I used to verify all tests worked in the end :>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants