Malcolm
eaebd3426e
LLVM: enable FMA for ARM cpus unconditionally
...
- All armv8 machines should have FMA.
- Should be a speedup for snapdragon elite and apple machines.
2026-01-15 08:29:33 +02:00
Niram7777
8c9d266284
Build LLVM wrap getFirstNonPHI by version
2025-12-19 13:40:04 +00:00
Niram7777
a65eb3eb30
Build LLVM wrap getDeclaration by version
2025-12-19 13:40:04 +00:00
Marin Baron
46db5c35eb
Build LLVM deprecated getFirstNonPHI
2025-12-19 13:40:04 +00:00
Marin Baron
752155d5dd
Build LLVM-22 fix removed getDeclaration
2025-12-19 13:40:04 +00:00
Elad
65cd4deb77
Prevent atomic cache line collisions
2025-12-16 10:41:21 +02:00
Elad
107d9dc533
PPU Profiler
2025-11-19 21:37:50 +02:00
Megamouse
bc01863654
Fix some warnings
2025-11-17 03:46:06 +02:00
Elad
1c0fa2ad58
SaveStates: Improve try_lock_spu_threads_in_a_state_compatible_with_savestates
2025-10-15 17:16:32 +03:00
Elad
32a18795fb
Debug: Apply SPU Profiling data if debug enabled
2025-10-14 08:16:02 +03:00
Elad
cfe1eca185
SPU: Reimplement reservation notifications
2025-09-05 11:11:03 +03:00
Yahfz
7fe3afbbc2
Add support for arrowlake-s and lunarlake CPUs
2025-07-20 03:27:47 +03:00
Yahfz
8b9c9f677a
ARL wasn't using FMA/VNNI/GFNI
2025-07-20 01:18:21 +03:00
oltolm
ac99b2036d
llvm: fix deprecation warnings
2025-06-07 12:46:48 +03:00
DH
95d0cb18e4
Coding style issues fixes
...
Thanks @Megamouse
2025-03-10 21:09:27 +01:00
DH
94f52d6dc0
android: jit: teach fallback_cpu_detection provide meaningful results for aarch64
2025-03-10 21:09:27 +01:00
oltolm
ebde5310b9
use concepts instead of std::enable_if
2025-02-26 11:04:02 +02:00
Megamouse
3c576da42f
Move debugger functions to emu_utils.cpp
2025-02-25 19:45:43 +01:00
RipleyTom
cd87a64621
Headers cleanup
2025-02-11 20:38:35 +01:00
Elad
575a245f8d
IDM: Implement lock-free smart pointers ( #16403 )
...
Replaces `std::shared_pointer` with `stx::atomic_ptr` and `stx::shared_ptr`.
Notes to programmers:
* This pr kills the use of `dynamic_cast`, `std::dynamic_pointer_cast` and `std::weak_ptr` on IDM objects, possible replacement is to save the object ID on the base object, then use idm::check/get_unlocked to the destination type via the saved ID which may be null. Null pointer check is how you can tell type mismatch (as dynamic cast) or object destruction (as weak_ptr locking).
* Double-inheritance on IDM objects should be used with care, `stx::shared_ptr` does not support constant-evaluated pointer offsetting to parent/child type.
* `idm::check/get_unlocked` can now be used anywhere.
Misc fixes:
* Fixes some segfaults with RPCN with interaction with IDM.
* Fix deadlocks in access violation handler due locking recursion.
* Fixes race condition in process exit-spawn on memory containers read.
* Fix bug that theoretically can prevent RPCS3 from booting - fix `id_manager::typeinfo` comparison to compare members instead of `memcmp` which can fail spuriously on padding bytes.
* Ensure all IDM inherited types of base, either has `id_base` or `id_type` defined locally, this allows to make getters such as `idm::get_unlocked<lv2_socket, lv2_socket_raw>()` which were broken before. (requires save-states invalidation)
* Removes broken operator[] overload of `stx::shared_ptr` and `stx::single_ptr` for non-array types.
2024-12-22 20:59:48 +02:00
Elad
926de68a79
Debugger: Dump related thread information on crash
2024-11-28 13:32:52 +02:00
Elad
b073d08a52
LLVM: Implement Recursive Intrinsics
2024-11-23 20:22:58 +02:00
Malcolm Jestadt
967adaf9db
SPU LLVM: Compute frest exponent at runtime rather than using the lookup table
...
- Provides a small speedup and smaller codesize
2024-10-05 20:44:23 +03:00
Malcolm Jestadt
8ca60df1ab
SPU LLVM: Add optimized path for spu_re_acc special cases
...
- Uses vfixupimmps (AVX-512), 5 instructions down to 1
2024-10-05 20:44:23 +03:00
Megamouse
4c3d243672
MacOs/Arm64: Fix warning
2024-09-23 23:00:58 +02:00
kd-11
7353696014
cpu: Format additions to sse2neon to match the rest of the file
2024-09-04 07:49:49 +03:00
kd-11
a60eab6e36
aarch64: Fix compilation for windows-on-arm
2024-09-04 07:49:49 +03:00
kd-11
c80342e8d4
aarch64: Support calloc patch blocks
2024-08-31 13:55:58 +03:00
kd-11
f367703574
Use sysctlbyname
2024-08-25 22:04:45 +03:00
kd-11
8c64192ac7
Implement basic system info detection on macos using sysctl
2024-08-25 22:04:45 +03:00
kd-11
470f8674df
aarch64 - Support for apple exceptions
2024-08-24 14:13:14 +03:00
kd-11
4da30e9eca
Add proper transform pass management
2024-08-24 14:13:14 +03:00
kd-11
09ea858dbf
Minor fixes
2024-08-24 02:07:00 +03:00
kd-11
94b6e4598c
Fix aarch64 compilation on macOS
2024-08-24 02:07:00 +03:00
kd-11
f5173ca9bf
aarch64 - Decode CPU brand information
2024-08-24 02:07:00 +03:00
Elad Ashkenazi
1c16ada670
Debugger: Pointer comparison bugfix
2024-08-22 12:21:55 +03:00
kd-11
042a5481ca
Formatting
2024-08-21 16:16:28 +03:00
kd-11
4bb79b6c31
Rework aarch64 signal handling
2024-08-21 16:16:28 +03:00
kd-11
d0dbdb1ab5
Fix hang when compiling leaf blocks
2024-08-20 05:18:53 +03:00
kd-11
fbcd8e32b8
Cleanup
2024-08-18 18:27:52 +03:00
kd-11
ca4fa1ac74
Use return-oriented trap approach
2024-08-18 18:27:52 +03:00
kd-11
fc415cf32a
Move to a assembler wrapper for injected asm to better handle dependencies
2024-08-18 18:27:52 +03:00
kd-11
2faa61ac31
Refactor aarch64 JIT code
2024-08-18 18:27:52 +03:00
Elad Ashkenazi
d0ebba6c5e
CELL: New reservation notifications mechanism
2024-08-14 11:53:00 +03:00
kd-11
0b62385ddb
aarch64/llvm: Handle processing of leaf nodes
2024-08-13 18:25:26 +03:00
kd-11
3ef8046f5c
rsx: Fix fragment constants decoding for non-x86 platforms
2024-08-09 15:09:26 +03:00
kd-11
1200bbe7cc
Address review comments
2024-08-08 13:40:07 +03:00
kd-11
294bebb4a7
Fix SPU compilation
2024-08-08 13:40:07 +03:00
kd-11
42d47b61a0
Fix dependency injection on terminators
2024-08-08 13:40:07 +03:00
kd-11
7979c5d9eb
Finalize PPU migration to the frame pass system
2024-08-08 13:40:07 +03:00