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

Optimize SIMM9 with TSO #4216

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

alyssarosenzweig
Copy link
Collaborator

per @Sonicadvance1's nerdsnipe

this was 32-bit

Signed-off-by: Alyssa Rosenzweig <[email protected]>
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Signed-off-by: Alyssa Rosenzweig <[email protected]>
@Sonicadvance1
Copy link
Member

Looks like the CI failures are not spurious but actually a result of the change.

};
}
if ((A.Base || A.Segment) && A.Offset) {
const bool SupportsSmallConst = A.AddrSize == OpSize::i32Bit && GPRSize == OpSize::i32Bit;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this needs to be const bool SupportsSmallConst = A.AddrSize == GPRSize; Otherwise we lose small const support for LRCPC2 on 64-bit processes with 64-bit addresses?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the small const logic is wacked as it is on 64-bit. I'll investigate this a bit more.

Sonicadvance1 added a commit to Sonicadvance1/FEX that referenced this pull request Dec 20, 2024
The immediate offset masking was at the completely wrong offset when I
wrote these handlers. No idea how I managed to mess those up so badly.

Should fix at least some of the issues with FEX-Emu#4216
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants