Skip to content

Releases: FEX-Emu/FEX

FEX-2103

03 Mar 11:19
3978097
Compare
Choose a tag to compare

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

08 Feb 13:24
0aaed41
Compare
Choose a tag to compare

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