Project

General

Profile

Emulator Issues #9307

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

Added by mmastrac about 5 years ago. Updated almost 3 years ago.

Status:
Accepted
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:

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.

History

#1 Updated by Lioncash about 5 years ago

  • Subject changed from crset op is busted to (Jit64) crset op doesn’t properly set SO/GT/LT flags"

#2 Updated by JMC4789 almost 3 years ago

  • Assignee set to Lioncash
  • Status changed from New to Accepted

Just tentatively accepting to get out of the new backlog.

Also available in: Atom PDF