Scott Mansell c4dda4a3f3 arm64: Fix blocks with over 256 spill slots.
With multiblock and -n4000, at least one block in geekbench5's camera
benchmark was spilling 324 values. This meant the required stack
adjustment was 5184 bytes, which is larger than can fit into a 12bit
immediate.

Now, it's probally a bug that our RA is spilling that many values, and
we probally should be packing our spill slots closer together, but we
still shouldn't fail to run in this edge case.

So this commit adds a fallback path which uses a temp register to load
the stack adjustment.
2021-02-09 12:08:32 +13:00
2020-11-29 00:30:28 -08:00
2020-08-21 01:29:37 +12:00
2021-02-05 10:36:52 -08:00
2020-12-25 01:57:09 -08:00
2021-01-26 02:34:26 -08:00
2020-03-06 09:08:13 +02:00
2021-01-26 02:34:26 -08:00

FEX - Fast x86 emulation frontend

This is the frontend application and tooling used for development and debugging of the FEXCore library.

Dependencies

  • FEXCore
  • cpp-optparse
  • imgui
  • json-maker
  • tiny-json
  • A C++17 compliant compiler (There are assumptions made about using Clang and LTO)
  • clang-tidy if you want the code cleaned up
  • cmake

FEX diagram

Description
A fast usermode x86 and x86-64 emulator for Arm64 Linux
Readme MIT 53 MiB
Languages
C++ 59.4%
Assembly 30.7%
C 7.1%
Python 1.5%
CMake 1%
Other 0.3%