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
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
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
lioncash
95fbcd7b9a
VectorOps: Handle 256-bit VUMinV
2022-09-15 18:36:46 +00:00
lioncash
f999d30bc5
Interpreter: Handle 256-bit VAnd
2022-09-15 16:18:14 +00:00
lioncash
ecb1cc4ed4
Interpreter: Handle 256-bit VBic
2022-09-15 16:18:14 +00:00
lioncash
5622bcae16
Interpreter: Handle 256-bit VOr
2022-09-15 16:18:14 +00:00
lioncash
f4539ee289
Interpreter: Handle 256-bit VXor
2022-09-15 16:18:10 +00:00
Ryan Houdek
f34f1309a7
Merge pull request #1983 from lioncash/vsqadd
...
VectorOps: Extend VSQAdd/VSQSub/VUQAdd/VUQSub
2022-09-13 11:26:11 -07:00
lioncash
809f60df06
VectorOps: Handle 256-bit VSQSub
2022-09-13 16:43:42 +00:00
lioncash
cbdcd8253c
VectorOps: Handle 256-bit VSQAdd
2022-09-13 16:20:37 +00:00
lioncash
7ac2cd7cc8
VectorOps: Handle 256-bit VUQSub
2022-09-13 16:03:30 +00:00
lioncash
cf1bb1348c
VectorOps: Handle 256-bit VUQAdd
2022-09-13 16:03:27 +00:00
lioncash
b60a26ff9e
VectorOps: Handle 256-bit VSub
2022-09-13 15:40:45 +00:00
lioncash
b805c07342
VectorOps: Handle 256-bit VAdd
2022-09-13 15:40:06 +00:00
Ryan Houdek
0f59c1d5e3
Add support for the vixl simulator
...
This will allow CI to test ARM features before we have any hardware that
supports it.
2022-09-07 19:54:07 -07:00
Ryan Houdek
c5a7fc1e2a
Resolve most VDSO comments
2022-09-02 15:13:18 -07:00
Ryan Houdek
f967f53176
Thunks: Adds VDSO specific thunks
...
x86-64 has five symbols within VDSO that we need to emulate.
Pass this through either glibc or host vdso if the symbol exists.
AArch64 doesn't have the time or getcpu vdso interface, so fall down
glibc instead.
2022-09-02 13:31:36 -07:00
Ryan Houdek
98dbfbe654
Merge pull request #1949 from lioncash/interp-op
...
InterpreterOps: Extend SSAData size to accomodate 256-bit operations
2022-09-02 09:54:58 -07:00
lioncash
6444726614
InterpreterOps: Use designated initializer for IR op data
...
Same behavior, but keeps everything all initialized at the point of
declaration, rather than after the fact.
2022-09-02 12:40:25 -04:00
lioncash
0a562fbb10
InterpreterOps: Extend SSAData to handle 256-bit vectors
2022-09-02 12:40:14 -04:00
lioncash
3fdde0c90b
Arm64/JIT: Rename CanUseSVE to HostSupportsSVE
...
This is a much more descriptive name.
Spawned off of discussion in #1944
2022-09-01 13:22:41 -04:00
Ryan Houdek
e776f4cd4e
Merge pull request #1948 from lioncash/svebit
...
VectorOps: Extend VAnd/VBic/VOr/VXor
2022-08-30 17:57:51 -07:00
Ryan Houdek
e7d7dd13d7
Merge pull request #1945 from lioncash/vectormov
...
VectorOps: Extend VMov
2022-08-30 17:57:00 -07:00
Ryan Houdek
37ccb13917
Merge pull request #1946 from lioncash/x86dep
...
x86_64/JIT: Resolve lingering fmt deprecation warning
2022-08-30 17:54:57 -07:00
lioncash
70efdbba5d
VectorOps: Handle 256-bit VectorImm
...
Extends VectorImm to be capable of using SVE to handle 256-bit length
vectors.
2022-08-24 13:28:48 -04:00
lioncash
bcb7e20619
VectorOps: Handle 256-bit VXor
2022-08-24 12:52:05 -04:00
lioncash
afc5e8a140
VectorOps: Handle 256-bit VOr
2022-08-24 12:52:05 -04:00
lioncash
4be6626c89
VectorOps: Handle 256-bit VBic
2022-08-24 12:52:02 -04:00
lioncash
5f2b6d629b
VectorOps: Handle 256-bit VAnd
2022-08-24 12:43:51 -04:00
lioncash
79674c697a
x86_64/JIT: Resolve lingering fmt deprecation warning
...
Just a log that was missed during the previous fmt deprecation cleanup.
2022-08-24 11:49:02 -04:00
lioncash
416d8c1df6
VectorOps: Handle 256-bit VMov
...
Kind of sucky that SVE doesn't have a convenient way to manipulate
predicate registers with immediates or anything to make this nicer (that
I know of).
Having to use a temp to clear the upper part of the vector reliably is
bleh.
2022-08-24 11:35:34 -04:00
lioncash
df22e0c796
x86_64/JITClass: Add ToYMM helper
...
Will be used in subsequent changes to handle 256-bit operations in the
x86-64 backend
2022-08-23 12:58:25 -04:00
lioncash
79a3bd75cc
VectorOps: Handle 256-bit VectorZero
2022-08-23 12:57:59 -04:00
Tony Wasserka
ae64a1e30c
Thunks: Replace compiler-specific attributes with FEX_DEFAULT_VISIBILITY
2022-08-22 18:11:28 +02:00
Ryan Houdek
8c1137543b
Config: Adds APP_CONFIG_NAME meta config option
...
We have separate configurations for the Application path versus the
application name we are using as a configuration choice.
Example 1: FEXBash "wine Crysis64.exe"
Previous APP_FILENAME will contain `/usr/bin/wine`, which is still used
elsewhere.
This new APP_CONFIG_NAME will contain `Crysis64.exe`
Example 2: FEXBash glxgears
Previous APP_FILENAME will contain `/usr/bin/glxgears`
APP_CONFIG_NAME will contain `glxgears`
We didn't have this exposed any other way before.
2022-08-20 09:58:23 -07:00
Ryan Houdek
b8e66e56a0
Config: Remove log message about Config file existing without Config json object
2022-08-20 09:58:04 -07:00
Ryan Houdek
d5138f509c
Merge pull request #1917 from Sonicadvance1/fix_compile_without_jemalloc
...
Thunks: Fix compile without jemalloc
2022-08-15 11:14:17 -07:00
Ryan Houdek
bba58732e0
HostFeatures: Add new supported features flag
2022-08-14 19:56:14 -07:00
Ryan Houdek
f03d0be5ef
Thunks: Fix compile without jemalloc
...
This only fixes the compile error. Thunks aren't expected to be used
without jemalloc enabled.
2022-08-13 11:29:11 -07:00
Ryan Houdek
fe1f00aadb
FEXServer: Support socket path override
...
This is necessary for the fexserver to function correctly when chrooting
in to our rootfs and doing things.
Requires independent rootfs script modifications which will come with
the next rootfs update.
Problem comes down to a chroot supporting multiple users, where our
typical use case is only one user. Bind the server file to a single
server for the entire chroot session regardless of users, solving this
problem inside the chroot.
Fixes apt-get inside of chroot, which runs as user _apt.
2022-08-12 22:52:30 -07:00
Ryan Houdek
b9c9c7d671
Merge pull request #1888 from FEX-Emu/skmp/synchronized-linking
...
Synchronized Block Linking
2022-08-09 00:48:35 -07:00
Tony Wasserka
3524117c23
Thunks: Unindent code blocks from previous patch
2022-08-08 16:08:46 +02:00
Tony Wasserka
e8ad1ca0a0
Thunks: Use signature-based thunking of guest function pointers
...
This changes how host trampolines for guest functions are created. Instead
of doing this purely on the guest-side, it's either the host-side that
creates them in a single step *or* a cooperative two-step initialization
process must be used. In the latter, trampolines are allocated and partially
initialized on the guest and must be finalized on the host before use.
2022-08-08 16:08:46 +02:00
Tony Wasserka
de92624c9a
Thunks: Use stronger types for interfaces
2022-08-08 16:08:45 +02:00
Stefanos Kornilios Mitsis Poiitidis
dc810c7a1e
Fix arm64 build
2022-08-08 05:19:09 +03:00
Stefanos Kornilios Misis Poiitidis
e0ee4e71f8
Fixes
2022-08-08 05:01:38 +03:00
Stefanos Kornilios Misis Poiitidis
ab7dac90a2
Mask signals around Block Linking
2022-08-08 04:19:01 +03:00
Stefanos Kornilios Misis Poiitidis
3a423fbc41
Synchronized Block Linking
2022-08-08 03:33:23 +03:00