Commit graph

1647 commits

Author SHA1 Message Date
Dillon Beliveau
29f1f0a862 Remove extra on_pi_dma_complete() call 2023-03-18 14:22:34 -07:00
Dillon Beliveau
1c136e8d9c handle spilled GPR in mov_gpr_fgr 2023-03-18 13:53:50 -07:00
Dillon Beliveau
3191f95abd float sqrt/abs/neg 2023-03-18 13:53:37 -07:00
Dillon Beliveau
ef02cf5500 when disassembling a block of guest code, print the instruction word 2023-03-18 13:52:02 -07:00
Dillon Beliveau
b2803666d1 match JIT RSP behavior in interpreter, if we are comparing the jit vs. the interpreter 2023-03-18 13:51:28 -07:00
Dillon Beliveau
ad04383c5d Fix mov reg_reg when both regs spilled 2023-03-18 13:02:38 -07:00
Dillon Beliveau
0fd0988189 Fix CVT overflow checks 2023-03-18 11:29:31 -07:00
Dillon Beliveau
b701312282 set_cause_cvt_l_d takes a double 2023-03-18 10:25:42 -07:00
Dillon Beliveau
52bf0d8048 trunc.l, round.l, ceil.l, floor.l, cvt.l wip 2023-03-13 00:05:52 -07:00
Dillon Beliveau
71ccc8d94a trunc.w, round.w, ceil.w, floor.w, cvt.w complete 2023-03-12 22:24:28 -07:00
Dillon Beliveau
8b14b3d369 updates to trunc.w, round.w, ceil.w, floor.w, cvt.w. Not quite done yet 2023-03-12 21:52:49 -07:00
Dillon Beliveau
0bcf8902a8 cvt_w_s, cvt_w_d, remove last remaining NaN asserts 2023-03-12 21:42:11 -07:00
Dillon Beliveau
2e633dac5b cvt.s.fmt, cvt.d.fmt 2023-03-12 21:12:31 -07:00
Dillon Beliveau
0a8a014443 MFC1/DMFC1/MTC1/DMTC1 preserve cause 2023-03-12 20:53:16 -07:00
Dillon Beliveau
8574cc5f70 actually, this is the behavior of all invalid FPU operations 2023-03-12 20:53:00 -07:00
Dillon Beliveau
74d546c132 DCFC1/DCTC1 throw unimplemented exception 2023-03-12 20:21:32 -07:00
Dillon Beliveau
be698f6486 all compare instructions 2023-03-12 20:21:05 -07:00
Dillon Beliveau
2e6ca46a9b exceptions and failure cases for mul/div/sqrt/abs/neg + fpu mov preserves cause 2023-03-12 18:07:46 -07:00
Dillon Beliveau
8bd11e1c05 handle FE_UNDERFLOW better 2023-03-12 18:06:37 -07:00
Dillon Beliveau
ca9bf27f56 macro for FPU ops, use for add.s/d, sub.s/d 2023-03-12 17:13:19 -07:00
Dillon Beliveau
1152761f91 exceptions and failure cases for add.d 2023-03-12 16:33:20 -07:00
Dillon Beliveau
583ea15257 exceptions and failure cases for add.s 2023-03-12 16:13:28 -07:00
Dillon Beliveau
bf820b2d96 fix FPU exceptions - unimplemented operation should always be enabled 2023-03-12 14:05:43 -07:00
Dillon Beliveau
5837f37998 implement ceil.l.d, ceil.w.d, floor.l.d, floor.w.d 2023-03-12 14:05:30 -07:00
Dillon Beliveau
9347c9cb61 fix 64 bit floating point register accesses 2023-03-12 13:55:45 -07:00
Dillon Beliveau
059fbf2bfa fix 32 bit floating point register accesses 2023-03-12 13:25:51 -07:00
Dillon Beliveau
72f46b462d Merge branch 'master' into dynarec_v2 2023-03-11 20:05:06 -08:00
Dillon Beliveau
89bc6ed67d mov reg_reg with both regs spilled 2023-03-11 19:51:42 -08:00
Dillon Beliveau
3154f9eeeb tlbwi/tlbp 2023-03-11 19:51:26 -08:00
Dillon Beliveau
fe2a97a80d FPU accuracy updates 2023-03-11 17:53:21 -08:00
Dillon Beliveau
665a1802fe improvements to fpu register access - not quite perfect yet 2023-03-11 16:04:22 -08:00
Dillon Beliveau
1b251a8075 check fpu exception 2023-03-11 16:04:11 -08:00
Dillon Beliveau
48d1cdae70 implement more floor instrs, implement ceil instrs 2023-03-11 14:37:29 -08:00
Dillon Beliveau
9cf8fb0c6e misaligned PC exceptions 2023-03-11 14:11:04 -08:00
Dillon Beliveau
8dadfebffa implement DSRL 2023-03-11 13:40:44 -08:00
Dillon Beliveau
a028d0e96b fix DSUBU and DSUB 2023-03-11 13:35:41 -08:00
Dillon Beliveau
dd2bc32c5d dynarec compare use shared memory for joybus devices 2023-03-11 12:46:03 -08:00
Dillon Beliveau
887a36fe2d Merge branch 'master' into dynarec_v2 2023-03-11 12:43:44 -08:00
Dillon Beliveau
ecbf11149f branch likely should only set bd flag when the branch is taken 2023-03-11 12:41:14 -08:00
Dillon Beliveau
e62fb04403 check that interpreter and jit are in sync, zero cost exceptions 2023-03-11 12:31:02 -08:00
Dillon Beliveau
3028067b66 don't print IR if it's of the wrong block 2023-03-11 11:47:13 -08:00
Dillon Beliveau
0903f616b0 pc to exception log message 2023-03-11 11:36:25 -08:00
Dillon Beliveau
117650b924 quiet down logs 2023-03-11 11:36:06 -08:00
Dillon Beliveau
a4626ed6a7 dynarec compare check cp0 2023-03-11 11:29:26 -08:00
Dillon Beliveau
1c37494031 init settings in dynarec compare, only check vi interrupts when v_current changes, allow quitting in dynarec compare 2023-03-11 11:10:45 -08:00
Dillon Beliveau
fe7b557495 disable CP1 exceptions when instant DMAs on 2023-03-11 01:08:18 -08:00
Dillon Beliveau
e6fb45b1a7 INSTANT_PI_DMA -> INSTANT_DMA 2023-03-11 01:01:57 -08:00
Dillon Beliveau
6d7ab0e4d6 fix 2023-03-11 00:49:55 -08:00
Dillon Beliveau
f1d1f5106a WIP 2023-03-10 18:49:59 -08:00
Dillon Beliveau
c91aac0bee Update error message 2023-03-07 23:18:50 -08:00