Skip to content

ARM64 dynarec/codegen fixes and cleanup#7101

Merged
OBattler merged 3 commits into
86Box:masterfrom
skiretic:arm64-codeonly-pr
Apr 29, 2026
Merged

ARM64 dynarec/codegen fixes and cleanup#7101
OBattler merged 3 commits into
86Box:masterfrom
skiretic:arm64-codeonly-pr

Conversation

@skiretic

@skiretic skiretic commented Apr 29, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR brings ARM64 dynarec 3DNow handling to parity with the 3DNow scope currently implemented in 86Box’s interpreter

Scope clarification:

  • This PR targets parity with 86Box’s existing implemented 3DNow subset.
  • It does not claim implementation of every historical 3DNow-family ISA variant beyond what 86Box currently models.

Current coverage state in this branch:

  • Interpreter: full coverage of 86Box’s implemented 3DNow scope.
  • ARM64 dynarec: parity with interpreter for that scope.
  • x86-64 dynarec: still has fallback gaps in parts of the same scope.

Practical outcome:

  • No regressions observed in local workload validation.
  • ARM64 dynarec now covers the implemented 3DNow surface; previously missing ARM64 cases fell back to interpreter execution

ARM64 dynarec/codegen fixes and cleanup to stabilize and improve NDR behavior on ARM64 while keeping behavior aligned with existing paths.

Main changes in this PR:

  • ARM64/backend/codegen updates across:
    • src/codegen_new/codegen*.{c,h}
    • src/codegen_new/codegen_backend_arm64*.{c,h}
    • src/codegen_new/codegen_ops*.{c,h}
    • src/cpu/386_dynarec.c
    • src/cpu/x86_ops_3dnow.h
    • src/86box.c
  • Qt-side runtime/pacing related adjustments in:
    • src/qt/qt_main.cpp
    • src/qt/qt_mainwindow.cpp
    • src/qt/qt_platform.cpp

runtime/pacing changes should help all platforms.

Notes:

  • Scope is intentionally limited to the modified source file set in this branch.
  • No ROM or asset changes are required.

Checklist

@skiretic skiretic marked this pull request as ready for review April 29, 2026 21:07
@OBattler OBattler merged commit 0b42228 into 86Box:master Apr 29, 2026
45 checks passed
@skiretic skiretic deleted the arm64-codeonly-pr branch May 30, 2026 21:03
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