Nekotekina
580bd2b25e
Initial Linux Aarch64 support
...
* Update asmjit dependency (aarch64 branch)
* Disable USE_DISCORD_RPC by default
* Dump some JIT objects in rpcs3 cache dir
* Add SIGILL handler for all platforms
* Fix resetting zeroing denormals in thread pool
* Refactor most v128:: utils into global gv_** functions
* Refactor PPU interpreter (incomplete), remove "precise"
* - Instruction specializations with multiple accuracy flags
* - Adjust calling convention for speed
* - Removed precise/fast setting, replaced with static
* - Started refactoring interpreters for building at runtime JIT
* (I got tired of poor compiler optimizations)
* - Expose some accuracy settings (SAT, NJ, VNAN, FPCC)
* - Add exec_bytes PPU thread variable (akin to cycle count)
* PPU LLVM: fix VCTUXS+VCTSXS instruction NaN results
* SPU interpreter: remove "precise" for now (extremely non-portable)
* - As with PPU, settings changed to static/dynamic for interpreters.
* - Precise options will be implemented later
* Fix termination after fatal error dialog
2022-01-15 06:48:04 +03:00
Nekotekina
5d27f1c732
PPU: implement VNMSUBFP (precise variant)
2020-06-07 22:44:07 +03:00
Nekotekina
471db3219d
Finalize constexpr ppu_decoder<> thing
...
Move SSSE3 checks to runtime in PPUInterpreter.cpp
2020-03-25 11:18:48 +03:00
Eladash
c16319f959
PPU Precise: Fix fused float ops misaccuracy by using fma
...
Also cleanup add64_flags, remove redundent copy of s_ppu_itype.
2019-10-20 20:58:31 +03:00
eladash
0af342a978
PPU Precise: FPCC handling on float ops implemented
2019-08-18 04:01:16 +03:00
Nekotekina
83da7f9b63
PPU: remove SSSE3 dependency
2017-12-20 01:21:15 +03:00
Wilfried Rabouin
7ab210432e
PPU interpreter (precise): SAT bit implemented ( #2736 )
2017-04-30 21:05:50 +03:00
Nekotekina
3bfe17a14f
PPU: HACK instruction removed
...
Breakpoints fixed
2017-03-22 23:23:47 +03:00
Nekotekina
f8719c1230
PPUThread refactoring
...
`CallbackManager` removed, added _gcm_intr_thread for cellGcmSys
`PPUThread` renamed to `ppu_thread`, inheritance allowed
Added lightweight command queue for `ppu_thread`
Implemented call stack dump for PPU
`get_current_thread_mutex` removed
`thread_ctrl::spawn`: minor initialization fix
`thread_ctrl::wait_for` added
`named_thread`: some methods added
`cpu_thread::run` added
Some bugs fixes, including SPU channels
2016-07-30 16:35:02 +03:00
Nekotekina
e2d82394f6
Cell
2016-05-23 16:22:23 +03:00
Nekotekina
c4e99dbdb2
Partial commit: Cell
2016-04-15 19:22:34 +03:00
Vincent Lejeune
72375d9e3d
build: Add a separate project for ppu llvm recompiler
...
Fix some defect found by static analysis.
2016-03-02 14:53:14 +01:00
Raul Tambre
3afc62e525
Fix #1368
2016-01-08 08:39:34 +02:00
Vincent Lejeune
243bc0d06e
PPU/LLVM: Use interp version of some instruction for debugging purpose.
2015-12-23 17:03:01 +01:00
Vincent Lejeune
8e451126ac
llvm: Make Compiler class a module builder only class.
2015-12-06 23:51:50 +01:00
Nekotekina
5f6caf33f0
MINGW64: Compilation fix
2015-11-16 19:12:51 +03:00
Nekotekina
a974ee009e
vm::var improved, cleanup
...
Mostly vm::var initialization introduced.
Added vm::make_var function.
2015-10-14 18:17:37 +03:00
Nekotekina
59f1077a36
Cleanup, be_t fixed
...
Some functions renamed:
get_ps3_function_name
execute_syscall_by_index
2015-09-22 13:28:34 +03:00
Nekotekina
6f3c50eba2
u128 renamed to v128
...
Since it's vector union type
2015-08-24 21:22:23 +03:00
Nekotekina
ff1f6d3d4f
PPUInterpreter formal fix (affects nothing)
2015-08-01 14:38:53 +03:00
Danila Malyutin
582329ffc6
Fixes for some of clang warnings
2015-07-26 23:24:37 +03:00
Nekotekina
2f7fe35f5c
Minor style change
2015-07-21 23:14:31 +03:00
Nekotekina
83321c5be7
sys_time_get_current_time fixed, CALL_FUNC draft
2015-07-10 04:31:30 +03:00
Nekotekina
8f9e1100c8
SPU fixes, various fixes
2015-07-10 04:31:25 +03:00
Nekotekina
721ad404d2
VM_CAST macro
2015-07-10 04:31:23 +03:00
Nekotekina
32d3d1fbe5
EXCEPTION() macro usage, sceNpTrophy improved
2015-07-10 04:31:20 +03:00
Nekotekina
6f1e76198a
Some fixes
2015-07-10 04:31:18 +03:00
Nekotekina
3aefa2b4e1
ThreadBase rewritten (wip)
2015-07-10 04:31:16 +03:00
Nekotekina
ef6f9f6ded
be_t constructor implemented, make() eliminated
...
be_t enums are forbidden, le_t improved, some operators cleaned.
2015-07-10 04:31:07 +03:00
Nekotekina
1c82e8b1d5
Bugfixes
2015-04-03 19:56:57 +03:00
Nekotekina
620e937473
Basic load
2015-03-17 23:03:24 +03:00
Nekotekina
a71cb5f521
Basic concept
2015-03-17 00:38:21 +03:00
Nekotekina
d234493b4a
Compilation fix
2015-03-07 01:58:42 +03:00
Nekotekina
0b21474b79
Logging fixed
2015-02-25 14:48:12 +03:00
Nekotekina
9ee9523680
StaticFuncManager removed
2015-02-21 17:07:22 +03:00
Nekotekina
faaef03604
Fix
2015-02-21 14:30:26 +03:00
Nekotekina
152feb898e
libmixer fix
2015-02-19 22:17:30 +03:00
Nekotekina
af986d8f4c
Loader improved, ModuleManager refactored
2015-02-18 19:22:06 +03:00
Nekotekina
f01059283a
Some cleanup
2015-02-14 00:45:36 +03:00
Nekotekina
19acaf3f86
Bugfix, ECIWX/ECOWX disabled
2015-02-08 16:38:08 +03:00
Nekotekina
1af4848324
New reservations (not finished)
2015-02-07 02:39:51 +03:00
Andrew Church
3a87a40593
Implement host FP exception checking for PPU floating-point instructions.
2015-01-18 21:14:31 +09:00
Andrew Church
04902965fe
Set host FP rounding mode for PPU floating-point instructions.
2015-01-18 21:14:19 +09:00
Andrew Church
c9df9c93ed
Implement VSCR_NJ for all vector FP instructions.
2015-01-18 07:05:48 +09:00
Andrew Church
9a310c312e
Fix intermediate truncation in vector FP fused multiply-add.
2015-01-18 07:05:38 +09:00
Andrew Church
3eb3f66e96
Fix vmaxfp/vminfp with mixed signs of zero.
2015-01-18 07:05:30 +09:00
Andrew Church
10c706d9a5
Handle NaNs correctly in vector FP instructions.
2015-01-18 07:05:18 +09:00
Andrew Church
2e2dbf6c33
Reduce code duplication for vcmp instructions.
2015-01-18 07:05:08 +09:00
Andrew Church
0fa0946a46
Fix vsumsws clobbering input registers and reading from the wrong word.
2015-01-18 07:04:56 +09:00
Andrew Church
14e0cbde9c
Catch invalid and zero-division exceptions in FPU instructions.
2015-01-18 07:04:45 +09:00