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

LLVM on Aarch64 Tracker #15567

Open
4 of 9 tasks
kd-11 opened this issue May 8, 2024 · 0 comments
Open
4 of 9 tasks

LLVM on Aarch64 Tracker #15567

kd-11 opened this issue May 8, 2024 · 0 comments
Assignees
Labels

Comments

@kd-11
Copy link
Contributor

kd-11 commented May 8, 2024

LLVM doesn't work properly on aarch64. There are architectural reasons for this, particularly when used within RPCS3. There is some internal progress for all of these, so we're tracking things here to collaborate more efficiently.

  • PPU LLVM
    • Breaking from guest to hypervisor (escape) is broken because of callstack unwinding being incompatible with LLVM's GHC implementation on aarch64.
      • Worked around by having a manual call stack.
    • LLVM is clobbering the link register in GHC blocks making them noreturn.
      • Worked around by modifying LLVM's reserved register list for GHC to at least leave the LR alone.
      • File a report with upstream with generated blocks.
  • SPU LLVM
    • Same escape issue as PPU LLVM
    • Other undiagnosed issues (list will be added)
@kd-11 kd-11 self-assigned this May 8, 2024
@kd-11 kd-11 added the CPU label May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant