FEX Release FEX-2505
- Arm64
- Mark several functions as internally linked (572a58ed2)
- CodeEmitter
- Fix clang-format (02f90fbc6)
- Fixes misaligned function (94499ed8f)
- ASIMDOps
- Constrain Q and D register requirements with concept (e0e9f5aa1)
- Support RADDHN{2}/RSUBHN{2} (68f8c244b)
- LoadStoreOps
- Add Memory Copy and Memory Set category (0cbbd91e7)
- LoadstoreOps
- Add Load/store register (PAC) group (79e57c320)
- ScalarOps
- Add two more instruction categories (b4eb38e2b)
- Emitter
- Add missing ASIMD crypto operations (571a53354)
- FEXConfig
- Fix layout issues on Qt 6.9 (c8371087e)
- FEXCore
- Fixes x87 reduced precision (f97cd2464)
- Reduce stack usage in CalculateNumberOfCPUs (5d385c540)
- Allocator
- Removes old workaround for kernel 4.17 (e3f8a817e)
- Emitter
- Stop creating a vector on the heap (45b638fc4)
- JIT
- Switch over to new vl64pair for RIP reconstruction (4f2d2e646)
- Softfloat
- Wire up cephes math library for transcendental operations (dd8a1f00f)
- FEXServer
- Fixes squashfs/erofs with newer fuse releases (40e0a71f4)
- FHU
- Add a non-block thread local ringbuffer (9dbbd44d0)
- Frontend
- Be more tolerant of bad instruction encodings (211bec65d)
- InstcountCI
- Changes how code size is calculated (3f7ad0405)
- Ensure RIP of blocks is consistent (6069d05aa)
- JIT
- Move interpreter ABI handlers in to the dispatcher (00ff54904)
- Make code patching during (un-/)linking thread-safe (99114e1fc)
- Align JITCodeTail to native alignment (6beb4b0f8)
- Moves VPCMPESTRX handler to use vectors (23a846268)
- Fix warning about unused variable (3da6fc397)
- Linux
- SMCTracking
- Stop calling mprotect on a memory region times the number of threads (afcd93fe5)
- LinuxEmulation
- Copy the host persona on thread startup (3ea7c2b01)
- Fixes remaining memory leak on pthread teardown (4d02126b7)
- LinuxSyscalls
- Fixes a major stack memory leak (156b6745a)
- Update signal mask at deferring time (8ff7497d5)
- Fixes 32-bit llseek result (5b802d17d)
- NFC
- FEXCore: Removes unused argument on CreateThread (1dff7073d)
- OpcodeDispatcher
- Mark NZCV as dirty when clobbering in FCOMIF64 (73593ad4f)
- Scripts
- InstCountCI
- Restrict git-add to relevant JSON files only (9ba46e395)
- Various
- UBSAN fixes around unaligned accesses (886463760)
- Windows
- Misc cleanups and fixes (66807539c)
- X86Tables
- Set FLAGS_BLOCK_END for more faulting ops (f91229569)
- Misc
- (a6a203c48)
- Fix 32-bit fadvise64 (31e5f706b)
- Marshal freeram in sysinfo (794c80eda)
- Make shmdt reset the unmapped pages in the 32-bit allocator (cf5fcb237)
- mprotect last page of CodeBuffer (e1d032b5a)
- 80-bit cephes prep work (f99691b0e)
- Link to mincore instead of kernelbase on ARM64EC (3c8bb53d1)
- updated Dockerfile to reflect latest FEX-Emu releases (8cc23d0cf)
- X87 state block reset (b7790e10e)
- Improve tracking of executable mappings (674f93969)
- ASIMD_Tests: Enable PMULL/PMULL2 tests (c42b1858c)
- Enable -fno-strict-aliasing (6f5588f71)
- A couple of barrier and timing fixes. (572d6e039)
- ASIMD_Tests: Re-enable tests disabled due to dissassembly bugs (d7df4be37)
- Add no-sanitize flags to UBSAN (f22772289)
- Fix cast in ValidateCode impl (7c0bc2d97)
- Cleanup info test files for 32bits (2919c32a8)
- Cleanup compile warnings (f1d007ca4)
- Add option to enable UBSAN (52351902e)
- Softfloat-3e: Add support for f128 (09e622d5a)
- cephes
- Rewrite to use softfloat-3e 128-bit (bc7223918)
FEX-2505 is now available. The release encompasses a variety of new features, including enhancements in Arm64, CodeEmitter, ASIMDOps, LoadStoreOps, ScalarOps, Emitter, FEXConfig, FEXCore, Allocator, JIT, Softfloat, FEXServer, FHU, Frontend, InstcountCI, Linux, SMCTracking, LinuxEmulation, LinuxSyscalls, NFC, OpcodeDispatcher, Scripts, UBSAN fixes, Windows, X86Tables, Misc, ASIMD_Tests, Softfloat-3e, and cephes.