github OFFTKP/felix86 26.09
felix86 26.09

3 hours ago

felix86 26.09 is released! Optimizations and a bunch of bug fixes were made this month.

Read the blog post: https://felix86.com/felix86-26-09/

Compatibility list: https://felix86.com/compat/

Twitter, Bluesky, Discord

What's Changed

  • Thunks: Open versioned libX11 instead by @OFFTKP in #633
  • Tools: Don't mark enter_repl as static by @OFFTKP in #634
  • Recompiler: Don't insert flag usage info for passthrough instructions by @OFFTKP in #635
  • Recompiler: Don't mark all flags as used on passthrough instructions by @OFFTKP in #636
  • Thunks: Implement VK_KHR_fragment_shading_rate by @OFFTKP in #637
  • Recompiler: Follow JMP instructions in scan_ahead_multi by @OFFTKP in #638
  • Common: Add profile as config source by @OFFTKP in #639
  • Common: Add SteamAppId profiles by @OFFTKP in #640
  • Linux: Implement x86_64 getdents syscall on top of getdents64 by @zqb-all in #641
  • Chore: Simplify get_actual_rip function by @OFFTKP in #642
  • Recompiler: Don't compute SUB on CMP when not necessary by @OFFTKP in #643
  • Recompiler: Improve scanAhead and shouldEmitFlag performance by @OFFTKP in #644
  • Recompiler: Separate flag_access into a struct by @OFFTKP in #646
  • Thunks: Fix regression in scanAhead when thunks are enabled by @OFFTKP in #647
  • Recompiler: Emit stats for MangoHud's FEX integration by @OFFTKP in #648
  • Recompiler: Use riscv_flush_icache instead of fence.i by @OFFTKP in #649
  • Recompiler: Miscellaneous x87 fixes by @OFFTKP in #650
  • Tools, Common: Improve disassembler by @OFFTKP in #651
  • Recompiler: More miscellaneous x87 fixes by @OFFTKP in #652
  • Recompiler: Implement word XADD by @OFFTKP in #653
  • Recompiler: Optimize MOVSXD by @OFFTKP in #654
  • Recompiler: Optimize common AND instructions by @OFFTKP in #655
  • Recompiler: Allow unaligned vector reads if Zicclsm is present by @OFFTKP in #656
  • Tools: Enable color by default on REPL by @OFFTKP in #657
  • Recompiler: Optimize MOVSS and MOVSD for Zicclsm by @OFFTKP in #658
  • Recompiler: Omit a MV from LEA instructions by @OFFTKP in #659
  • Recompiler: Allow unaligned vector writes if Zicclsm is present by @OFFTKP in #660
  • Recompiler: Save an instruction on the address cache by @OFFTKP in #661
  • Linux: Fix futex_time32 without timespec by @OFFTKP in #662
  • Tools: Fix REPL regression by @OFFTKP in #663
  • Recompiler: Fix regression with lock and [mem], imm by @OFFTKP in #664
  • Recompiler: Implement ARPL by @OFFTKP in #665
  • Chore: Warn on bad log macros by @OFFTKP in #666
  • Tools: Add some hot blocks to instruction counter by @OFFTKP in #667
  • Common: Allow searching for symbols for libraries outside the rootfs by @OFFTKP in #668
  • Recompiler: Merge movzx displacement into load by @OFFTKP in #669
  • Recompiler: Save a XORI on CMOVNc by @OFFTKP in #670
  • Recompiler: Don't link loop to self by @OFFTKP in #671
  • Common: Add print_cpuid logging option by @OFFTKP in #672
  • Chore: Minor cleanups by @OFFTKP in #674
  • Recompiler: Treat IN/OUT as illegal in scanAhead by @OFFTKP in #675
  • Common: Handle relative interpreter paths by @OFFTKP in #677
  • Recompiler: Fix shift amount not masked in ROL/ROR by @OFFTKP in #678
  • Common: Fix XSAVE/XRSTOR component handling by @OFFTKP in #679
  • Recompiler: Fix order of operands in FCOMPP by @OFFTKP in #680
  • Common: Minor flag fixes in signal frame and pushfq/popfq by @OFFTKP in #676
  • Recompiler: Fix 80-bit FCMOVcc corrupting next register by @OFFTKP in #681
  • Recompiler: Clear OF/CF in ANDN by @OFFTKP in #682
  • Recompiler: Fix BZHI carry flag generation by @OFFTKP in #683
  • Recompiler: Fix flag bugs in RCL and RCR by @OFFTKP in #684
  • Recompiler: Don't use flags as scratch regs by @OFFTKP in #687
  • Recompiler: Call flushX87 on DIV and IDIV by @OFFTKP in #685
  • Recompiler: Mark MMX register as loaded when written by @OFFTKP in #692
  • Recompiler: Write low half first in MULX by @OFFTKP in #691
  • Recompiler: Compute CF in SHL when OF is needed by @OFFTKP in #688
  • Recompiler: Zext on 32-bit ROL/ROR with 0 by @OFFTKP in #690
  • Recompiler: Implement REP LODS and mark REP CMPS/SCAS as passthrough by @OFFTKP in #686
  • Recompiler: Mask src in byte/word lock or by @OFFTKP in #689
  • CI: Make testing CI wait on instruction counter by @OFFTKP in #693
  • Recompiler: Fix XADD with base/index equal to src by @OFFTKP in #696
  • Recompiler: Fix bad register group on some VGATHERQPS by @OFFTKP in #694
  • Linux: Fix SIGSEGV when execve would fail by @OFFTKP in #695
  • Recompiler: Implement DAS by @OFFTKP in #698
  • Recompiler, Common: Implement RDTSC frequency scaling by @OFFTKP in #697
  • Recompiler: Fix ADC/SBB running out of scratch space by @OFFTKP in #699
  • Recompiler: Fix rare bug in MULX and CMPXCHG by @OFFTKP in #700
  • Recompiler: Use operand size rather than VEX.L for choosing register by @OFFTKP in #701
  • Recompiler: Don't mark MMX register as dirty on PALIGNR that is NOP by @OFFTKP in #702
  • Recompiler: Fix VADDSUBPS/PD not zeroing top bits when using xmms by @OFFTKP in #703
  • Linux: Fix BRK not allocating enough space by @OFFTKP in #704
  • Recompiler: Optimize VOR/VAND/VXOR/VANDN by @OFFTKP in #705
  • Linux: Various syscall fixes by @OFFTKP in #706
  • Common: Don't use log server by default by @OFFTKP in #707
  • Recompiler: Fix tag word in MMX mode by @OFFTKP in #709
  • Recompiler: Check for indefinites in CVT(T)PS2PI by @OFFTKP in #710
  • Linux: Set DOTNET_EnableWriteXorExecute=0 on hacky_envs by @OFFTKP in #711
  • Recompiler: Optimize MOVSX by @OFFTKP in #712
  • Recompiler: Optimize 32-bit AND with immediate by @OFFTKP in #713
  • Recompiler: Optimize TSO emulation by @OFFTKP in #714
  • Linux: Passthrough to host xdg-open for URLs by @OFFTKP in #715
  • Recompiler: Fix issue with PCMPESTRx and VMPSADBW by @OFFTKP in #716
  • Chore: Get rid of abort() calls of libraries by @OFFTKP in #717
  • Recompiler: Fix same reg bugs in AESIMC and AVX XMM moves by @OFFTKP in #718
  • Chore: Add more instructions to instruction count CI by @OFFTKP in #719
  • Linux: Allow rootfs to propagate through vfork and hide protected fds in getdents by @OFFTKP in #720
  • Recompiler: Avoid unnecessary mprotect calls by @OFFTKP in #721
  • Linux: Fix various signal nits by @OFFTKP in #722
  • Recompiler: Optimize IMUL by @OFFTKP in #723
  • Tools: Make disassembler use our allocation names by @OFFTKP in #724
  • Recompiler: Ensure CMPXCHG16B is aligned by @OFFTKP in #725
  • Recompiler: Make FUCOMI clear OF/SF/AF by @OFFTKP in #726
  • Recompiler: Optimize COMISS by @OFFTKP in #727
  • Linux: Fix some ptrace bugs, handle /proc/self/auxv by @OFFTKP in #728

Full Changelog: 26.08...26.09

Don't miss a new felix86 release

NewReleases is sending notifications on new releases.