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

Interpreter: Fix fctiwx rounding #9738

Merged
merged 1 commit into from May 22, 2021

Conversation

JosJuice
Copy link
Member

The interpreter implementation of fctiwx was treating rounding mode 0 as "round to nearest, ties towards zero", which is not an actual IEEE-754 rounding mode. The IBM document mentioned in a comment at the top of the function, on the other hand, treats rounding mode 0 as "round to nearest, ties to even", which makes more sense.

This fixes one of JMC's console-recorded F-Zero GX replays on JitArm64. (JitArm64 uses an interpreter fallback for fctiwx.)

The interpreter implementation of fctiwx was treating rounding
mode 0 as "round to nearest, ties towards zero", which is not
an actual IEEE-754 rounding mode. The IBM document mentioned
in a comment at the top of the function, on the other hand,
treats rounding mode 0 as "round to nearest, ties to even",
which makes more sense.

This fixes one of JMC's console-recorded F-Zero GX replays on
JitArm64. (JitArm64 uses an interpreter fallback for fctiwx.)
@JMC47
Copy link
Contributor

JMC47 commented May 22, 2021

Confirmed to sync up the replay on JitArm64 on my phone. Doesn't seem to be a performance loss either.

@lioncash lioncash merged commit 031bef0 into dolphin-emu:master May 22, 2021
10 of 11 checks passed
@JosJuice JosJuice deleted the interpreter-fctiwx branch May 22, 2021 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants