Commit graph

1910 commits

Author SHA1 Message Date
Dillon Beliveau
6c1108622d sub const, reg 2023-02-19 03:28:08 -08:00
Dillon Beliveau
b3ff77df84 dynasm 1.4.0 -> 1.5.0 2023-02-19 03:25:23 -08:00
Dillon Beliveau
f2f115ce1f constant propagation for logical right shift 32 bit 2023-02-18 21:25:36 -08:00
Dillon Beliveau
4cf8825581 remove CP0-specific IR instructions, add bgez, more mfc0 and mtc0 stuff 2023-02-18 21:23:09 -08:00
Dillon Beliveau
1e46858246 MTC0 stuff, ignore TLBWI 2023-02-18 21:00:11 -08:00
Dillon Beliveau
b1a66e7da4 alloc spilled register correctly 2023-02-18 20:59:42 -08:00
Dillon Beliveau
6a3a206269 oops 2023-02-18 20:41:25 -08:00
Dillon Beliveau
c0c1f1af6d bltz should not link 2023-02-18 20:39:55 -08:00
Dillon Beliveau
4c268f80d2 dynarec_compare improvements: copy sp dmem and imem, vi timing and interrupts 2023-02-18 20:39:44 -08:00
Dillon Beliveau
1618062a91 div, more spilled reg handling 2023-02-18 19:44:39 -08:00
Dillon Beliveau
29492f76f9 register allocation fixes, mult with two variable regs, handle spilled regs in more cases 2023-02-18 17:54:30 -08:00
Dillon Beliveau
d9832061ff pass full register allocation information to emitters, spill to stack 2023-02-18 16:30:36 -08:00
Dillon Beliveau
5633bf4431 Rewrite register allocation algorithm 2023-02-18 14:03:35 -08:00
Dillon Beliveau
3c22197660 bltz, mult, sub 2023-02-15 23:56:11 -08:00
Dillon Beliveau
ffe720bb65 sb, blez 2023-02-14 21:59:08 -08:00
Dillon Beliveau
213fde13ca fix less than and greater than conditions 2023-02-14 21:54:35 -08:00
Dillon Beliveau
cac306a042 breakpoints in v2 compiler 2023-02-14 21:54:07 -08:00
Dillon Beliveau
d25da46e4a block browser improvements 2023-02-14 21:53:36 -08:00
Dillon Beliveau
ee4d709b53 cfc1, ctc1, ignore FPU instructions 2023-02-12 21:42:48 -08:00
Dillon Beliveau
2fd89ed5e5 compile set cp0 status 2023-02-12 19:37:23 -08:00
Dillon Beliveau
70b9a50e50 Distinguish valid immediates from constants in the compiler. Compile MFC0 2023-02-12 18:18:53 -08:00
Dillon Beliveau
b297034494 check registers in host emitters 2023-02-12 18:10:18 -08:00
Dillon Beliveau
1e553cebbb DSLL, DSLL32, DSRA, DSRA32, SRA, SRAV, DSLLV, NOR, XORI, SLTI, SLTIU 2023-02-12 16:15:00 -08:00
Dillon Beliveau
4d7d9666ab fix ir_emit_link 2023-02-12 16:13:09 -08:00
Dillon Beliveau
b9bb72eb56 DADDIU 2023-02-12 15:08:36 -08:00
Dillon Beliveau
deb17652a8 LWU and DADDI 2023-02-12 15:06:37 -08:00
Dillon Beliveau
f0025cb5b7 handle const conditions in cond block exit, fix branch likely cond negation, implement BEQL 2023-02-12 15:04:38 -08:00
Dillon Beliveau
95bf422688 don't allow binding r0 to a value 2023-02-12 14:16:06 -08:00
Dillon Beliveau
804ed3d702 fix types for VALUE_TYPE_U16 2023-02-12 14:15:56 -08:00
Dillon Beliveau
fac8224a3f move v2_link_and_encode into a separate TU 2023-02-12 14:15:39 -08:00
Dillon Beliveau
00a407c00e fill out entire block struct from within v2_link_and_encode 2023-02-12 13:46:31 -08:00
Dillon Beliveau
37eb87e3ad missing_block_handler not static 2023-02-12 13:43:54 -08:00
Dillon Beliveau
9f2b323fae not static, unique names 2023-02-12 13:35:27 -08:00
Dillon Beliveau
47ad0a4e12 updates to unimplemented cases in v2_compiler 2023-02-12 10:20:24 -08:00
Dillon Beliveau
1003a7a397 compare tool fixes 2023-02-12 10:18:27 -08:00
Dillon Beliveau
b964012d7e subtraction fixes 2023-02-12 10:18:13 -08:00
Dillon Beliveau
ff5f223d89 missing prototype 2023-02-11 22:14:10 -08:00
Dillon Beliveau
a84394893b bgezal 2023-02-11 22:12:40 -08:00
Dillon Beliveau
7f4cde5fab or/xor with two variable args 2023-02-11 22:06:17 -08:00
Dillon Beliveau
3ed0f82607 XOR, SUBU, SLLV, SRLV 2023-02-11 22:01:11 -08:00
Dillon Beliveau
40a1af4201 fix various dynarec bugs 2023-02-11 21:03:25 -08:00
Dillon Beliveau
9925f84572 dynarec_compare tool 2023-02-11 21:02:21 -08:00
Dillon Beliveau
2d7886697b preprocessor macro INSTANT_PI_DMA for debugging 2023-02-11 21:01:57 -08:00
Dillon Beliveau
decc017b84 IR multiplies, MULTU 2023-02-11 18:10:29 -08:00
Dillon Beliveau
af878c9af4 remove hardcoded reg nums 2023-02-11 15:24:35 -08:00
Dillon Beliveau
0f83d009c2 C functions to dump disassembly 2023-02-11 15:18:01 -08:00
Dillon Beliveau
50da5291ff optimize more memory accesses to use offsets when possible 2023-02-11 15:14:38 -08:00
Dillon Beliveau
5fc06a9625 block disassembly viewer imgui 2023-02-11 14:38:50 -08:00
Dillon Beliveau
7c047b5983 Merge branch 'master' into dynarec_v2 2023-02-11 12:22:08 -08:00
Dillon Beliveau
0ca38c593b Upgrade imgui and implot 2023-02-11 12:21:18 -08:00