Ryan Houdek
825d2c948c
Merge pull request #3717 from alyssarosenzweig/ra/ood-comment
...
Arm64Emitter: drop out of date comment
2024-06-17 16:02:35 -07:00
Alyssa Rosenzweig
799c17eb90
Arm64Emitter: drop out of date comment
...
I fixed this when we landed the new RA
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-17 14:58:08 -04:00
Alyssa Rosenzweig
4965344ef5
Merge pull request #3705 from alyssarosenzweig/pre-rclse
...
Clean ups from my RCLSE branch
2024-06-17 14:22:01 -04:00
Alyssa Rosenzweig
46ca53ad0d
Merge pull request #3704 from alyssarosenzweig/ra/spill-better
...
RA: priorize remat over spilling
2024-06-17 09:01:50 -04:00
Alyssa Rosenzweig
61ff1b3584
Merge pull request #3712 from alyssarosenzweig/jit/silly-assert
...
JIT: delete silly assert
2024-06-17 08:59:00 -04:00
Alyssa Rosenzweig
7c0c5de4bd
JIT: delete silly assert
...
noticed in the area.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-17 08:51:22 -04:00
Ryan Houdek
e4ff3dac86
Merge pull request #3701 from Sonicadvance1/fix_arch
...
FEXCore: Fixes Call with 32-bit displacement and address size override
2024-06-16 13:40:34 -07:00
Alyssa Rosenzweig
9443b18076
RegisterAllocationPass: optimize spill loop
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-16 08:15:15 -04:00
Alyssa Rosenzweig
4bd84eb523
OpcodeDispatcher: extract PF/AF invalidate helpers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-15 20:23:47 -04:00
Alyssa Rosenzweig
e2073dcd30
OpcodeDispatcher: extract safe Thunk
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-15 20:23:47 -04:00
Alyssa Rosenzweig
fd72669c7e
OpcodeDispatcher: extract safe Break
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-15 20:23:47 -04:00
Alyssa Rosenzweig
81c144697b
OpcodeDispatcher: extract safe ExitFunction
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-15 20:23:47 -04:00
Alyssa Rosenzweig
aecf180dfe
OpcodeDispatcher: extract FlushRegisterCache
...
The "end the clause" signal. for now just flushes flags.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-15 20:23:47 -04:00
Alyssa Rosenzweig
10fa4a4f20
OpcodeDispatcher: remove never-gonna-be-done todo
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-15 20:23:47 -04:00
Alyssa Rosenzweig
534732564b
OpcodeDispatcher: drop pointless thunks for packss
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-15 20:23:46 -04:00
Alyssa Rosenzweig
6a314bc9cd
RegisterAllocationPass: prioritize remat over spilling
...
No instcountci changes yet, since nothing currently spills in instcountci. This
mitigates spilling later seen with #3703 , and should help for certain
pathological blocks even without those changes (maybe we should try to get some
of those blocks in instcountci?).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-15 20:21:57 -04:00
Ryan Houdek
8d929027c8
Merge pull request #3699 from Sonicadvance1/fix_3698
...
FEXConfig: Clear up TSO emulation string
2024-06-14 14:35:45 -07:00
Ryan Houdek
1d1ed012d8
FEXCore: Fixes Call with 32-bit displacement and address size override
...
FEX had a bug with this instruction where it was incorrectly using both
the address size override and operand size override to truncate the
immediate offset. This isn't how the instruction should behave as it
should actually ignore the address size override.
This now puts it correctly inline with how the jump instruction works
and adds a unit test to ensure it doesn't break again.
This fixes a crash from the Arch rootfs from the glibc dynamic linker
being compiling in a way where a call instruction was getting aligned
using this prefix (Since the compiler knew it does nothing).
2024-06-14 14:00:35 -07:00
Ryan Houdek
b092b7a937
Merge pull request #3700 from lioncash/update
...
Externals: Update vixl submodule
2024-06-14 13:26:52 -07:00
Lioncache
d133fa6dc1
ASIMD Tests: Remove erroneous disassembly tests
...
The vixl disassembler has gotten more strict about certain instruction types, so these tests
aren't really needed.
Alternatively, we could mark them as unallocated, but we can opt to remove them here.
2024-06-14 16:12:21 -04:00
Lioncache
afa7de969e
Externals: Update vixl submodule
...
Updates vixl to track the latest upstream changes that fix erroneous
non-zeroing behavior for 256-bit vectors
2024-06-14 15:57:03 -04:00
Ryan Houdek
41b6a89ffd
FEXConfig: Clear up TSO emulation string
...
Fixes #3698
2024-06-14 12:39:21 -07:00
Alyssa Rosenzweig
9aa82ec5bf
Merge pull request #3695 from Sonicadvance1/fix_3686
...
Revert "OpcodeDispatcher: optimize logical flags"
2024-06-14 07:47:51 -04:00
Ryan Houdek
b17a2e9f96
Merge pull request #3697 from pmatos/ENABLEHOSTF
...
Use FEX_HOSTFEATURES instead of FEX_ENABLEAVX
2024-06-14 01:01:55 -07:00
Paulo Matos
af4e9ceeed
Remove vestigial options from workflows
...
FEX_ENABLEAVX was removed. Settings for host features should use
FEX_HOSTFEATURES but actually FEX_HOSTFEATURES=enableavx has different
behaviour, so we don't enable it.
2024-06-14 09:50:02 +02:00
Ryan Houdek
9c62c41f5f
InstcountCI: Update
2024-06-13 19:29:55 -07:00
Ryan Houdek
184c9d21bb
Revert "OpcodeDispatcher: optimize logical flags"
...
This reverts commit bb8336fcad9cf5619215e5a9f765ca48c7d48970.
2024-06-13 19:28:16 -07:00
Ryan Houdek
9744d8de99
Merge pull request #3689 from catfella/fix_ppa_detection
...
Scripts/InstallFEX: update PPA URL
2024-06-13 18:06:08 -07:00
Mikhail Nitenko
f3e6ecb2c3
Scripts/InstallFEX: update PPA URL detection
...
Installing PPA with the script now installs a different
URL. This means that GetPPAStatus always returns false.
For the sake of backwards compatibility match the end
of the line to check.
2024-06-14 00:56:42 +00:00
Ryan Houdek
aa0f2c3975
Docs: Update for release FEX-2406
FEX-2406
2024-06-12 18:41:54 -07:00
Tony Wasserka
4dc8648d81
Merge pull request #3630 from neobrain/feature_libfwd_gl32
...
Library Forwarding: Add support for 32-bit OpenGL
2024-06-11 17:33:29 +02:00
Tony Wasserka
7a703e1176
Library Forwarding/GL: Enable stricter pointer parameter checks
2024-06-11 17:14:23 +02:00
Tony Wasserka
02df1a2924
Library Forwarding/GL: Avoid pointer array repacking for 64-bit guests
2024-06-11 17:14:23 +02:00
Tony Wasserka
efac7efc97
Library Forwarding/GL: Remap _XDisplay returned by glXGetCurrentDisplay
2024-06-11 17:14:23 +02:00
Tony Wasserka
d99b4a80c8
Library Forwarding/GL: Add glX support for 32-bit
2024-06-11 17:14:23 +02:00
Tony Wasserka
2a76744d30
Library Forwarding/GL: Add 32-bit support for most core GL APIs
2024-06-11 17:13:45 +02:00
Tony Wasserka
843b2d1969
Library Forwarding/GL: Assume void* always points to compatible data
2024-06-11 16:58:37 +02:00
Tony Wasserka
b275c96889
Library Forwarding: Use the fixed-size guest type for passthrough parameters
2024-06-11 16:58:36 +02:00
Ryan Houdek
033b1ce449
Merge pull request #3688 from catfella/extend_bextr_tests
...
unittests/bextr: add SrcSize tests
2024-06-09 23:18:57 -07:00
Mikhail Nitenko
99a43283be
unittests/bextr: add SrcSize tests
...
dougallj mentioned that adding these tests might expose
a bug in bextr. Since bextr implementation was changed
apparently it now works correctly, that's good.
2024-06-10 05:45:12 +00:00
Mai
55bfd6394b
Merge pull request #3640 from Sonicadvance1/cleanup_execve_envp
...
LinuxSyscalls: Cleanup envp copying in execve
2024-06-07 21:40:13 -04:00
Ryan Houdek
14bfe6016e
Merge pull request #3684 from alyssarosenzweig/constprop/cleanup
...
Constprop: clean up
2024-06-04 13:00:32 -07:00
Alyssa Rosenzweig
0d4ad70875
InstCountCI: Update
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-04 10:09:51 -04:00
Alyssa Rosenzweig
a8bf3859ea
ConstProp: rm pointless constant folding
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-04 10:09:51 -04:00
Alyssa Rosenzweig
aa7dcffcea
ConstProp: drop const pool heuristic
...
slightly worse for compile time, slightly better output, honestly I'll take the
win because this is easier to reason about.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-04 10:09:51 -04:00
Alyssa Rosenzweig
be1a5cea8e
ConstProp: drop addressgen const pool stuff
...
I don't get the point, it should be handled by a combination of existing
passes/techniques just fine. no instcountci changes.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-04 10:09:51 -04:00
Alyssa Rosenzweig
402ea84aa0
RedundantFlagCalculationElimination: cleanup DCE
...
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-04 10:09:51 -04:00
Alyssa Rosenzweig
19a7b06b91
ConstProp: swallow up LongDivideElimination
...
as usual.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-04 10:09:51 -04:00
Alyssa Rosenzweig
96bd643e5b
ConstProp: always inline constants
...
x86/interpreter leftover, I think.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-04 10:09:51 -04:00
Alyssa Rosenzweig
6b9293979c
ConstProp: swallow up InlineCallOptimization
...
No reason to have a separate pass for this, merging should be a bit faster since
it eliminates an IR walk.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
2024-06-04 10:09:51 -04:00