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

PPU interpreters: Implement AltiVec (vector) NaN precedence and data preservation #8218

Merged
merged 3 commits into from May 17, 2020

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented May 14, 2020

If any of the operands is a NaN of any kind it is 'quited' (MSB of fraction is set) and returned with the following ordering of selection between the NaNs: VA, VB, VC, result of operation.
The resulted NaN of operation is returned as a NaN if none of the arguments is a NaN.
Sign and fraction bits (other than NaN's signaling bit) are preserved across operands in all instructions.
It's not implemented at PPU LLVM atm.

@elad335 elad335 changed the title PPU interpreters: Implement AltiVec (vector) NaN precdence and data preservation PPU interpreters: Implement AltiVec (vector) NaN precedence and data preservation May 14, 2020
@elad335 elad335 force-pushed the nan branch 5 times, most recently from 5cc7ff5 to cba9f6a Compare May 16, 2020 06:03
@elad335
Copy link
Contributor Author

elad335 commented May 16, 2020

Testcase : https://github.com/elad335/myps3tests/tree/master/ppu_tests/AltiVec%20NaN%20precedence
works the same on pr with precise interpreter and realhw.

@elad335
Copy link
Contributor Author

elad335 commented May 17, 2020

Any review?

Copy link
Member

@VelocityRa VelocityRa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Member

@AniLeo AniLeo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

naruhodo

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

Successfully merging this pull request may close these issues.

None yet

4 participants