Project

General

Profile

Actions

Emulator Issues #9308

closed

(JIT64) stswx op should wrap around from r31 to r0 when XER overflows

Added by mmastrac about 8 years ago. Updated almost 6 years 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:

Description

This is a bug revealed by ppc750cl.s.

When the value of XER is large enough, stswx may attempt to store bytes from beyond r31 (moving into pc and beyond). The spec for this instruction requires it to wrap around to r0.

https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/Core/PowerPC/Interpreter/Interpreter_LoadStore.cpp#L739

I have a patch for this in my local branch.

Actions

Also available in: Atom PDF