Ryan Houdek
465395dede
OpcodeDispatcher: Implement SLDT
...
Not 100% correct because the Linux kernel has some cheeky false data
return value when an LDT gets installed. But FEX can't really do it
properly today so whatever.
2026-10-22 15:29:16 -07:00
Ryan Houdek
4e2b509a42
Merge pull request #6052 from Sonicadvance1/283
...
HostFeatures: Make a stronger distinction between CPU features and Process features
2026-10-21 16:57:04 -07:00
Ryan Houdek
888bd7f55d
InstcountCI: Update
2026-10-21 16:34:31 -07:00
Ryan Houdek
cbcb003425
HostFeatures: Make a stronger distinction between CPU features and Process features
...
We want to have two distinct control knobs here. CPU features that don't
change between Linux, Wow64, Arm64ec, and additional options that change
depending on the process environment.
This distinction was a /bit/ muddy where I added
`SupportsFaultFreeSynchronousFaults` to the wrong side of that. Make it
more distinct by logically splitting it out so that HostType, the
fault-free-faults, and added Is64BitMode all lives together.
This lets the DiskCache code which is hashing these variables look a bit
nicer and also correctly logically separate the two halves.
2026-10-21 16:34:29 -07:00
Ryan Houdek
89713ba3c0
Merge pull request #6053 from javelina-pkwy/fix/group1-0x82-alu
...
Decoder: Fix alias issue with 0x82 opcode
2026-10-21 16:14:35 -07:00
Ryan Houdek
24987bed72
Merge pull request #6047 from javelina-pkwy/perf/knuth-div
...
ALUOps: Inline 128 bit division
2026-10-21 16:13:36 -07:00
Justin Becker
7974346a7e
Tests: add locked form
2026-10-21 15:53:09 -07:00
Justin Becker
0a448176dc
clang-format
2026-10-21 15:42:07 -07:00
Justin Becker
5d6699e58b
Tests: check the x64 sigill behavior for this alias
2026-10-21 15:42:07 -07:00
Justin Becker
7b909d31e2
OpcodeDispatcher: Handle 0x82 alias for 0x80 in x86 mode
2026-10-21 15:42:07 -07:00
Justin Becker
9cb94e1efe
Oops: didn't update InstructionCountCI correctly
2026-10-21 15:31:55 -07:00
Justin Becker
eedb8be51a
NIT: Clarify comment
2026-10-21 15:31:55 -07:00
Justin Becker
01b344b444
JIT: Slightly shorter path for EmitDivllu
2026-10-21 15:31:55 -07:00
Justin Becker
646c442b85
DiskCache: Bump version
2026-10-21 15:31:55 -07:00
Justin Becker
d21ae973ae
Tests: add DIV tests
2026-10-21 15:31:12 -07:00
Justin Becker
9f7913edb8
JIT: Inline 128 bit unsigned divide
...
Testing on X2 Elite suggests a ~4x speedup by this technique
2026-10-21 15:31:12 -07:00
Ryan Houdek
ca389e06a6
code-format-helper: More dependabot things
2026-10-21 14:26:32 -07:00
LC
805f44b8d5
Merge pull request #6050 from Sonicadvance1/281
...
CPUID: Add new Apple Silicon names
2026-10-21 16:42:16 -04:00
LC
80e28a1e2e
Merge pull request #6051 from Sonicadvance1/282
...
code-format-helper: More dependabot things
2026-10-21 16:41:28 -04:00
Ryan Houdek
21b098c44b
code-format-helper: More dependabot things
2026-10-21 13:01:05 -07:00
Ryan Houdek
2ac75c26c8
CPUID: Add new Apple Silicon names
2026-10-21 12:56:06 -07:00
LC
3b7daa5e8d
Merge pull request #6048 from Sonicadvance1/280
...
Implement support for AVX_NE_Convert
2026-10-20 22:05:02 -04:00
Ryan Houdek
407e78e69c
InstcountCI: Update and add AVX_NE_CONVERT instructions
2026-10-20 18:21:29 -07:00
Ryan Houdek
f5006ab274
unittests/ASM: Adds new AVX_NE_CONVERT tests
2026-10-20 18:21:27 -07:00
Ryan Houdek
8ad4db7f71
InstcountCI: Control BF16 if required
2026-10-20 18:21:26 -07:00
Ryan Houdek
e7554e98f0
HostFeatures: Support controlling BF16
2026-10-20 18:21:26 -07:00
Ryan Houdek
ff65694cd0
TestHarnessRunner: Add AVX_NE_CONVERT feature
2026-10-20 18:15:23 -07:00
Ryan Houdek
a98c5a3e38
FEXCore/CPUID: Expose AVX_NE_CONVERT
2026-10-20 17:29:04 -07:00
Ryan Houdek
fd4c097628
AVX256: Implement AVX_NE_CONVERT
...
Doesn't require SVE_BF16, only BF16 because we split the operation even
on 256-bit.
2026-10-20 17:29:04 -07:00
Ryan Houdek
36d3bb6185
AVX128: Implement AVX_NE_CONVERT
2026-10-20 17:17:48 -07:00
Ryan Houdek
75d808934c
HostFeatures: Detect BF16 support
2026-10-20 17:17:48 -07:00
Ryan Houdek
c4f0ae7e55
X86Tables: Describe AVX_NE_CONVERT instructions
2026-10-20 17:17:47 -07:00
Ryan Houdek
8f927c9480
IR: Add support for BF16 conversion operations
2026-10-20 17:17:47 -07:00
Ryan Houdek
581e8d4f11
IR: Support movi 64-bit imm expansion
...
Explicit option to make it obvious.
2026-10-20 17:17:47 -07:00
Ryan Houdek
c77f476bfe
CodeEmitter: Adds support for BF16 conversion instructions.
2026-10-20 16:04:15 -07:00
LC
eeb99027c7
Merge pull request #6046 from Sonicadvance1/278
...
HostFeatures: clang-format
2026-10-20 14:19:57 -04:00
Ryan Houdek
14b3021d1c
HostFeatures: clang-format
...
Somehow this was missed and now it is showing up.
2026-10-20 09:53:20 -07:00
LC
fd8a601772
Merge pull request #6042 from Sonicadvance1/275
...
OpcodeDispatcher: Add undefined flags acid test
2026-10-20 12:27:42 -04:00
LC
a36ca807c8
Merge pull request #6044 from mstorsjo/libcxx-24-strtof
...
Add another function stub for libc++ 24 on Windows
2026-10-20 12:27:28 -04:00
Martin Storsjö
04f078e265
Add another function stub for libc++ 24 on Windows
...
This is needed by libc++ on mingw targets since
https://github.com/llvm/llvm-project/commit/c7da05f9828542daaf634a6f4277212b5f6194d5 ,
which will be included in libc++ 24.
2026-10-20 14:50:36 +03:00
LC
d7b8e1497a
Merge pull request #6043 from Sonicadvance1/276
...
FEXCore: Wire up support for SERIALIZE
2026-10-19 17:47:03 -04:00
Ryan Houdek
25eb85f80e
HostRunner: Support checking for SERIALIZE
2026-10-19 14:29:03 -07:00
Ryan Houdek
47de7e352d
InstcountCI: Update
2026-10-19 14:11:45 -07:00
Ryan Houdek
f256d97ddb
FEXCore: Wire up support for SERIALIZE
...
Trivial instruction.
2026-10-19 14:11:06 -07:00
Ryan Houdek
651b94f435
OpcodeDispatcher: Add undefined flags acid test
...
Useful debug feature to make sure FEX returns consistent flag data for
instructions that have undefined flags. Just sets everything that is
undefined to zero always.
Manually walked through all the instructions in the architecture manual
to check for ones doing undefined flag setting, then glued the handler
on to the end.
Also fixes a comment that has incorrect information about undefined
flags.
2026-10-19 13:50:34 -07:00
Ryan Houdek
741e146fdf
Merge pull request #6039 from Sonicadvance1/274
...
arm64ec: Have synchronous faults skip fault overhead
2026-10-17 18:53:39 -07:00
Ryan Houdek
761369f590
InstcountCI: Update
2026-10-13 20:06:49 -07:00
Ryan Houdek
27cfd41bf9
FEXCore: Wire up the fault free synchronous fault handling
...
Changes the code generation on arm64ec so the version needs to bump.
2026-10-13 19:55:36 -07:00
Ryan Houdek
07abec317c
Arm64ec: Wire up non-faulting synchronous faults
2026-10-13 19:55:33 -07:00
Ryan Houdek
461b286a8a
Dispatcher: Adds unused synchronous dispatch handler
2026-10-13 18:07:22 -07:00