Ryan Houdek
e9e88968d7
Emitter: Remove unused header
2023-01-11 10:52:57 -08:00
Ryan Houdek
70d4a436cf
Docs: Update for release FEX-2301
FEX-2301
2023-01-06 07:53:17 -08:00
Ryan Houdek
ec55ecdb31
Merge pull request #2290 from Sonicadvance1/new_arm_emitter
...
Create a new ARM64 Emitter and move JIT over to it.
2023-01-05 13:50:25 -08:00
Tony Wasserka
12b866c276
Merge pull request #2308 from neobrain/refactor_thunkdb_loading
...
ThunkDB: Clean up database loading
2023-01-05 14:56:35 +01:00
Tony Wasserka
1038ba7060
ThunksDB: Disable error message in 32-bit mode
2023-01-05 14:45:13 +01:00
Tony Wasserka
9bde513161
Thunks: Simplify state carried around while setting up ThunkOverlays
2023-01-05 12:15:09 +01:00
Tony Wasserka
2e3f77c43f
ThunksDB: Clean up initial DB loading
2023-01-05 12:15:09 +01:00
Tony Wasserka
0d8de6463b
Thunks: Move LoadThunkDatabase out of the header file
2023-01-05 12:15:08 +01:00
Tony Wasserka
98349ee485
ThunksDB: Clean up string replacement logic
2023-01-05 12:15:08 +01:00
Tony Wasserka
e486833d75
Merge pull request #2307 from neobrain/fix_thunkdb_libnames
...
ThunksDB: Fix misspelt guest library names
2023-01-04 15:43:51 +01:00
Ryan Houdek
8a38999c7a
RAData: Fixes uninitialized members
2023-01-04 05:30:01 -08:00
Ryan Houdek
2d0b61fd9d
Emitter: Adds unit tests
...
Every operation that the emitter supports is tested in the unit tests.
For the most part uses vixl's dissassembler and a string comparison to
ensure the emitter is outputing what we expect.
For operations that are PC-relative we instead use a bit-exact test to
ensure it is outputting what we care about. This is because vixl
helpfully outputs the PC that the operation is acting on. Since these
locations aren't static in memory, the PC moves around per test.
2023-01-04 05:30:01 -08:00
Ryan Houdek
ffd9bb547d
Arm64: Convert ARM Emitter over to new emitter
...
Not yet complete. Missing a full SVE implementation and needs
testing/validation.
2023-01-04 05:30:01 -08:00
Ryan Houdek
7a6ef8821f
Arm64: Adds new ARM emitter
...
Still needs more work.
Missing operations, cleanup, validation
Notably SVE is missing large chunks.
2023-01-04 05:30:01 -08:00
Tony Wasserka
64387bf00d
Thunks: Make failure to find a guest thunk library a critical error
2023-01-03 18:15:50 +01:00
Tony Wasserka
8cc7e55394
ThunksDB: Fix misspelt guest library names
2023-01-03 18:15:50 +01:00
Ryan Houdek
874c1da1b5
External: Update vixl
2023-01-02 01:38:17 -08:00
Ryan Houdek
3904a5264f
Merge pull request #2306 from lioncash/perm
...
OpcodeDispatcher: Handle immediate variants of VPERMILPD/VPERMILPS
2022-12-31 21:31:59 -08:00
lioncash
b95c1719c3
OpcodeDispatcher: Handle VPERMILPS (immediate)
2023-01-01 05:15:25 +00:00
lioncash
dfb3f31453
OpcodeDispatcher: Handle VPERMILPD (immediate)
2023-01-01 04:59:48 +00:00
Ryan Houdek
c6297edac0
Merge pull request #2305 from lioncash/mask
...
OpcodeDispatcher: Handle VMASKMOVDQU
2022-12-31 20:31:20 -08:00
lioncash
8031f76642
OpcodeDispatcher: Handle VMASKMOVDQU
2023-01-01 04:18:46 +00:00
Ryan Houdek
4786ddc44c
Merge pull request #2304 from lioncash/sub
...
OpcodeDispatcher: Handle VPHSUBD/VPHSUBW
2022-12-31 19:23:43 -08:00
lioncash
ae8a5fa98d
OpcodeDispatcher: Handle VPHSUBD
2023-01-01 03:10:21 +00:00
lioncash
6914598f9a
OpcodeDispatcher: Handle VPHSUBW
2023-01-01 02:42:05 +00:00
lioncash
450aedc8b6
x86_64: Fix 256-bit UnZip/UnZip2
...
We weren't swapping the elements so that the operation acts like the two
vectors are concatenated.
2023-01-01 02:42:05 +00:00
lioncash
1e221210a2
OpcodeDispatcher: Move PHSUB impl to helper function
...
This will be used for the AVX variants.
2023-01-01 02:42:03 +00:00
Ryan Houdek
58ec2b2d7f
Merge pull request #2303 from lioncash/swizz
...
OpcodeDispatcher: Zip elements instead of for loop insertion in PHSUB
2022-12-31 16:09:13 -08:00
lioncash
438adf2f45
x86_64/VectorOps: Handle OpSize==8 case in VUnZip/VUnZip2
...
Allows the x86 side of things to execute the new codepath in PHSUB
2022-12-31 23:30:59 +00:00
lioncash
9707e9a4df
OpcodeDispatcher: Zip elements instead of for loop in PHSUB
...
Makes this much nicer for 128-bit and soon-to-be 256-bit vectors.
2022-12-31 23:30:38 +00:00
Ryan Houdek
9b8c92e275
Merge pull request #2302 from lioncash/dpp
...
OpcodeDispatcher: Handle VDPPD/VDPPS
2022-12-31 15:01:52 -08:00
Ryan Houdek
6caf764b7c
Merge pull request #2301 from lioncash/insps
...
OpcodeDispatcher: Handle VINSERTPS
2022-12-31 14:59:11 -08:00
Ryan Houdek
faa81f241b
Merge pull request #2300 from lioncash/msk
...
OpcodeDispatcher: Handle VMOVMSKPD/VMOVMSKPS
2022-12-31 14:34:44 -08:00
lioncash
769c548ba4
OpcodeDispatcher: Handle VDPPD
...
x86 just doesn't have a 256-bit version of this op.
2022-12-31 21:13:20 +00:00
lioncash
dae1676e4a
OpcodeDispatcher: Handle VDPPS
2022-12-31 21:01:48 +00:00
lioncash
74526d1f02
OpcodeDispatcher: Move DPP op impl into helper function
...
This will be used to implement the AVX variants.
2022-12-31 21:01:26 +00:00
lioncash
8c005db81c
OpcodeDispatcher: Handle VINSERTPS
2022-12-31 20:23:22 +00:00
lioncash
32b70c8590
OpcodeDispatcher: Move InsertPS impl to helper function
...
This will be reused for VINSERTPS
2022-12-31 20:23:18 +00:00
lioncash
bdda14eb75
OpcodeDispatcher: Handle VMOVMSKPD
2022-12-31 19:24:14 +00:00
lioncash
b8c0b0c267
OpcodeDispatcher: Handle VMOVMSKPS
2022-12-31 19:24:11 +00:00
lioncash
ad7dc6ca0a
OpcodeDispatcher: Move ADDSUB table entries
...
Makes them numerically ordered.
2022-12-31 19:07:19 +00:00
Ryan Houdek
64cd377e37
Merge pull request #2299 from lioncash/ph
...
OpcodeDispatcher: Handle VPUNPCKHBW/VPUNPCKHWD/VPUNPCKHDQ/VPUNPCKHQDQ
2022-12-30 17:18:14 -08:00
lioncash
45d7564716
OpcodeDispatcher: Handle VPUNPCKHBW
2022-12-30 14:07:30 +00:00
lioncash
c585bae85d
OpcodeDispatcher: Handle VPUNPCKHWD
2022-12-30 14:01:18 +00:00
lioncash
d07383fa73
OpcodeDispatcher: Handle VPUNPCKHQDQ
2022-12-30 13:54:45 +00:00
lioncash
e1cdcf0651
OpcodeDispatcher: Handle VPUNPCKHDQ
2022-12-30 13:46:53 +00:00
Ryan Houdek
138f1fc844
Merge pull request #2298 from lioncash/hps
...
OpcodeDispatcher: Handle VUNPCKHPD/VUNPCKHPS
2022-12-30 05:31:48 -08:00
lioncash
ae69aa9a81
OpcodeDispatcher: Handle VUNPCKHPD
2022-12-30 13:18:33 +00:00
lioncash
6341ac6814
OpcodeDispatcher: Handle VUNPCKHPS
2022-12-30 13:05:01 +00:00
Ryan Houdek
6bc1c3fc30
Merge pull request #2297 from lioncash/lps
...
OpcodeDispatcher: Handle VPUNPCKLBW/VPUNPCKLWD/VPUNPCKLDQ/VPUNPCKLQDQ
2022-12-29 14:49:11 -08:00