Simon Scherer
8ed4c52d58
OpcodeDispatcher: Don't skip the MMX state transition for same-register writes in MOVVectorUnalignedOp
2026-09-04 17:00:45 +02:00
Simon Scherer
bd65c3e568
unittests/ASM: Test PFRCPIT1 self-move
2026-09-04 16:58:10 +02:00
LC
7052f91495
Merge pull request #5919 from simon902/fst_tag_word
...
Mark tag word valid for FST ST(0) self-store
2026-09-04 06:34:08 -04:00
Simon Scherer
040d3115d2
InstcountCI: Update
2026-09-04 11:53:13 +02:00
Simon Scherer
7236c2bf0a
Fix x87 tag word not updating on FST ST(0) self-store
2026-09-04 11:51:12 +02:00
Simon Scherer
ed3fa2f1c6
unittests/ASM: Test FST ST(0) tag word update
2026-09-04 11:50:21 +02:00
LC
a454845ffd
Merge pull request #5909 from simon902/fxch_tag_word
...
Mark both operands valid in the tag word for FXCH
2026-09-04 02:50:17 -04:00
Simon Scherer
96d65cd6bc
InstcountCI: Update
2026-09-04 08:30:03 +02:00
Simon Scherer
e4e45bcc59
x87StackOptimizationPass: Set both operands as valid in the tag word for FXCH
2026-09-04 08:26:17 +02:00
Simon Scherer
45fbab212a
unittests/ASM: Test FXCH for tag word
2026-09-04 08:26:17 +02:00
Ryan Houdek
8243b93e4d
Merge pull request #5917 from lioncash/wfe
...
System_Tests: Enable WFET/WFIT tests
2026-09-03 23:18:10 -07:00
Ryan Houdek
52cc5689db
Merge pull request #5916 from lioncash/bf
...
ARMEmitter: Fill in bfloat API holes
2026-09-03 23:16:20 -07:00
LC
cfef3d2cbf
Merge pull request #5892 from simon902/FDECSTP_FDECSTP_C1
...
Clear C1 for fdecstp and fincstp
2026-09-04 01:57:31 -04:00
Simon Scherer
fd64ea54fe
InstcountCI: Update
2026-09-04 07:32:09 +02:00
Simon Scherer
d1b2333195
OpcodeDispatcher: Clear C1 to 0 for X87ModifySTP (fdecstp and fincstp)
2026-09-04 07:22:05 +02:00
Simon Scherer
97fbd11177
unittests/ASM: Test fdecstp and fincstp for C1 clear
2026-09-04 07:22:05 +02:00
LC
e7836f26dd
Merge pull request #5914 from Sonicadvance1/230
...
Core: Adds more validation around pool buffer ownership
2026-09-03 23:13:43 -04:00
Ryan Houdek
cf6da6ac26
Merge pull request #5915 from lioncash/vixl
...
Externals: Update vixl
2026-09-03 19:33:19 -07:00
Ryan Houdek
a0cb91daa4
Core: Adds more validation around pool buffer ownership
...
All buffers should be disowned leaving their respective compilation
sites, and reowning a buffer should never have the flag already be
owned.
Throw an assert in both cases because that would be a programming error
and result in some squirrely buffer handling
2026-09-03 14:39:01 -07:00
Ryan Houdek
e010e8adf0
Merge pull request #5897 from Plagman/plagman/anon_key_mr
...
DiskCache: initial anon caching
2026-09-03 14:38:26 -07:00
LC
7fe7c39a00
Merge pull request #5911 from javelina-pkwy/fix/windows-syscalls-arm64ec
...
Windows: Fix syscall regression
2026-09-03 14:48:02 -04:00
Justin Becker
b03dc847f5
Fix syscall regression
2026-09-03 11:09:19 -07:00
LC
ac6be77592
Merge pull request #5900 from simon902/fincstp_tag_word
...
x87StackOptimizationPass: Generalize ST(0) tag invalidation on pop
2026-09-03 09:43:37 -04:00
Lioncache
35330df728
System_Tests: Enable WFET/WFIT tests
...
vixl supports these now.
2026-09-03 07:24:28 -04:00
Lioncache
bd9897b164
ARMEmitter: Handle BFCVTNT
2026-09-03 06:33:02 -04:00
Lioncache
e704275ffd
ARMEmitter: Handle BFCVT
2026-09-03 06:32:57 -04:00
Lioncache
e33cb3c831
SVE_Tests: Enable BFMLAL tests
2026-09-03 05:52:27 -04:00
Lioncache
91264f05e2
Externals: Update vixl
...
Keeps it up to date with the latest HEAD
Also amends the recent disassembler changes.
2026-09-03 04:24:35 -04:00
Simon Scherer
30e4650a8b
InstcountCI: Update
2026-09-03 08:32:59 +02:00
Simon Scherer
add92f681b
unittests/ASM: Test fpatan and fyl2x to clear tag
2026-09-03 08:29:15 +02:00
Simon Scherer
21b8f8e20d
x87StackOptimizationPass: Generalize ST(0) tag invalidation on pop
...
UpdateTopForPop_Slow() now invalidates ST(0)'s tag by default,
so every slow-path StackPop() does this consistently instead of
the previous special case only in OP_POPSTACKDESTROY.
FINCSTP is an exception as it only moves the stack pointer without
invalidating the tag.
2026-09-03 08:26:14 +02:00
Simon Scherer
ca055cd7d5
unittests/ASM: Test FINCSTP for tag word
2026-09-03 08:05:40 +02:00
Pierre-Loup A. Griffais
42e207932b
InstcountCI: Update
2026-09-02 19:55:47 -07:00
Pierre-Loup A. Griffais
3157685f0f
DiskCache: initial anon caching
...
Decode a few bytes in advance to get a hashable prefix to use as key.
Generate touched pages dynamically since they can be misaligned now, as the
cached-hit guest code isn't necessarily in the same spot as the store was.
2026-09-02 19:53:34 -07:00
LC
d833f3ae67
Merge pull request #5906 from Sonicadvance1/229
...
OpcodeDispatcher: Validate instruction encodings with crc
2026-09-02 22:18:02 -04:00
Ryan Houdek
fbf5187794
InstcountCI: Update
2026-09-02 18:35:36 -07:00
Ryan Houdek
f2c8adf7a3
OpcodeDispatcher: Validate instruction encodings with crc
...
PR #5902 technically introduced a bug where we would read past the end
of bounds for thunk instructions when full smc was enabled. Luckily this
never occurs in practice as the Mono hacks never are on VDSO boundaries,
and no one is expected to enable full smc detection really.
Switch this path over to using crc32 unconditionally. This raises our
minspec technically to armv8-a+crc, but nothing that matters shipped
without crc so it's fine.
This also is a minor speed and JIT size reduction due less branches
polluting the BTB. But really only for mono/unity games.
Requires revving the DiskCache version again.
2026-09-02 18:35:08 -07:00
Ryan Houdek
d472ce190c
CMake: Always enable crc32
...
This effectively raises our minspec to ARMv8.0-a + crc.
2026-09-02 18:25:19 -07:00
LC
c4c82f23ee
Merge pull request #5905 from Sonicadvance1/228
...
FEXCore: Support ThreadRemoveCodeEntry as relocatable
2026-09-02 20:32:07 -04:00
Ryan Houdek
20e9e2044e
InstcountCI: Update
2026-09-02 17:15:36 -07:00
Ryan Houdek
1a0412969b
FEXCore: Support ThreadRemoveCodeEntry as relocatable
...
Frontend just needs to generate a relocatable entry and pass it to the
backend.
2026-09-02 17:14:49 -07:00
LC
55c80e6c4f
Merge pull request #5902 from Sonicadvance1/226
...
FEXCore/Frontend: Ensure instruction sizes account for sha256 in thunk op
2026-09-02 19:56:53 -04:00
LC
83469208c9
Merge pull request #5904 from javelina-pkwy/opt/pmulhrsw
...
Faster translation for *PMULHRSW
2026-09-02 19:54:24 -04:00
Justin Becker
3471ca67c4
Bump DiskCache version number
2026-09-02 16:40:17 -07:00
Ryan Houdek
4048faa54b
FEXCore/Frontend: Ensure instruction sizes account for sha256 in thunk op
...
Fixes the hashing mechanism from DiskCache.cpp, allowing it to properly
handle thunk relocations.
Fixes #5896
2026-09-02 14:32:08 -07:00
jubecker
61d94ac117
Potential improvement for *PMULHRSW
2026-09-02 14:31:18 -07:00
LC
511c45c4c6
Merge pull request #5886 from simon902/IE_sticky
...
Preserve previous value of IE exception flag
2026-09-02 06:49:35 -04:00
Simon Scherer
bce8b13366
InstcountCI: Update
2026-09-02 07:47:24 +02:00
Simon Scherer
4a7fda4516
OpcodeDispatcher: Preserve IE exception flag for FCOMI and FTST
2026-09-02 07:42:04 +02:00
Simon Scherer
b29561e131
unittests/ASM: Test stickyness of IE exception flag
2026-09-02 07:42:04 +02:00