Ryan Houdek
2af7c24e79
Merge pull request #5687 from lioncash/limit
...
x32/Thread: Fix off-by-one in get_thread_area
2026-07-10 10:14:29 -07:00
Ryan Houdek
94ccfefa84
Merge pull request #5686 from lioncash/fd
...
x32/FD: Ensure sendfile updates offset if set
2026-07-10 10:14:18 -07:00
Ryan Houdek
5f2d19c7aa
Merge pull request #5685 from lioncash/faddv
2026-07-10 03:33:43 -07:00
Ryan Houdek
95e7c866cf
Merge pull request #5682 from lioncash/pid
2026-07-10 03:20:23 -07:00
Ryan Houdek
2effdb04bd
Merge pull request #5684 from lioncash/midr
2026-07-10 03:18:25 -07:00
Ryan Houdek
ab31e3e3bb
Merge pull request #5683 from lioncash/mul
2026-07-10 03:18:09 -07:00
LC
37b1432514
x32/Thread: Fix off-by-one in get_thread_area
...
12, 13, and 14 are the only valid TLS areas.
2026-07-10 06:06:30 -04:00
LC
6e8bc337aa
x32/FD: Ensure sendfile updates offset if set
2026-07-10 05:58:49 -04:00
Ryan Houdek
8347566815
Merge pull request #5681 from lioncash/timer
2026-07-10 02:51:20 -07:00
LC
ede09a03db
VectorOps: Fix 256-bit FADDV path
...
Avoids falling down to the SVE-128 path.
2026-07-10 05:50:22 -04:00
LC
849d60253c
CPUID: Fix MIDR walking in SetupHostHybridFlag()
2026-07-10 05:46:16 -04:00
LC
b5660c8a92
MiscOps: Avoid stack misalignment in ProcessorID
...
This needs to be an add.
2026-07-10 05:41:54 -04:00
LC
54263bb5a7
ALUOps: Fix 32-bit MulH case
...
These need to be 64-bit multiply and ubfx. Thankfully this case wasn't
actually hit in practice.
2026-07-10 05:39:14 -04:00
LC
4069a9f7d5
Timer: Fix typo in timer_gettime
...
This should be passed by reference rather than by value.
2026-07-10 05:33:06 -04:00
Ryan Houdek
77467eaf0c
Merge pull request #5680 from lioncash/usrai
...
IR: Remove unused VUShraI
2026-07-10 01:50:51 -07:00
LC
caa030714b
IR: Remove unused VUShraI
...
Given that this is currently unused and that we don't have the signed
equivalent implemented, we can just remove this for now.
2026-07-10 04:15:52 -04:00
Ryan Houdek
facbc78e0a
Merge pull request #5679 from lioncash/macro
...
ALUOps: Remove unused macros
2026-07-10 00:50:52 -07:00
LC
6488dcbb01
ALUOps: Remove unused macros
...
These are now unused.
2026-07-10 03:30:03 -04:00
LC
37265b109a
Merge pull request #5676 from Sonicadvance1/185
...
FEX: Remove FEXInterpreter binary
2026-07-09 18:39:36 -04:00
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
Ryan Houdek
523bbef034
FEX: Remove FEXInterpreter binary
...
It's been ten months, a bit longer than than I was expecting to keep
this around. Go ahead and remove it now.
2026-07-09 15:11:30 -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