Project

General

Profile

Actions

Emulator Issues #9307

closed

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

Added by mmastrac about 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 #1

Updated by Lioncash about 8 years ago

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

Updated by JMC4789 almost 6 years ago

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

Just tentatively accepting to get out of the new backlog.

Actions #4

Updated by pokechu22 over 1 year ago

  • Status changed from Accepted to Fixed
  • Fixed in set to 5.0-8553
Actions

Also available in: Atom PDF