Alyssa Rosenzweig
02f45854e8
IR: include a fence in CPUID
...
easier for post-RA to chew thru.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-07-02 13:04:49 -04:00
Ryan Houdek
62de1004df
Merge pull request #4635 from neobrain/fix_libfwd_wl_more
...
LibraryForwarding/wayland: Add new interface objects
2025-07-02 09:01:11 -07:00
Tony Wasserka
7f216ca02f
LibraryForwarding/wayland: Add new interface objects
2025-07-02 16:51:03 +02:00
LC
492b0fdda8
Merge pull request #4632 from neobrain/feature_nix
...
Build: Add nix-based helpers to facilitate cross-compilation
2025-07-01 16:23:58 -04:00
LC
bb072c0112
Merge pull request #4633 from Sonicadvance1/noexec_test
...
unittests: Adds unittest for no-exec testing
2025-07-01 16:20:44 -04:00
Ryan Houdek
afabe7cb47
Merge pull request #4627 from alyssarosenzweig/opt/long-div-peephole-ready
...
Optimize long division
2025-06-30 13:59:48 -07:00
Ryan Houdek
38e0fc2434
unittests: Adds unittest for no-exec testing
...
In preparation for #4474
2025-06-30 13:19:33 -07:00
Alyssa Rosenzweig
16a70eafc6
InstCountCI: Update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-30 15:59:27 -04:00
Alyssa Rosenzweig
de4becc26e
OpcodeDispatcher: mask certain divisors
...
needed for fusing.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-30 15:58:33 -04:00
Alyssa Rosenzweig
af23f4325f
OpcodeDispatcher: reorder xor-with-self sequence
...
this lets us peephole fuse things even when there are flags calculated in the
way
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-30 15:58:33 -04:00
Ryan Houdek
94af96df8f
Merge pull request #4631 from neobrain/fix_libfwd_wl_cutter
...
LibraryForwarding: Fix various Wayland issues
2025-06-30 11:38:13 -07:00
Ryan Houdek
e685ab818e
Merge pull request #4619 from neobrain/refactor_drop_config_h_in
...
Remove code generation build step for install prefix
2025-06-30 11:35:26 -07:00
Ryan Houdek
5f2a72b65b
Merge pull request #4624 from Sonicadvance1/static_analysis_fixes
...
Some static code analysis fixes
2025-06-30 11:28:06 -07:00
Tony Wasserka
c1842a6167
Build: Add nix-based helpers to manage toolchains for ARM64EC/WOW64
...
The cmake_configure_woa*.sh scripts will automatically install any required
cross-toolchains required to enable either ARM64EC or WOW64 builds of FEX,
and it will initialize the current build folder appropriately.
For advanced uses, a shell can be opened by running `nix-shell WineOnArm/shell.nix`,
which will make the toolchain available via environment variables. This also
generates a meson crossfile for building VKD3D or vkd3d-proton.
2025-06-30 16:50:13 +02:00
Tony Wasserka
3f3907b5d1
Build: Add nix-based helpers to manage toolchains for FEXLinuxTests
...
The cmake_enable_flt.sh script will automatically install the required
cross-toolchains required to build FEXLinuxTests, and it will reconfigure
the current build folder appropriately.
For advanced uses, a shell can be opened by running `nix-shell FEXLinuxTests/shell.nix`,
which will make the toolchain available via environment variables.
2025-06-30 16:50:13 +02:00
Tony Wasserka
1899465390
Build: Add nix-based helpers to manage toolchains for library forwarding
...
The cmake_enable_libfwd.sh script will automatically install any required
cross- toolchains and development headers required to enable library
forwarding, and it will reconfigure the current build folder appropriately.
For advanced uses, a shell can be opened by running `nix-shell LibraryForwarding/shell.nix`,
which will make the toolchain available via environment variables.
2025-06-30 16:50:13 +02:00
Tony Wasserka
18360d4ccb
LibraryForwarding/wayland: Add more method signatures
2025-06-27 10:57:10 +02:00
Tony Wasserka
a691c3cd99
LibraryForwarding/wayland: Fix mprotect call when crossing page boundaries
2025-06-27 10:57:10 +02:00
Tony Wasserka
70bc561bbf
LibraryForwarding/wayland: Fix wl_proxy_marshal_array_constructor
2025-06-27 10:57:10 +02:00
Tony Wasserka
b9222d8431
LibraryForwarding/unittests: Fix build with clang 20
2025-06-27 10:57:10 +02:00
Tony Wasserka
a5fad89e57
Merge pull request #4621 from neobrain/feature_update_readme
...
Update Readme.md
2025-06-26 21:54:53 +02:00
Tony Wasserka
a14360b89d
Update Readme.md
2025-06-26 21:41:23 +02:00
Tony Wasserka
c9aaedd217
CPack: Update package description
2025-06-26 21:41:23 +02:00
Alyssa Rosenzweig
cda15ce9ea
RegisterAllocationPass: optimize long divsion
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-24 16:10:29 -04:00
Alyssa Rosenzweig
3f3b6ad337
IR: merge regular/long divisions
...
this makes it a lot easier to turn a long division into a non-long division,
just by nulling out a source.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-24 16:10:29 -04:00
Alyssa Rosenzweig
62410c4381
InstCountCI: add another udiv case
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-24 16:10:22 -04:00
Ryan Houdek
cf82b56dd8
CPUBackend: Remove unused variable
...
CID 482006
2025-06-19 16:51:30 -07:00
Ryan Houdek
4a74bea7ab
InstcountCI: Don't use a global static initializer for CodeSizeValidation
...
Relies on fmt facet initialization order which isn't guaranteed to have
correct initialization order.
CID 482003
2025-06-19 16:51:26 -07:00
Ryan Houdek
c6d8e60ef8
OpcodeDispatcher: Make sure to initialize ArithRef
...
CID 482002
2025-06-19 16:46:15 -07:00
Ryan Houdek
1212cd526a
VDSOEmulation: Sanitize sysconf result
...
Unlikely to fail but make sure.
CID 482021
2025-06-19 16:43:53 -07:00
Ryan Houdek
79a8ed53b6
CPUBackend: Make sure to zero initialize variable
...
CID 482022
2025-06-19 16:41:24 -07:00
Ryan Houdek
a6ce115d9c
FEXLoader: Handle bad LogFile path
...
Just go silent but print a log about it.
CID 482031
CID 482023
2025-06-19 16:40:03 -07:00
Ryan Houdek
646a5a7f9e
CodeEmitter/ASIMD: Removes redundant ternary selection
...
Redundant and unnecessary.
CID 482017
2025-06-19 16:31:08 -07:00
Ryan Houdek
7f71b6f1b2
Passes: Use move instead of copy semantics
...
To initialize in-place.
CID 482035
2025-06-19 16:22:39 -07:00
Ryan Houdek
16d5ca447f
FEXCore: DebugData is never null now
...
This is a required data structure to exist.
CID 482036
2025-06-19 16:21:19 -07:00
Ryan Houdek
3d0c20a263
Merge pull request #4615 from neobrain/feature_logging_qol
...
Improve log message formatting
2025-06-19 12:50:44 -07:00
Ryan Houdek
1c38b8b046
Merge pull request #4614 from alyssarosenzweig/opt/easy-mov-elim
...
Merge moves that are immediately consumed
2025-06-19 12:26:07 -07:00
Alyssa Rosenzweig
e1124480be
InstCountCI: Update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-19 13:44:23 -04:00
Alyssa Rosenzweig
5243f50ed1
RegisterAllocationPass: merge 32-bit mov + 64-bit and
...
mov wA, wB
and xA, xA, ...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-19 13:44:23 -04:00
Alyssa Rosenzweig
cde805147f
RegisterAllocationPass: merge 32-bit moves
...
mov wA, wB
op wA, wA, ..
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-19 13:44:23 -04:00
Alyssa Rosenzweig
7e39eb3df2
RegisterAllocationPass: merge full size moves
...
mov xA, xB
op xA, xA, ..
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-19 13:44:23 -04:00
Alyssa Rosenzweig
af366d4480
RegisterAllocationPass: skip inlineconstant in RA
...
similar reasoning as guestopcode.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-19 13:44:23 -04:00
Alyssa Rosenzweig
33ef98aae7
RegisterAllocationPass: refactor push/pop merge
...
to make way for move merging.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-19 13:44:23 -04:00
Alyssa Rosenzweig
c16db2db4a
RegisterAllocationPass: simplify an expression
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-19 13:44:23 -04:00
Alyssa Rosenzweig
059d980c33
IR: give StoreRegister a precoloured destination
...
this will eliminate an annoying special case in post-RA opts.
No difference proven at 95.0% confidence
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-19 13:44:23 -04:00
Alyssa Rosenzweig
581381fd86
IR: make 0 the invalid physical register
...
so zero init works as expected
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2025-06-19 13:44:23 -04:00
Ryan Houdek
0072b289bb
Merge pull request #4622 from neobrain/feature_fexconfig_logo
...
FEXConfig: Add icon
2025-06-18 01:46:30 -07:00
Tony Wasserka
e2bd79087e
FEXConfig: Add icon
2025-06-18 10:33:07 +02:00
Ryan Houdek
6cd78fc90d
Merge pull request #4618 from neobrain/feature_infer_32bit_libfwd_paths
...
LibraryForwarding: Infer folders for 32-bit wrappers automatically
2025-06-17 17:55:38 -07:00
Ryan Houdek
c346aca241
Merge pull request #4620 from neobrain/refactor_data_files
...
Move data files to Data/
2025-06-17 17:54:28 -07:00