Dillon Beliveau
|
1a1ef04953
|
s64 multiply
|
2023-04-08 13:23:59 -07:00 |
|
Dillon Beliveau
|
59b37f750e
|
unordered float compares, dsrlv, teq
|
2023-04-08 10:48:14 -07:00 |
|
Dillon Beliveau
|
6309dfa002
|
set epc, xcontext, and implement dmfc0
|
2023-03-27 18:04:50 -07:00 |
|
Dillon Beliveau
|
0d1e7cf3e7
|
interpreter fallback when a delay slot is on a different page from its branch
|
2023-03-27 18:04:08 -07:00 |
|
Dillon Beliveau
|
7a728522cc
|
dmtc0 context/entryhi
|
2023-03-19 20:37:48 -07:00 |
|
Dillon Beliveau
|
25b2328ee9
|
check cp1 enabled
|
2023-03-19 15:56:46 -07:00 |
|
Dillon Beliveau
|
2ab8417dbc
|
fix rom bounds checking
|
2023-03-19 14:40:03 -07:00 |
|
Dillon Beliveau
|
dcc923ec61
|
"sysconfig" concept for jit blocks
|
2023-03-19 14:39:55 -07:00 |
|
Dillon Beliveau
|
d6ecee8d87
|
more constant propagation for FPU ops
|
2023-03-19 13:05:51 -07:00 |
|
Dillon Beliveau
|
5a25741e6d
|
improve mtc1/mfc1/dmtc1/dmfc1
|
2023-03-19 12:57:18 -07:00 |
|
Dillon Beliveau
|
42664ae697
|
xor spilled regs
|
2023-03-19 12:56:32 -07:00 |
|
Dillon Beliveau
|
b7cbccff3c
|
handle spilled regs in mov_reg_imm and mult_reg_imm
|
2023-03-19 02:14:17 -07:00 |
|
Dillon Beliveau
|
f1e434b345
|
make check_reg a macro, so that logfatals will link to the correct line
|
2023-03-19 01:55:48 -07:00 |
|
Dillon Beliveau
|
b17ef7eb29
|
fix tests
|
2023-03-19 01:43:11 -07:00 |
|
Dillon Beliveau
|
bf9c0a38a1
|
stub float round
|
2023-03-19 01:37:56 -07:00 |
|
Dillon Beliveau
|
2013b231df
|
dsrl32, dmfc1, dmtc1, implement float_abs_reg_reg
|
2023-03-19 01:29:50 -07:00 |
|
Dillon Beliveau
|
89847bb47c
|
sdl, sdr, sync, ll, sc
|
2023-03-19 01:06:20 -07:00 |
|
Dillon Beliveau
|
b920127cfd
|
clear FCR31 flag and cause in interpreter, when comparing
|
2023-03-18 17:30:33 -07:00 |
|
Dillon Beliveau
|
6932c7f383
|
check FCR31 in dynarec_compare
|
2023-03-18 17:30:14 -07:00 |
|
Dillon Beliveau
|
d8ba707f4a
|
Merge branch 'master' into dynarec_v2
|
2023-03-18 17:19:14 -07:00 |
|
Dillon Beliveau
|
a9071ba5b3
|
dynarec_compare: cleanup IPC resources at exit
|
2023-03-18 16:56:02 -07:00 |
|
Dillon Beliveau
|
e267984840
|
Merge pull request #39 from Dillonb/accurate_fpu
Accurate fpu
|
2023-03-18 15:57:28 -07:00 |
|
Dillon Beliveau
|
bbd87af7d4
|
Fix FPU on Windows
|
2023-03-18 15:52:01 -07:00 |
|
Dillon Beliveau
|
1e3646457f
|
mov.s is an alias for mov.d
|
2023-03-18 15:13:34 -07:00 |
|
Dillon Beliveau
|
2ffc72e187
|
sign extend when moving a 32 bit fpu reg to a gpr
|
2023-03-18 15:11:49 -07:00 |
|
Dillon Beliveau
|
28f15455b4
|
incomplete s64 divides
|
2023-03-18 14:51:12 -07:00 |
|
Dillon Beliveau
|
ce699fe528
|
Explicit error when scheduler event nodes are exhausted
|
2023-03-18 14:24:22 -07:00 |
|
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 |
|