Ryan Houdek
879b41c184
Merge pull request #3134 from Sonicadvance1/remove_x86_jit
...
FEXCore: Removes x86 JIT.
2023-09-22 15:36:47 -07:00
Ryan Houdek
0fbf403787
Adds back in host testharnessrunner CI
...
Necessary for asm tests to still run in the host "core".
Useful for ensuring correct behaviour of our assembly tests.
2023-09-22 14:46:03 -07:00
Ryan Houdek
02ae59a348
github: Disables default build test on x64
2023-09-21 18:30:03 -07:00
Ryan Houdek
64df9e31c6
github: Remove mingw tests from x86 CI
2023-09-21 18:30:03 -07:00
Ryan Houdek
d32bb993a8
github: Remove glibc fault tests from x86 CI
2023-09-21 18:30:03 -07:00
Ryan Houdek
b5cc9a12f2
FEXCore: Removes x86 JIT.
...
This is blocking performance improvements. This backend is almost
unilaterally unused except for when I'm testing if games run on Radeon
video drivers.
Hopefully AmpereOne and Orin/Grace can fulfill this role when they
launch next year.
2023-09-21 18:30:02 -07:00
Ryan Houdek
65b6df9dbb
Merge pull request #3133 from Sonicadvance1/remove_vestigial_interpreter
...
FEXCore: Removes vestigial Interpreter code
2023-09-21 18:15:32 -07:00
Ryan Houdek
31564354b1
FEXCore: Removes vestigial Interpreter code
2023-09-21 15:49:49 -07:00
Ryan Houdek
fea72ce19c
Merge pull request #3120 from Sonicadvance1/more_optimal_x87
...
FEXCore: Support preserve_all ABI for interpreter fallbacks
2023-09-21 15:35:37 -07:00
Ryan Houdek
2b7e1d10ec
Merge pull request #3131 from Sonicadvance1/optimize_btr
...
OpcodeDispatcher: Optimize lock btr
2023-09-21 15:06:55 -07:00
Ryan Houdek
5444810d64
Merge pull request #3132 from alyssarosenzweig/opt/orlshl
...
Optimize reconstructing x87, harder
2023-09-21 15:02:37 -07:00
Ryan Houdek
4a2ceabfdd
InstCountCI: Add atomic bit test instructions
...
These all can likely be more optimal.
2023-09-21 14:54:51 -07:00
Ryan Houdek
1a4d1d820b
OpcodeDispatcher: Optimize lock btr
...
This is an atomicFetchCLR, removes two mvn instructions that are back to
back negating the source.
We didn't have this instruction combination in InstCountCI so will be a
bit hard to see.
2023-09-21 14:54:51 -07:00
Ryan Houdek
0ae4bbb9c5
IR: Implements support for AtomicFetchCLR
...
This is the native ARM operation rather than fetchAnd. Will make an
instruction an instruction slightly more optimal.
2023-09-21 14:54:51 -07:00
Ryan Houdek
7d99eb05c6
Merge pull request #3128 from alyssarosenzweig/rm/interp
...
FEXCore: Gut interpreter
2023-09-21 14:51:44 -07:00
Alyssa Rosenzweig
8247ded2cf
unittests: Remove stale comments
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2023-09-21 12:48:12 -04:00
Alyssa Rosenzweig
c52741c813
FEXCore: Gut interpreter
...
It is scarcely used today, and like the x86 jit, it is a significant
maintainence burden complicating work on FEXCore and arm64 optimization. Remove
it, bringing us down to 2 backends.
1 down, 1 to go.
Some interpreter scaffolding remains for x87 fallbacks. That is not a problem
here.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2023-09-21 12:48:12 -04:00
Alyssa Rosenzweig
75ffbc16f2
InstCountCI: Update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2023-09-21 09:14:08 -04:00
Alyssa Rosenzweig
1596e33f58
OpcodeDispatcher: Remove pointless or
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2023-09-21 09:13:41 -04:00
Alyssa Rosenzweig
07d03f1610
OpcodeDispatcher: Don't opencode bfe, badly
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2023-09-21 09:13:41 -04:00
Alyssa Rosenzweig
a8b48dcacd
OpcodeDispatcher: Swap some selects
...
...if it lets us use cset.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2023-09-21 09:13:41 -04:00
Alyssa Rosenzweig
bb87b2a19d
OpcodeDispatcher: Use more Orlshl
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2023-09-21 09:13:41 -04:00
Alyssa Rosenzweig
19eff62c77
OpcodeDispatcher: Use orlshl for FCW
...
Potentially easier on the RA (bfi has a tied operand), mostly whatever here.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
2023-09-21 08:55:25 -04:00
Mai
5fc8699db9
Merge pull request #3130 from Sonicadvance1/optimize_fsw
...
OpcodeDispatcher: Optimize reconstructing FSW
2023-09-21 08:35:16 -04:00
Mai
43fd159689
Merge pull request #3129 from Sonicadvance1/remove_non_explicit_selectcc
...
OpcodeDispatcher: Removes non-explicit SelectCC function
2023-09-21 08:33:30 -04:00
Ryan Houdek
758820ca86
InstCountCI: Update for optimized FSW reconstruction
2023-09-21 02:27:04 -07:00
Ryan Houdek
5664195e49
OpcodeDispatcher: Optimize reconstructing FSW
...
Minor optimization using Bfi to insert C0, C1, C2, & C3
2023-09-21 02:07:27 -07:00
Ryan Houdek
683daefc15
InstCountCI: Minor changes
2023-09-21 01:57:08 -07:00
Ryan Houdek
8e9e87f631
OpcodeDispatcher: Removes non-explicit SelectCC function
...
Renames the explicit sized one to `SelectCC`
Cleans up a bit of duplicated code.
2023-09-21 01:56:38 -07:00
Ryan Houdek
0a0865eb1c
InstCountCI: Update for minor change
2023-09-20 18:51:18 -07:00
Ryan Houdek
d588d41ab9
InterpreterFallbacks: Converts X87 and String ops to preserve_all
...
This improves performance!
2023-09-20 18:51:18 -07:00
Ryan Houdek
8aa8d597f6
Arm64: Supports jumping out of the JIT with preserve_all ABI
...
This improves perferformance when jumping out of the Arm64 JIT by
reducing the number of registers we need to save.
2023-09-20 18:51:18 -07:00
Ryan Houdek
67680d71a4
Merge pull request #3125 from Sonicadvance1/spdx_fexcore
...
FEXCore: Adds SPDX identifier
2023-09-19 17:42:07 -07:00
Ryan Houdek
d86f41e29a
Merge pull request #3124 from Sonicadvance1/spdx_fexcore_include
...
FEXCore/Include: Adds SPDX identifier
2023-09-19 17:41:59 -07:00
Ryan Houdek
ba56e514bd
Merge pull request #3123 from Sonicadvance1/spdx_fex_linux
...
FEX: Moves Linux utils and adds spdx
2023-09-19 17:41:51 -07:00
Ryan Houdek
9f5f09b772
Merge pull request #3122 from Sonicadvance1/spdx_fex_common
...
FEX/Common: Adds SPDX identifier
2023-09-19 17:41:44 -07:00
Ryan Houdek
ddf4b5cbd4
Merge pull request #3121 from Sonicadvance1/spdx_tools
...
FEX/Tools: Adds SPDX identifier
2023-09-19 17:41:34 -07:00
Ryan Houdek
e4613477b1
FEXCore/Interface/Core: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
d18ce59187
FEXCore/Interface/Core/JIT: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
1032224d62
FEXCore/Interface/Core/Interpreter: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
44767901fe
FEXCore/Interface/Core/Dispatcher: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
1220c86573
FEXCore/Interface/Core/ArchHelpers: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
6ace406a2f
FEXCore/Interface/Core/ObjectCache: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
38f1536255
FEXCore/Interface/Core/OpcodeDispatcher: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
324473651e
FEXCore/Interface/Core/X86Tables: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
573148b27a
FEXCore/Interface/Core/VSyscall: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
12e1c2eaa0
FEXCore/Interface/Context: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
c678ea3060
FEXCore/Interface/GDBJIT: Adds SPDX identifier
2023-09-19 17:33:15 -07:00
Ryan Houdek
e570b07ba0
FEXCore/Interface/Thunks: Adds SPDX identifier
2023-09-19 17:33:14 -07:00
Ryan Houdek
afda4d6b7a
FEXCore/Interface/IR: Adds SPDX identifier
2023-09-19 17:33:14 -07:00