Project

General

Profile

Actions

Emulator Issues #9307

closed

(Jit64) crset op doesn’t properly set SO/GT/LT flags"

Added by mmastrac over 8 years ago. Updated over 1 year ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
5.0-8553

Description

This is a bug revealed by ppc750cl.s.

In the SO, GT, and LT cases, SetCRFieldBit(int, int) writes results directly into the PPCSTATE register, then clobbers those with the value in RSCRATCH.

A correct fix would be to operate on RSCRATCH instead.

https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/Core/PowerPC/Jit64/Jit_SystemRegisters.cpp#L118

I have a fix in my outstanding branch.

Actions

Also available in: Atom PDF