Nekotekina
488928eca2
Fix SPU STOP instruction
...
Check thread state after STOP instruction
2018-11-05 14:35:50 +03:00
Nekotekina
1b37e775be
Migration to named_thread<>
...
Add atomic_t<>::try_dec instead of fetch_dec_sat
Add atomic_t<>::try_inc
GDBDebugServer is broken (needs rewrite)
Removed old_thread class (former named_thread)
Removed storing/rethrowing exceptions from thread
Emu.Stop doesn't inject an exception anymore
task_stack helper class removed
thread_base simplified (no shared_from_this)
thread_ctrl::spawn simplified (creates detached thread)
Implemented overrideable thread detaching logic
Disabled cellAdec, cellDmux, cellFsAio
SPUThread renamed to spu_thread
RawSPUThread removed, spu_thread used instead
Disabled deriving from ppu_thread
Partial support for thread renaming
lv2_timer... simplified, screw it
idm/fxm: butchered support for on_stop/on_init
vm: improved allocation structure (added size)
2018-10-19 22:22:35 +03:00
Nekotekina
ed9fb8405b
Move rotate/cntlz/cnttz helpers to Utilities/asm.h
2018-09-08 00:32:04 +03:00
Nekotekina
7b4f70390d
Don't use decltype(spu_opcode_t::...)
...
Add static constant for this purpose
Try to fix MSVC bug warning C4573
2018-08-25 21:06:24 +03:00
eladash
f349695a75
Rsx: rewrite address translation
2018-08-13 16:16:34 +03:00
scribam
5828367013
spu-precise: fix double-precision floating-point exception checks
2018-07-20 15:22:14 +04:00
scribam
1b0f5b1ed9
spu: improve dfnma instruction
2018-07-09 03:33:05 +04:00
Nekotekina
0a58464f01
SPU ASMJIT: returnable STOP in Mega mode
...
Fix STOP, STOPD, SYNC, DSYNC in Safe mode
2018-06-12 02:09:22 +03:00
Nekotekina
759370ea1b
SPU: rewrite FSM/FSMH/FSMB instructions
...
Remove lookup tables
2018-05-30 20:35:35 +03:00
Nekotekina
bdf6545571
SPU: rewrite spu_interpreter::SHUFB
...
Use ASMJIT to generate SSSE3+ code at runtime
Remove static SSSE3 code from spu_interpreter
2018-05-30 20:35:35 +03:00
Nekotekina
767dfa271e
SPU ASMJIT: internal jumptable
...
Allow indirect calls within current function using a jumptable
This restores some functionality removed in SPU ASMJIT 2.0
Change SPUThread::get_ch_value prototype
2018-05-08 13:05:29 +03:00
Nekotekina
445b7c0758
Optimize SPU interpreter
...
Made SPU decoder similar to PPU decoder
2018-03-01 16:13:35 +03:00
elad
6e8ccbcf17
spu/interp: optimize floating point exception checking
...
read once the MXCSR register and use his value to check for all exceptions
2018-02-28 21:30:33 +04:00
Nekotekina
f24491de84
SPU: fixes
2017-12-20 01:21:59 +03:00
Nekotekina
4aee4ed6d7
SPU: remove SSSE3 dependency
2017-12-20 00:04:08 +03:00
scribam
50f2be57f7
Spaces to tabs
2017-12-10 16:48:33 +04:00
Jake
d17093e65b
spu: Fix interrupt jump check - also change interrupt variable to atomic bool for ease of setting/checking
2017-12-01 20:29:59 +03:00
Jake
ad97780c4f
spu: Implement DFCMGT for interpreter and recompiler
2017-12-01 20:29:59 +03:00
kd-11
b338c81907
spu: Fixes ( #3526 )
...
* spu: Rewrite interpreter fast FM
- Partially implement accurate FM
- Fix FMA/FMS/FNMS by removing an optimization that does not work for INF (cmpunord)
- cmpunord does not catch all cases of an extended result/overflow
- NOTE: FM still does not handle corner cases well (e.g inf * 1.2 because SPU does not have concept of inf)
2017-10-04 20:58:06 +03:00
kd-11
41d921808b
spu: Reimplement FCGT and FCMGT to handle corner cases (such as comparisons against infinites and denormals)
...
- Also optimize FMA/FMS/FNMS for recompiler
2017-07-08 14:52:16 +03:00
Wilfried Rabouin
7ab210432e
PPU interpreter (precise): SAT bit implemented ( #2736 )
2017-04-30 21:05:50 +03:00
kd-11
65bdcaed29
spu: Check exponent bits in FMA ops ( #2683 )
2017-04-13 23:02:51 +03:00
jjsat
d8dc4f4474
Fix isdenormal() for MS VC.
2017-04-06 20:58:02 +03:00
Nekotekina
3baf79f929
ror64 added
2017-03-04 17:34:59 +03:00
Nekotekina
9000407a77
cpu_thread::test_state added
...
lv2_obj::sleep adjustment
synchronization fixes
2017-02-22 13:23:21 +03:00
Nekotekina
d2ddb9882f
SPU: IRET, SN event
2017-02-13 16:29:32 +03:00
Nekotekina
0f87c4485d
Silly macro removed-2
2016-08-14 18:19:42 +03:00
Nekotekina
a7e808b35b
EXCEPTION macro removed
...
fmt::throw_exception<> implemented
::narrow improved
Minor fixes
2016-08-08 19:19:32 +03:00
Nekotekina
e2d82394f6
Cell
2016-05-23 16:22:23 +03:00
Ivan
aafcf44581
Header optimizations ( #1684 )
...
Shouldn't break anything. I hope.
2016-04-27 01:27:24 +03:00
Ivan
efc8779275
SPU channel optimization ( #1675 )
2016-04-19 16:04:02 +03:00
Nekotekina
c4e99dbdb2
Partial commit: Cell
2016-04-15 19:22:34 +03:00
Nekotekina
3ed603074c
Changes done by [DH] rewritten
...
Added rsx_program_decompiler submodule
Added fs::dir iterator
Added fmt::match
2015-12-22 23:11:20 +03: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
7e01c81154
SPU Recompiler fixed
2015-09-07 00:36:32 +03:00
Nekotekina
817fec9684
SPU Cleanup
...
SPURecompiler improved
Old SPU decoder removed
SPU Interpreters merged
2015-09-02 00:38:44 +03:00
Nekotekina
6f3c50eba2
u128 renamed to v128
...
Since it's vector union type
2015-08-24 21:22:23 +03:00
Nekotekina
5bd83516ba
SPU Interrupt Enable Status implemented
...
SPU Interrupts are still NOT implemented
2015-07-21 23:14:25 +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
d1fbccc9ce
SPURecompiler improved
2015-04-05 21:01:15 +03:00
Nekotekina
3247152ff7
PPU: some instructions replaced
2015-03-29 14:00:10 +03:00
Nekotekina
d640aba903
PPU: some instructions replaced
2015-03-26 21:42:12 +03:00
Nekotekina
f095dec43d
Compilation fix
2015-03-22 02:22:24 +03:00
Nekotekina
dc6c21833d
SPU: completed
2015-03-22 01:03:28 +03:00
Nekotekina
08dd95e52b
SPU: Floating Interpolate implemented
2015-03-21 22:39:56 +03:00
Nekotekina
a86317ce5a
SPU: some instructions updated
2015-03-21 21:07:37 +03:00
Nekotekina
e477a0b8fc
SPU: some instructions updated
2015-03-21 18:36:56 +03:00
Nekotekina
ff1708a899
SPU: some instructions updated
2015-03-21 17:29:33 +03:00