dolphin
dolphin copied to clipboard
Propertly Truncate Paired Single Move Instructions
Matches hardware in rounding paired singles after move operations!!
Move operations consist of operations which only transfer direct bits (including absolute values and merges)
This also accounts for ps_rsqrte
because it has a similar quirk
Specifically in hardware they're rounded in accordance to their slot:
- PS0 rounds only the mantissa in accordance to the set rounding mode
- PS1 truncates the mantissa
ps_rsqrte
also only truncates for PS0 for some reason ^^;
This has all been tested on hardware, along with a few edge case tests to ensure this implementation works