Ryan Houdek
ebe7342d10
Merge pull request #5677 from mrpippy/protontso
...
Windows/UnixLib: Fix enabling TSO through legacy Proton codepath
2026-07-09 15:33:27 -07:00
Brendan Shanks
84e127a637
Windows/UnixLib: Fix enabling TSO through legacy Proton codepath
2026-07-09 15:00:50 -07:00
Ryan Houdek
4a091df8cc
Merge pull request #5672 from neobrain/feature_woa_code_cache_bitness
...
CodeCache/WoA: Support mixed WoW64/ARM64EC processing
2026-07-09 14:55:21 -07:00
Ryan Houdek
92a171ce53
Merge pull request #5675 from lioncash/branch
...
VectorOps: Join identical branches in VFMLS/VFNMLS
2026-07-09 13:58:54 -07:00
LC
1b1e46ff6c
VectorOps: Join identical branches in VFMLS/VFNMLS
...
Same thing, just a little less redundant.
2026-07-09 16:33:26 -04:00
Ryan Houdek
3370d9af15
Merge pull request #5670 from simon902/MOVDoverride
...
Fix movd when prefixed with 0x66
2026-07-09 13:02:08 -07:00
Ryan Houdek
9306de79ad
Merge pull request #5667 from simon902/CVTTSS2SIOverride
...
Fix cvttss2si when prefixed with 0x66
2026-07-09 12:52:00 -07:00
Ryan Houdek
ff7a54add8
Merge pull request #5668 from OFFTKP/inf
...
Fix element getting overwritten in 66_5B test
2026-07-09 12:26:46 -07:00
Ryan Houdek
c3d1157696
Merge pull request #5669 from OFFTKP/lzcnt
...
Fix LZCNT tests reading out of bounds
2026-07-09 12:24:43 -07:00
Ryan Houdek
d0f03cb148
Merge pull request #5674 from lioncash/insertq
...
Vector: Trim one instruction off insertq
2026-07-09 12:24:06 -07:00
LC
9b7c9f0fb6
Vector: Trim one instruction off insertq
...
We can fold a bitwise not and and pair into a bic
2026-07-09 14:58:04 -04:00
Ryan Houdek
e508b6df0d
Merge pull request #5673 from lioncash/vbitwise
...
IR: Remove need to specify element size for vector bitwise ops
2026-07-09 11:42:37 -07:00
LC
710b85be70
IR: Remove need to specify element size for vector bitwise ops
...
Element size doesn't really mean anything here, considering all bits are
acted upon independently of segmentation.
Makes using these ops a little bit less noisy.
2026-07-09 13:26:51 -04:00
Tony Wasserka
66455b708a
CodeCache: Switch between 32-/64-bit compilers during cache generation
2026-07-09 17:17:19 +02:00
Tony Wasserka
8b8000b98a
CodeCache/WoA: Run cache generation in a subprocess to improve robustness
2026-07-09 17:16:16 +02:00
Tony Wasserka
54236df6e0
CodeCache: Record main executable bitness in code map
...
Code maps already contain the main executable they were recorded from, so
it's convenient to capture the executable's bitness along the way.
2026-07-09 17:12:45 +02:00
LC
6cd2a48910
Merge pull request #5666 from Sonicadvance1/184
...
FEXCore: Fixes a crash with multiblock if `ProcessorID` IR op is encountered
2026-07-09 10:16:06 -04:00
Simon Scherer
fe08b96844
OpcodeDispatcher: Fix cvttss2si when prefixed with 0x66
2026-07-09 11:58:18 +02:00
Simon Scherer
4d78901420
OpcodeDispatcher: Fix movd when prefixed with 0x66
2026-07-09 11:46:48 +02:00
Simon Scherer
c06468025c
unittests/ASM: Test movd prefixed with 0x66
2026-07-09 11:46:10 +02:00
Paris Oplopoios
148e539025
Fix LZCNT tests reading out of bounds
2026-07-09 12:36:18 +03:00
Paris Oplopoios
92b96ff30d
Fix element getting overwritten in 66_5B test
2026-07-09 11:54:38 +03:00
Simon Scherer
778df0c93b
unittests/ASM: Test cvttss2si prefixed with 0x66
2026-07-09 09:24:59 +02:00
Ryan Houdek
9d18ecc5cb
FEXCore: Fixes a crash with multiblock if ProcessorID IR op is encountered
...
If during multiblock code discovery a RDTSCP/RDPID instruction was
encountered then ProcessorID has an assert at JIT compile time. Make
sure to early exit with an illegal instruction encoding early instead.
Also make sure to correctly report RDPID support in CPUID, it's
technically a different bit than RDTSCP.
Fixes a crash in Crusader Kings 3's Paradox Launcher installer. Although
the installer seems to fail otherwise for some reason.
2026-07-08 17:41:03 -07:00
Ryan Houdek
5f2455c502
Merge pull request #5665 from lioncash/blendop
...
[SVE256] Handle 256-bit blend operations much more efficiently
2026-07-08 16:43:20 -07:00
LC
6bc67609a3
[SVE256] Handle 256-bit blend operations much more efficiently
...
We can massage a given selector into a valid predicate register bitmask
and then simply perform a merging move, which eliminates most busywork
around optimizing 256-bit blends.
In the future, once we drop SVE2.1 support in, we can use PMOV to
eliminate the load from memory and related constant management.
2026-07-08 17:35:12 -04:00
LC
1bd3945dd9
Merge pull request #5577 from Sonicadvance1/168
...
Context: Add support for single-step RIP ranges
2026-07-08 15:47:28 -04:00
Ryan Houdek
168f4b1e6b
Context: Add support for single-step RIP ranges
...
Useful when debugging a range.
2026-07-08 12:21:16 -07:00
LC
8a8827c980
Merge pull request #5664 from simon902/CMPXCHGZeroing
...
OpcodeDispatcher: Fix 32bit cmpxchg zero extension with eax as first operand
2026-07-08 15:14:12 -04:00
Ryan Houdek
21a968b84d
Merge pull request #5663 from simon902/PDEPoverlap
...
JIT/ALUOps: Fix operand overlapping bug for pdep
2026-07-08 11:08:12 -07:00
Simon Scherer
84fab84b3f
InstcountCI: Update
2026-07-08 15:00:18 +02:00
Simon Scherer
3d65c030a8
OpcodeDispatcher: Fix 32bit cmpxchg zero extension with eax as destination operand and remove incorrect comment.
2026-07-08 14:58:32 +02:00
Simon Scherer
59097bab20
unittests/ASM: Test cmpxchg with eax as destination
2026-07-08 14:52:19 +02:00
Simon Scherer
4cbacd9261
InstcountCI: Update
2026-07-08 10:10:30 +02:00
Simon Scherer
655102fc7d
JIT/ALUOps: Fix operand overlapping bug for pdep
2026-07-08 10:09:47 +02:00
Simon Scherer
f718f46545
unittests/ASM: Test overlapping operands for pdep
2026-07-08 09:47:12 +02:00
LC
71d4e2c320
Merge pull request #5660 from Sonicadvance1/183
...
Wow64: Spin loop on atomic with WFE
2026-07-07 22:53:50 -04:00
Ryan Houdek
41241d7500
Wow64: Spin loop on atomic with WFE
...
Instead of burning roughly a million watts, put this spinloop on a WFE.
This tends to occur on a crash during shutdown that isn't fully able to
be avoided. The least we can do is not consume all the power in the
world.
2026-07-07 16:09:00 -07:00
Ryan Houdek
b90c9836cb
Merge pull request #5662 from lioncash/alias
...
OpcodeDispatcher: Remove asterisk from BMI source args
2026-07-07 11:22:59 -07:00
Ryan Houdek
aff3fcf76d
Merge pull request #5658 from neobrain/fix_woa_code_cache_ec
...
CodeCache: Mark executable memory as EC code on ARM64EC
2026-07-07 11:22:15 -07:00
Ryan Houdek
ec2aa4063a
Merge pull request #5661 from lioncash/blend
...
unittests: Add stress tests for VBLEND{PD, PS}
2026-07-07 11:13:56 -07:00
LC
718f2e01f7
OpcodeDispatcher: Remove asterisk from BMI source args
...
Keeps it consistent with the rest of the code and prevents breakages
whenever the Ref alias gets turned into its own value type.
2026-07-07 14:07:38 -04:00
LC
ba9f7fb1b5
unittests: Add stress tests for VBLEND{PD, PS}
...
Forgot about these two
2026-07-07 13:49:09 -04:00
Tony Wasserka
0ac6b3e8f3
CodeCache: Mark executable memory as EC code on ARM64EC
...
See bd5b817c3a .
2026-07-07 15:55:27 +02:00
Ryan Houdek
dddad1c2ca
Merge pull request #5659 from lioncash/shuf
...
unittests: Add stress tests for VSHUF{PD, PS}
2026-07-06 15:50:08 -07:00
LC
95bfff20a4
unittests: Add stress tests for VSHUF{PD, PS}
...
Covers the remaining shuffle paths
2026-07-06 18:01:52 -04:00
LC
7a6f0def85
Merge pull request #5653 from Sonicadvance1/182
...
Config: Fixes AppOverrides with FEX_APP_CONFIG
2026-07-06 17:01:55 -04:00
Ryan Houdek
103d4d76be
Config: Fixes AppOverrides with FEX_APP_CONFIG
2026-07-06 12:43:14 -07:00
Ryan Houdek
db9414a756
Merge pull request #5655 from neobrain/feature_woa_cache_loading
...
Windows/ImageTracker: Adapt code cache loading logic to FEXOfflineCompiler
2026-07-06 12:40:40 -07:00
Ryan Houdek
5a0bf1bb5f
Merge pull request #5657 from neobrain/fix_foc_syscall_abi_woa
...
FEXOfflineCompiler: Fix improper syscall ABI on WoA
2026-07-06 12:37:52 -07:00