Commit graph

126 commits

Author SHA1 Message Date
kub
4f992bf541 sh2 drc, tentative MIPS32/64 Release 2 support 2019-12-02 22:31:14 +01:00
kub
57d863cb87 sh2 drc: bug fixing 2019-11-27 22:08:14 +01:00
kub
f1da0a362f sh2 drc: fixed some RISC-V bugs 2019-11-20 01:01:33 +01:00
kub
f2d19ddf2a sh2 drc, small improvements and bug fixes for code emitters 2019-11-19 21:59:44 +01:00
kub
f7a453816e sh2 drc: RISC-V (RV64IM) code emitter, some work on MIPS64 2019-11-13 21:58:48 +01:00
kub
e7ee501075 sh2 drc: RISC-V (RV64IM) code emitter, some work on MIPS64 2019-11-13 21:56:11 +01:00
kub
aaea8e3ecd sh2 drc: optimizations for MIPS code emitting 2019-11-09 10:30:57 +01:00
kub
9bd6706dca sh2 drc: moved host register assignment to code emitters, minor bugfixing 2019-11-09 10:24:52 +01:00
kub
a6c0ab7d99 sh2 drc bugfix for aarch64/mips 2019-10-12 00:26:11 +02:00
kub
7869213d35 sh2 drc: speed optimization and bugfixing 2019-10-11 00:51:19 +02:00
kub
a0f5ba4067 sh2 drc: bug fixing and optimization in register cache and branch handling 2019-10-04 17:11:18 +02:00
kub
06bc3c0693 sh2 drc: drc exit, block linking and branch handling revised 2019-09-28 16:39:26 +02:00
kub
36614252d9 sh2 drc: improved RTS call stack cache 2019-09-19 22:14:28 +02:00
kub
f53e166cf4 various smallish optimizations, cleanups, and bug fixes 2019-09-17 23:05:35 +02:00
kub
fe344bd3d8 cleanup and microoptimizations in SH2 hw handling 2019-08-31 17:37:18 +02:00
kub
0f7a30ede3 configuration changes and README 2019-08-21 18:27:26 +02:00
kub
8284ab7107 various small fixes and optimsations 2019-08-16 15:14:41 +02:00
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
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
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
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
83bafe8e0b add literal pool to sh2 drc (for armv[456] without MOVT/W) 2019-07-30 16:34:40 +02:00
kub
d40a5af495 various small improvements and fixes 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
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
2fa02d5a63 improved sh2 clock handling, bug fixing + small improvement to drc emitters 2019-07-30 16:34:40 +02:00
notaz
fda2f31020 drc: support ms ABI 2018-01-07 01:20:00 +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
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
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
notaz
0185b67736 allow to disable SH2 dynarec on runtime 2013-08-31 20:48:39 +03:00
notaz
f81107f590 32x: memhandler improvements
- use consistent read tables (with write)
- use sh2 ptr instead of id
- place data_array/peri_regs in sh2 struct
2013-08-08 03:02:54 +03:00
notaz
570dde615d drc: do a test on startup
saves time for porting help
2013-07-29 04:47:07 +03:00
notaz
6d7979571d drc: debug improvements 2013-07-23 01:45:21 +03:00
notaz
bf092a3631 drc: split disassembly to separate pass
allows easier analysis
2013-07-20 20:33:44 +03:00
notaz
228ee974aa drc: rework block tracking and lookup
- all 3 caches have their own hash tables (for now?)
- block entry points have separate structures from blocks,
  so invalidation can now properly be done
2013-07-18 02:37:08 +03:00
notaz
c25d78eec1 drc: some portability fixes 2013-06-29 01:39:17 +03:00