Flyinghead
91fb92264d
x64 dynarec: do not use RSQRTSS as it lacks precision
...
RSQRTSS error is:
|Relative Error| <= 1.5 ∗ 2^-12
whereas SH4's FSRRA abs error is <= 2^-21
Fixes loop issues is Sonic Adventure 1 and 2
Issue #1489
2019-02-04 10:48:22 +01:00
Flyinghead
91cfd4b2f7
Reserve and allocate maximum RAM/VRAM/ARAM in all cases
...
Reserve enough virtual memory space for DC and Naomi
Allocate dynarec entry point tables for max possible ram
Free mem and release vmem on exit
2019-01-24 09:48:58 +01:00
Flyinghead
eb37dacadb
x64: disable the use of AVX instructions because of rounding issues
2019-01-22 16:17:25 +01:00
Flyinghead
cd4e4cbdc9
x64 dynarec: check if extension is supported by cpu. seh on win32
...
Check if FMA/AVX/SSE3 is supported before using it
fully naked main loop in win32 with proper seh directives
win32: more xmm regs to allocate and no need to save them when calling
out
2019-01-18 17:02:50 +01:00
Flyinghead
f852480b88
OSX: build fix
2019-01-16 14:44:40 +01:00
Flyinghead
05d7cf2c72
x64 dynarec: implement immediate address ram read. OSX fix
2019-01-16 13:39:52 +01:00
Flyinghead
e241613b8f
x64 dynarec: implemented swaplb, fipr, ftrv, frswap and other fixes
...
native implementations for swaplb, fipr, ftrv and frswap
use explode_spans to map 2V and F64 to registers
save xmm registers when calling subroutine
2019-01-14 21:15:36 +01:00
Flyinghead
31163b8d7e
x64 dynarec: various fixes and optimizations
...
implemented fsca
fixed fsetgt and cvtf2i
2019-01-13 12:27:02 +01:00
Flyinghead
a2cd9d7af1
x64 dynarec: use register alloc spans, implement native opcodes
2019-01-12 23:48:48 +01:00
Flyinghead
fc05727538
dynarecs clean-up
...
move GetRegPtr and ngen_FailedToFindBlock to sh4/dyna
2019-01-11 23:52:20 +01:00
Flyinghead
d438f6d9c9
x64 dynarec: don't reset the cycle counter but add a time slice
...
This is how the interpreter and other dynarecs work. Better scheduling
precison.
Fixes Gundam Side Story freeze at boot.
2018-11-22 18:57:07 +01:00
Flyinghead
960904c401
Exit cleanly in desktop platforms
...
Lighter and cleaner version of the previous PR
2018-07-23 19:52:50 +02:00
Stefanos Kornilios Mitsis Poiitidis
f45f888d0b
Use platform specific first argument register
2018-07-01 12:15:59 +02:00
Stefanos Kornilios Mitsis Poiitidis
ad05c35a7e
Implement CheckBlock for x64
2018-06-29 15:19:49 +02:00
Stefanos Kornilios Mitsis Poiitidis
a4186381fb
xbyak: Move to deps folder
2015-08-24 13:27:51 +02:00
Stefanos Kornilios Mitsis Poiitidis
4c19f347aa
x64/xbyak: Update to 4.86
...
- Resolves call warnings for clang/gcc
- Overall minor improvements
- Also added copyright file
2015-08-24 13:22:30 +02:00
Jan Holthuis
109a2cce93
rec_x64.cpp: Fix function calls
...
Resolves #719 .
2015-08-15 18:15:49 +02:00
Stefanos Kornilios Mitsis Poiitidis
4aaff464b3
shrec/jitx64: Implement all block ends
...
This is still minimal and doesn't do any linking or other smart stuff
Also fixed a bug on shop_jdyn
2015-08-05 05:00:01 +02:00
Stefanos Kornilios Mitsis Poiitidis
a9c76351f6
build: Draft & cleanup, refactor rec* options
2015-07-25 13:17:42 +02:00
Stefanos Kornilios Mitsis Poiitidis
82ef7d0754
jitx64: 16KBs of emit space are guaranteed, not 64
2015-07-21 15:42:10 +02:00
Stefanos Kornilios Mitsis Poiitidis
0a3fcfe4ac
jit-x64: typofix on shop_writem, WriteMem64
2015-07-21 14:48:37 +02:00
Stefanos Kornilios Mitsis Poiitidis
b056cf6cef
Implement jitcore opset for x64
...
Now mov64, readm, writem, in addition to jittiny ifb, jdyn, mov32
2015-07-14 20:17:45 +02:00
Stefanos Kornilios Mitsis Poiitidis
1125f25eae
Fix win86 build
2015-07-14 17:47:54 +02:00
Stefanos Kornilios Mitsis Poiitidis
8cb6d6578c
Count cycles correctly
2015-07-14 17:23:02 +02:00
Stefanos Kornilios Mitsis Poiitidis
e50cfe3010
x64 tinyjit: linux support
2015-07-14 03:35:34 +02:00
Stefanos Kornilios Mitsis Poiitidis
3852cf9ac8
Minimal x64 jit: Desync'd, but runs
2015-07-13 23:56:42 +02:00