Releases: FEX-Emu/FEX
Releases · FEX-Emu/FEX
FEX-2103
Compatibility
- Support for unaligned atomic memory ops
- Thread local mman cache invalidation
- glib 2.32 support (cpuid fixes, faccessat2)
- cmpxchg flag fixes
- fixed cvtt* ops to actually truncate, both for x87 and sse
- Implemented BTC, BTR and BTS atomic variants
- Workaround crashes around exit_group for graceful exit
- Fixed SAR8 & SAR16 sign extension
- Added support for x87 rounding modes
- Added support for x87 precision modes
- Temporary fix for x87's frem
- Fixed select system calls to update the descriptors
- Fixed handling of invalid ops when multiblock is enabled
- Fixed an edge case bug in CreateElementPair
- Fixed BRK handling
- Fixed /proc/cpuinfo topology
- Fixed compilation of superblocks with more than 256 spills
- Fixed a bug in in the MUL -> SHL optimization
Performance
- Added ir-cache that halves loading times when enabled (--aotir-capture && --aotir-load)
- x87 ops no longer force interpreter for the entire superblock
Usability
- uname now returns the host name
- Added checks for python in the CMake files
Misc
- ThunkLibs now generate asm wrappers, so they can be compiled with older GCCs
- Asserts on unsupported atomic ops
- Removed erratic asserts in RA
FEX-2102
Compatibility
- Unaligned cmpxchg & cmpxchg8b on ARMv8.1+
- Mutliblock now gracefully handles unsupported / invalid instructions. This makes it safe to always enable multi block
- Several fixes for 32-bit binaries: branch handling, signal return, memory allocation, ioctl32 for x86-64 host
- Improved BRK handling
Perfomance
- Much reduced stuttering during JIT compilation. The JIT optimizer is now over 3x as fast.
- Per-thread IR Caching with cached RA, for faster recovery from code cache resets
Usability
- Defaults now to jit, multiblock, 5000 instructions.
- CPUID returns fex version
Misc
- Cleaned up IR printing, extended asm tests to test IR dumping & IR printing
- Integrated gcc target tests to our CI
- Removed many warnings
The detailed change log is available here