Commit graph

240 commits

Author SHA1 Message Date
kub
b90e104fc9 sh2 drc: add aarch64 backend for A64 2019-07-30 16:34:40 +02:00
kub
d80a5fd2ab sh2 drc: add mipsel backend for MIPS32 Release 1 (for JZ47xx) 2019-07-30 16:34:40 +02:00
kub
1747b6712d SH2 drc: register cache overhaul (bugfixing, speed, readability) 2019-07-30 16:34:40 +02:00
kub
748b8187db SH2 drc: bug fixing and small speed improvements 2019-07-30 16:34:40 +02:00
kub
ee46642395 sh2 drc, x86 code emitter: use x86-64 registers R8-R15 2019-07-30 16:34:40 +02:00
kub
346153e08e 32x DMA memory copy performance optimisation 2019-07-30 16:34:40 +02:00
kub
8141d75694 sh2 drc, change utils abi to pass sh2 PC in arg0 (reduces compiled code size) 2019-07-30 16:34:40 +02:00
kub
39615f6079 sh2 drc, keep T bit in host flags as long as possible 2019-07-30 16:34:40 +02:00
kub
9e36dd0e08 add xSR/RTS call stack cache to sh2 drc 2019-07-30 16:34:40 +02:00
kub
e43998086c polling detection: communication poll fifo to avoid comm data loss 2019-07-30 16:34:40 +02:00
kub
adf39a13f9 sh2 drc, register cache optimisations 2019-07-30 16:34:40 +02:00
kub
49daa9e093 sh2 drc, block management bugfixes and cleanup 2019-07-30 16:34:40 +02:00
kub
397ccdc6cf sh2 drc, add detection for in-memory polling 2019-07-30 16:34:40 +02:00
kub
213b7f42c1 sh2 drc, add loop detector, handle delay/idle loops 2019-07-30 16:34:40 +02:00
kub
e01deede1b sh2 drc, code emitter cleanup, add ARM reorder stage to reduce interlock 2019-07-30 16:34:40 +02:00
kub
aa4c4cb951 sh2 drc, make B/W read functions signed (reduces generated code size) 2019-07-30 16:34:40 +02:00
kub
ed7e915078 sh2 drc, improved constant handling and register allocator 2019-07-30 16:34:40 +02:00
kub
83bafe8e0b add literal pool to sh2 drc (for armv[456] without MOVT/W) 2019-07-30 16:34:40 +02:00
kub
47ee54b873 sh2 drc, reuse blocks if already previously compiled (speedup for Virtua *) 2019-07-30 16:34:40 +02:00
kub
d40a5af495 various small improvements and fixes 2019-07-30 16:34:40 +02:00
kub
f133766faa overhaul of translation cache and sh2 literals handling 2019-07-30 16:34:40 +02:00
kub
d760c90f3a added branch cache to sh2 drc to improve cross-tcache jump speed 2019-07-30 16:34:40 +02:00
kub
6822ba9d64 sh2 memory interface optimzations 2019-07-30 16:34:40 +02:00
kub
4f4e9bf3bd overhaul of the register cache (improves generated code by some 10+%) 2019-07-30 16:34:40 +02:00
kub
e267031a50 debug stuff, bug fixing 2019-07-30 16:34:40 +02:00
kub
ff0eaa11d9 move saving SH2 SR into memory access and do so only if needed 2019-07-30 16:34:40 +02:00
kub
9031406131 add 32bit memory access functions for SH2 2019-07-30 16:34:40 +02:00
kub
1db36a7a07 sh2 drc: sh2 addr modes generalization, more const propagation, code gen optimizations 2019-07-30 16:34:40 +02:00
kub
b804d9543b DRC: reworked scan_block (fix register usage masks, better block and literals detection) 2019-07-30 16:34:40 +02:00
kub
064cc6d103 kludges for wwf raw, nfl 2019-07-30 16:34:40 +02:00
kub
2fa02d5a63 improved sh2 clock handling, bug fixing + small improvement to drc emitters 2019-07-30 16:34:40 +02:00
kub
f5939109c4 sh2 drc host disassembler integration for gp2x 2019-07-30 16:34:40 +02:00
kub
ce322c1e37 bfd-less arm disassembler for gph 2019-07-30 16:34:40 +02:00
notaz
7ddd8501a7 release 1.93
just because orbea wants a release tarball
2019-01-25 02:36:25 +02:00
notaz
8b9dbcde38 32x: implement standard/ssf2 mapper 2018-01-21 18:57:13 +02:00
notaz
fda2f31020 drc: support ms ABI 2018-01-07 01:20:00 +02:00
notaz
48c9e01be8 improve 64bit portability
for win64 mostly
2018-01-06 21:29:59 +02:00
notaz
898d51a7fd drc: revive x86 dynarec, support x86-64 2017-12-12 01:45:59 +02:00
notaz
98a3d79ba2 drc: arm: use movw/movt
it's about time...
2017-12-03 17:44:33 +02:00
notaz
00468b0a9b drc: do lit check before size_nolit is cleared 2017-12-03 17:44:33 +02:00
notaz
d602fd4f73 drc: ignore cache-through on smc check 2017-12-03 17:44:33 +02:00
notaz
f0ed9e38ad drc: rm overlapped block entry points
otherwise we get duplicates in hash tables
2017-12-03 17:44:33 +02:00
notaz
93f9619ed8 rearrange globals
scripted find/replace
gives slightly better code on ARM, less unnecessary asm,
~400 bytes saved
2017-10-20 12:21:09 +03:00
notaz
759c9d3846 pandora: fix build
Fixes: df9251536d "libretro: satisfy vita's dynarec needs in a cleaner way"
2017-10-20 12:20:59 +03:00
notaz
7669591e08 famec: eliminate global context ptr
saves like 25-35K of .text

current compile resource usage on i5-6600K:
            cpu  mem
gcc 5.4.0:  17.0 1.1g
clang 3.8:  1686 2.3g

FAMEC_NO_GOTOS:
gcc 5.4.0:   8.4 0.4g
clang 3.8:  20.0 0.15g
vs2008/O2: ~1800 ?
vs2008/O1:  ~720 ?
2017-10-15 03:26:48 +03:00
notaz
12f23dac6f famec: split fm68k_emulate
in FAMEC_NO_GOTOS mode at least
2017-10-15 00:45:55 +03:00
notaz
e9a11abb3c drop some unnecessary inlines
apparently somebody compiles with msvc?
2017-10-14 00:53:09 +03:00
notaz
b5f5dc1fad android: make armeabi buildable 2017-10-14 00:53:09 +03:00
notaz
df9251536d libretro: satisfy vita's dynarec needs in a cleaner way 2017-10-14 00:53:09 +03:00
notaz
bce144211c some portability cleanups 2017-10-14 00:53:09 +03:00