Lioncache
530821fc4a
IR: Convert rounding modes to enum class
...
Same behavior, but more compact
2025-10-01 23:37:57 -04:00
Ryan Houdek
e4a4a529dd
Merge pull request #4920 from lioncash/py2
2025-10-01 20:28:23 -07:00
Lioncache
863d1e0007
IR: Convert FenceType to an enum class
...
Same thing minus an extra struct lingering around.
2025-10-01 23:13:08 -04:00
Ryan Houdek
c64d6f2b36
Merge pull request #4919 from lioncash/python
...
IR: Convert CondClassType over to enum class
2025-10-01 19:28:50 -07:00
Lioncache
a798880ac8
IR: Convert CondClassType over to enum class
...
Instead of having this sort of odd indirection through a struct type,
we can add support for defining custom enums in the IR description.
This lets us both get strong typing (and allow for weak typing, should
any enum in the future need it), without needing a struct for a basic
value type.
Even then, if we do need a struct for anything in the future, then
we still allow strong typing for values themselves while allowing
them to be used in various ways.
2025-10-01 10:45:00 -04:00
Ryan Houdek
9db9be9612
Merge pull request #4918 from lioncash/bitcast
...
General: Migrate to std::bit_cast
2025-09-30 19:32:51 -07:00
Lioncache
6a19c77184
General: Migrate to std::bit_cast
...
We already have a few cases where we already use bit_cast in the
emitter, so we may as well move all of our temporary helper instances
over as well.
2025-09-30 22:20:10 -04:00
Ryan Houdek
c17b9dea30
Merge pull request #4917 from lioncash/collapse
...
StringConv: Merge integral-handling facilities together
2025-09-30 18:58:13 -07:00
Lioncache
7564b6c69a
StringConv: Merge integral-handling facilities together
...
Same behavior, but we condense all of the integral handling
into one place.
2025-09-30 21:43:57 -04:00
Ryan Houdek
5858c5041f
Merge pull request #4916 from lioncash/type
...
StringConv: Fix std::enable_if usage
2025-09-30 17:13:43 -07:00
LC
18d0dec416
Merge pull request #4911 from Sonicadvance1/evmd_linux
...
Linux: Implement support for extended volatile metadata
2025-09-30 20:01:26 -04:00
LC
752046108c
Merge pull request #4910 from Sonicadvance1/fix_wow64_evmd
...
Wow64: Ensure extended volatile metadata is removed
2025-09-30 20:01:12 -04:00
Lioncache
773ddbf5c4
StringConv: Fix std::enable_if usage
...
This neglected to use the ::type qualifier, so this candidate was
always being considered in overload resolution.
2025-09-30 19:53:45 -04:00
Ryan Houdek
88e90a6f3a
Merge pull request #4915 from lioncash/emitter
...
Arm64Emitter: Cull unnecessary includes
2025-09-30 10:50:04 -07:00
Lioncache
84325d6b5c
Arm64Emitter: Cull unnecessary includes
...
Also fixes an indirect include.
2025-09-30 09:32:25 -04:00
Ryan Houdek
1b8e03e1de
Merge pull request #4914 from lioncash/header
...
fextl/string: Correct <filesystem> include to <functional>
2025-09-29 21:26:39 -07:00
Lioncache
569d7297f0
fextl/string: Correct <filesystem> include to <functional>
...
This was unintentionally putting all the filesystem utilities into headers implicitly.
2025-09-29 23:54:08 -04:00
Ryan Houdek
d9520c9498
Merge pull request #4913 from lioncash/help
...
JITClass: Mark functions as static where applicable
2025-09-29 20:53:09 -07:00
Lioncache
6b61093037
JITClass: Mark functions as static where applicable
...
These don't depend on any class state.
2025-09-29 23:42:43 -04:00
LC
74b09d5581
Merge pull request #4912 from Sonicadvance1/avx_32bit_overflow
...
FEXCore: Implement support for AVX gathers with overflow
2025-09-29 21:10:42 -04:00
Ryan Houdek
08da8f6f5c
unittests/ASM: Adds gather overflow tests
2025-09-29 16:49:34 -07:00
Ryan Houdek
7f8fffbb24
FEXCore: Implement support for AVX gathers with overflow
...
Falls down the emulated path so we can zero extend the address
calculation. No way for SVE gathers to use 32-bit addressing.
2025-09-29 16:06:02 -07:00
Ryan Houdek
b08e5f9821
Linux: Implement support for extended volatile metadata
...
Allows applications running entirely under Linux to use the same
extended volatile metadata as Windows.
For example `FEX_EXTENDEDVOLATILEMETADATA=iw4sp.exe\;0xe9da0-0xe9ec7`
this configuration works for both wow64 and Linux to disable the TSO
emulation on the memcpy routine in that game that consumes around 80% of
CPU time in TSO emulation.
Works with Linux native games as well of course.
2025-09-29 14:36:51 -07:00
Ryan Houdek
1758648f56
Common: Move ApplyFEXExtendedVolatileMetadata to Common
...
It is going to be used by Linux.
Also adds support for file offset handling, which is required on Linux
but not on win32.
2025-09-29 14:36:50 -07:00
Ryan Houdek
418ce0aed9
Wow64: Ensure extended volatile metadata is removed
...
Was missing this, matches the arm64ec side.
2025-09-29 14:13:44 -07:00
LC
4e926076c9
Merge pull request #4909 from zeyi2/main
...
Docs: Fix wrong link in `Readme_CN.md`
2025-09-29 10:30:38 -04:00
mtx
3f0aaeba68
Docs: Fix wrong link in Readme_CN.md
2025-09-29 16:53:31 +08:00
LC
6ecec77a74
Merge pull request #4908 from FEX-Emu/bylaws-patch-1
...
Change required Python version from 3.10 to 3.9
2025-09-28 13:03:45 -04:00
Billy Laws
79917dc9bb
Change required Python version from 3.10 to 3.9
...
Debian bullseye is a supported build environment which only provides 3.9
2025-09-28 16:34:50 +02:00
Ryan Houdek
b0b60fb761
Merge pull request #4907 from neobrain/feature_nix_update
...
Build: Update toolchain for WoA builds
2025-09-25 13:43:23 -07:00
Tony Wasserka
7463152f50
Build: Update toolchain for WoA builds
2025-09-25 22:17:44 +02:00
Ryan Houdek
cbd8217c60
Merge pull request #4904 from bylaws/tesrgr
...
TestHarnessRunner: Don't attempt to build on MinGW
2025-09-24 13:16:47 -07:00
Ryan Houdek
4de1762c21
Merge pull request #4903 from bylaws/fee
...
vixl: Update submodule
2025-09-24 12:41:00 -07:00
Billy Laws
73962402df
TestHarnessRunner: Don't attempt to build on MinGW
2025-09-24 20:28:33 +01:00
Billy Laws
d90ccceec7
vixl: Update submodule
2025-09-24 20:26:28 +01:00
Ryan Houdek
0c5ef1ce1d
Merge pull request #4902 from lioncash/fmt
...
Update fmt to 12.0.0
2025-09-23 12:13:34 -07:00
Ryan Houdek
e5680e031d
Merge pull request #4835 from pmatos/fix/classify
...
Fix quiet and signalling nan propagation
2025-09-23 11:17:37 -07:00
Paulo Matos
eee0cffa57
instcountci: Fix quiet and signalling nan propagation
2025-09-23 13:48:45 +02:00
Paulo Matos
c480b0ba41
asm_tests: Fix quiet and signalling nan propagation
2025-09-23 13:48:45 +02:00
Paulo Matos
e7a47a647c
Fix quiet and signalling nan propagation
...
This adds a new mode X87StrictReducedPrecision.
The strict reduced precision is like the reduced precision but adds extra checks,
like the currently implemented nan and snan propagations.
Fix for __builtin_issignaling() test of SPEC2017 classify test.
2025-09-23 13:48:45 +02:00
Paulo Matos
500c82bbf8
Do not format NASM include files
2025-09-23 13:48:45 +02:00
Lioncache
008528af91
Update fmt to 12.0.0
...
Moves us over to the next major version release.
Changelog here: https://github.com/fmtlib/fmt/releases/tag/12.0.0
2025-09-23 09:50:11 +02:00
Tony Wasserka
13199ad203
Merge pull request #4898 from Sonicadvance1/a_snake_a_snake
...
CMake: Update our python minspec to 3.10
2025-09-23 09:29:33 +02:00
LC
533dd1a54b
Merge pull request #4897 from Sonicadvance1/fix_telem
...
OpcodeDispatcher: Fixes telemetry on legacy segment read
2025-09-23 08:11:10 +02:00
Ryan Houdek
b6f2e10416
CMake: Update our python minspec to 3.10
2025-09-22 12:31:29 -07:00
Ryan Houdek
c58db36a7c
OpcodeDispatcher: Fixes telemetry on legacy segment read
2025-09-22 11:57:34 -07:00
LC
4593099882
Merge pull request #4896 from pmatos/fix/x87IsZero
...
Remove unused IsZero; NFC
2025-09-22 15:18:05 +02:00
Paulo Matos
21e29af48b
Remove unused IsZero; NFC
2025-09-22 14:22:14 +02:00
LC
892e44a900
Merge pull request #4895 from Sonicadvance1/fix_fxsave
...
OpcodeDispatcher: Fixes fxsave x87 register storing
2025-09-22 13:27:24 +02:00
Ryan Houdek
bca29c2549
unittests/ASM: Adds fxsave/fxrstor tests
2025-09-19 14:06:27 -07:00