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

Handle vrot overlap and vscl/vmscl prefixes more accurately #16302

Merged
merged 2 commits into from
Oct 30, 2022

Conversation

unknownbrackets
Copy link
Collaborator

Fixes #13990 (at least the Cloud vs Laguna case), thanks @anr2me for figuring out it was in Int_Vscl.

Also was suspecting vrot for #10650 (because it is behaving differently on Linux), and noticed IR didn't properly consider overlap. This handles it per hardware tests. I'd previously asserted vrot might indicate sine and cosine were calculated together... clearly they aren't.

It's obvious from this that, like matrix instructions, cosine is just a later micro-op (thus, it doesn't get prefixes, uses previous result, etc.) Some tests from @davidgfnet have indicated that matrix overlap also behaves this way (i.e. the way we copy the entire matrix is probably wrong.)

-[Unknown]

Sine ignores overlap, cosine does not.
This makes more sense.  Fixes Dissidia 012 issues.
@unknownbrackets unknownbrackets added the IRInterpreter Occurs with IR Interpreter but not with another CPU backend. label Oct 30, 2022
@unknownbrackets unknownbrackets added this to the v1.14.0 milestone Oct 30, 2022
@hrydgard
Copy link
Owner

Interesting! I guess the overlap thing is not that surprising, but almost seems wasteful not to compute sin and cos together.

@hrydgard hrydgard merged commit ba32ef5 into hrydgard:master Oct 30, 2022
@unknownbrackets unknownbrackets deleted the vrot-overlap branch October 30, 2022 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IRInterpreter Occurs with IR Interpreter but not with another CPU backend.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dissidia 012 Final Fantasy flickering animations with IR/Interpreter
2 participants