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
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
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
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
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
bf092a3631
drc: split disassembly to separate pass
...
allows easier analysis
2013-07-20 20:33:44 +03:00
notaz
cff531af94
clarify PicoDrive's license
...
- PicoDrive was originally released by fDave with simple
"free for non-commercial use / For commercial use, separate licencing
terms must be obtained" license and I kept it in my releases.
- in 2011, fDave re-released his code (same that I used as base
many years ago) dual licensed with GPLv2 and MAME licenses:
https://code.google.com/p/cyclone68000/
Based on the above I now proclaim that the whole source code is licensed
under the MAME license as more elaborate form of "for non-commercial use".
If that raises any doubt, I announce that all my modifications (which
is the vast majority of code by now) is licensed under the MAME license,
as it reads in COPYING file in this commit.
This does not affect ym2612.c/sn76496.c that were MAME licensed already
from the beginning.
2013-06-26 03:07:07 +03:00
notaz
04092e329b
32x: drc: more bugfixing
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@865 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-23 20:54:28 +00:00
notaz
a2b8c5a545
32x: drc: new smc handling, some bugfixes + refactoring
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@864 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-21 22:11:54 +00:00
notaz
5686d93123
32x: drc: new debug facility (pdb). Few fixes thanks to it.
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@863 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-19 22:17:47 +00:00
notaz
44e6452e02
32x: drc: block linking
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@853 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-06 13:18:04 +00:00
notaz
b081408f66
32x: drc: mmap dram+rom for direct dereference
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@851 be3aeb3a-fb24-0410-a615-afba39da0efa
2010-01-02 21:03:04 +00:00
notaz
e05b81fc5b
32x: drc: inline dispatcher and irq handling; do write-caused irqs
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@849 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-12-29 22:43:10 +00:00
notaz
18b9412743
32x: drc: self-reentrant blocks
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@841 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-12-15 13:44:59 +00:00
notaz
8b4f38f4c6
32x: drc: enable and fix static reg alloc, carry flag tweaks
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@838 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-12-07 15:30:52 +00:00
notaz
8796b7ee88
32x: drc: finish MAC, gen drc entry/exit (for statically alloced regs)
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@837 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-12-07 12:30:56 +00:00
notaz
f0d7b1faa1
32x: drc: first implementation finished, no more interpreter dep
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@832 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-11-12 16:42:42 +00:00
notaz
52d759c30f
32x: drc: all opcodes covered, some TODOs left
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@830 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-11-06 13:38:34 +00:00
notaz
ed8cf79be8
32x: drc: more wip, ARM untested
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@828 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-10-30 14:17:12 +00:00
notaz
3863edbd9d
32x: drc: one manual page worth of opcodes implemented (x86 and arm)
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@827 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-10-28 15:40:38 +00:00
notaz
80599a42db
32x: drc: handlers wip
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@826 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-10-26 11:16:19 +00:00
notaz
c18edb34e6
32x: drc: dynamicregister allocator
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@825 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-10-23 12:33:02 +00:00
notaz
553c3eaa3a
32x drc functional on ARM, random adjustments
...
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@824 be3aeb3a-fb24-0410-a615-afba39da0efa
2009-10-22 20:16:32 +00:00