Ryan Houdek
cc4c705fc0
Merge pull request #2008 from Sonicadvance1/disable_32_bit_x11
...
ThunkLibs: X11/Xext: Removes two functions that don't exist on 32-bit
2022-09-25 13:32:54 -07:00
Mai
c262362a03
Merge pull request #2011 from Sonicadvance1/add_missing_flake
...
FEXLinuxTests: Adds missing pthread_cancel flake status
2022-09-24 20:53:22 -04:00
Ryan Houdek
212df9aa7b
FEXLinuxTests: Adds missing pthread_cancel flake status
...
Missed the 32-bit version of this test
2022-09-24 10:05:36 -07:00
Ryan Houdek
107cae2975
ThunkLibs: X11/Xext: Removes two functions that don't exist on 32-bit
...
_XData32 and _XRead32 don't exist as real functions in 32-bit versions
of these libraries, these end up just being defines that redirect to the
non-suffixed versions of the functions.
Noticed this while tinkering around and is easy enough to solve today.
2022-09-24 09:51:40 -07:00
Ryan Houdek
6742e0c376
Merge pull request #2003 from lioncash/svespill
...
JITs: Handle spilling/filling 256-bit vectors
2022-09-23 17:27:53 -07:00
Ryan Houdek
8f70137b1a
Merge pull request #1981 from neobrain/feature_flt_catch2
...
FEXLinuxTests: Migrate to Catch2
2022-09-23 17:27:45 -07:00
lioncash
707db51b1b
Arm64Emitter: Amend comment for GPR temporaries
...
Only x3 can be used across spill boundaries.
2022-09-24 00:12:01 +00:00
lioncash
5b5fa1aa29
x86_64/JIT: Handle pushing and popping 256-bit values
2022-09-24 00:11:56 +00:00
Ryan Houdek
2b9cc9666a
Merge pull request #2006 from Sonicadvance1/remove_splat
...
IR: Removes SplatVector{2,4}
2022-09-23 14:42:44 -07:00
Ryan Houdek
82eba22292
Merge pull request #2007 from Sonicadvance1/remove_insscalar
...
IR: Removes VInsScalarElement
2022-09-23 14:42:36 -07:00
Ryan Houdek
5c84e8f23c
IR: Removes VInsScalarElement
...
This IR op duplicates what VInsElement does.
2022-09-22 17:57:20 -07:00
Ryan Houdek
081b61677a
IR: Removes SplatVector{2,4}
...
These IR ops are redundant and mostly unused.
VDupElement does exactly what these operations were already doing and
more closely matches what the hardware wants.
2022-09-22 17:49:28 -07:00
lioncash
9c54814b98
Arm64Emitter: Handle spilling 256-bit dynamic regs
2022-09-22 12:40:54 +00:00
lioncash
35d7b855ed
Arm64Dispatcher: Increment code buffer size
...
vixl hits an assertion in CodeBuffer's Emit() function since there's no
space for any more instructions with the changes made to handle SVE.
2022-09-22 12:40:54 +00:00
lioncash
0b8799274c
Arm64Emitter: Handle filling/spilling 256-bit static FPRs
...
Drops in handling for spilling/filling FPRs using SVE for supporting
AVX.
Also alters the dispatcher and JIT a little to avoid accidentally clobbering
TMP4 (x3 as of this commit)
2022-09-22 12:40:54 +00:00
lioncash
ace2b737d8
Arm64Emitter: Initialize fixed predicate register values in FillStaticRegs
...
Allows us to have values set up in a way that we don't need to
constantly set up predicates in IR ops.
2022-09-22 12:40:54 +00:00
Mai
ad85268524
Merge pull request #2005 from Sonicadvance1/fix_sve_vectorimm
...
Arm64: Fixes SVE VectorImm
2022-09-22 08:38:10 -04:00
Mai
832a320e22
Merge pull request #2004 from Sonicadvance1/update_vixl3
...
Update vixl external
2022-09-22 08:33:39 -04:00
Ryan Houdek
83763df6fd
Arm64: Fixes SVE VectorImm
...
SVE DUP instruction does sign extension on the incoming immediate, while
ASIMD MOVI does zero extension.
If the immediate doesn't fit then move in to a GPR first and then DUP
from GPR.
2022-09-22 01:16:58 -07:00
Ryan Houdek
bee868e9ba
Update vixl external
2022-09-22 01:10:25 -07:00
Tony Wasserka
c41de81694
FEXLinuxTests: Drop support for now unused "args:" annotations
2022-09-22 10:03:38 +02:00
Tony Wasserka
41aaeb1ff0
FEXLinuxTests: Migrate signal tests to Catch2
2022-09-22 10:03:37 +02:00
Tony Wasserka
16be2792ab
FEXLinuxTests: Migrate FD test to Catch2
2022-09-22 10:03:36 +02:00
Tony Wasserka
6610bb355c
FEXLinuxTests: Migrate VDSO test to Catch2
2022-09-22 10:03:35 +02:00
Tony Wasserka
4312fd7291
FEXLinuxTests: Migrate SMC tests to Catch2
2022-09-22 10:03:33 +02:00
Tony Wasserka
89a225a96d
FEXLinuxTests: Enable use of Catch2 in tests
2022-09-22 10:03:31 +02:00
Ryan Houdek
a590977639
Merge pull request #1984 from Sonicadvance1/functional_thunk_ci
...
Thunks: Adds functional thunk testing to CI
2022-09-20 11:14:03 -07:00
Ryan Houdek
0d0d116bde
Merge pull request #2002 from lioncash/slots
...
JITs: Expand max spill slot size to 32 bytes
2022-09-19 15:22:25 -07:00
lioncash
341bdb5a54
JITs: Handle 32 byte spills and fills
...
Puts in the plumbing necessary to handle spilling and filling 256-bit
data.
2022-09-19 22:00:20 +00:00
lioncash
2f3dbfb289
JITs: Expand max spill slot size to 32 bytes
...
This will be necessary to handle spilling 256-bit vectors.
2022-09-19 19:51:32 +00:00
Ryan Houdek
169cfbbeed
Merge pull request #2001 from lioncash/defmove
...
Arm64: Centralize location for register defines
2022-09-19 11:45:24 -07:00
Ryan Houdek
f97a4afd8f
Merge pull request #2000 from Sonicadvance1/fix_struct_verifier_ubuntu_20_04
...
CI: Fixes struct verifier on Ubuntu 20.04
2022-09-19 11:44:38 -07:00
lioncash
868e4a6d81
Arm64: Centralize location for register defines
...
Gets rid of a few repeated definitions and allows the emitter itself to
make use of these defines without causing a circular dependency on the
JIT.
2022-09-19 17:44:21 +00:00
Ryan Houdek
6f48f7d3ac
CI: Fixes struct verifier on Ubuntu 20.04
...
Older clang fails to pull in these include paths when cross compiling.
Add them manually.
2022-09-19 01:27:54 -07:00
Tony Wasserka
1ed3ecb409
Merge pull request #1999 from neobrain/feature_toolchain_32bit
...
CMake: Add toolchain file for 32-bit cross-compiler
2022-09-19 09:30:57 +02:00
Tony Wasserka
2cb455b9d4
CMake: Add toolchain file for 32-bit cross-compiler
2022-09-19 09:19:22 +02:00
Ryan Houdek
d4b5bf0f78
Merge pull request #1998 from Sonicadvance1/fix_struct_verifier
...
StructVerifier: Fixes CI failure
2022-09-18 19:26:21 -07:00
Ryan Houdek
69013772c1
StructVerifier: Fixes CI failure
...
The x86 runner had unattended-upgrades accidentally still enabled. It
upgraded a bunch of development packages which broke CI.
Fix the struct verifier so it works with the new packages.
Sadly python3-clang doesn't support all the new CursorKind types so we
need to self-define some of them for now.
Once this tool gets converted over to C++ it will be a non-issue.
2022-09-16 19:45:13 -07:00
Ryan Houdek
3448c83431
Merge pull request #1997 from neobrain/refactor_flt_unified_cmake
...
FEXLinuxTests: Build 32-bit and 64-bit test variants separately
2022-09-16 17:14:24 -07:00
Tony Wasserka
e4c84542ea
FEXLinuxTests: Build 32-bit and 64-bit test variants separately
...
This allows to use different toolchain files for each and it reduces
build system repetition in test target setup.
The "tests-32" directories has been integrated into the "tests" one. Tests
that should only run on 32-bit are detected by their filename ending with
".32.cpp" now.
2022-09-16 11:24:18 +02:00
Ryan Houdek
acddc0323b
Merge pull request #1995 from Sonicadvance1/disable_bad_test
...
unittests: Disable gvisor pselect test
2022-09-15 22:06:37 -07:00
Ryan Houdek
c4285f0d30
unittests: Disable gvisor pselect test
...
This has a badly coded test that can hang forever. Our timeout kills it
at 5 minutes, which causes it to not even fall down the flake path.
Just disable it outright because of the bad test.
2022-09-15 16:29:02 -07:00
Ryan Houdek
977d6dd247
Merge pull request #1993 from lioncash/vuravg
...
VectorOps: Handle 256-bit VURAvg
2022-09-15 15:09:46 -07:00
lioncash
2bb27fffb7
VectorOps: Handle 256-bit VURAvg
2022-09-15 19:38:31 +00:00
Ryan Houdek
0261ed353d
Merge pull request #1992 from lioncash/uminv
...
VectorOps: Handle 256-bit VUMinV
2022-09-15 12:05:27 -07:00
Ryan Houdek
96fecfd7c5
Merge pull request #1989 from Sonicadvance1/ci_flakes
...
CI: Adds support for flakes
2022-09-15 12:05:08 -07:00
Ryan Houdek
9fac1b8105
CI: Adds support for flakes
...
If a test is marked as a flake then it will be tried five times before
giving up.
Works around the problem of needing to babysit CI once a PR is pushed.
As long as we have all the flake tests marked.
2022-09-15 11:44:56 -07:00
lioncash
95fbcd7b9a
VectorOps: Handle 256-bit VUMinV
2022-09-15 18:36:46 +00:00
Ryan Houdek
6adf227611
Merge pull request #1990 from Sonicadvance1/uninstall
...
cmake: Adds uninstall target
2022-09-15 11:33:27 -07:00
Ryan Houdek
b5cb429243
Merge pull request #1991 from lioncash/bits
...
Interpreter: Handle 256-bit VAnd/VBic/VOr/VXor
2022-09-15 11:23:49 -07:00