Henrik Rydgård
a678621caf
Merge pull request #3191 from Ced2911/ppc_basic
...
ppc support + ppc jit
2013-08-16 12:16:49 -07:00
Ced2911
63215b6588
cleanup
2013-08-16 19:24:35 +02:00
Ced2911
a390db91e5
fix sub
2013-08-16 14:52:44 +02:00
Ced2911
d2e0b6a903
more compiled alu
2013-08-16 14:52:04 +02:00
Ced2911
eb177f943f
jit: load/store, addi
...
various fixes
2013-08-16 14:51:22 +02:00
Ced2911
41bf19244d
use rlwinm instead of and, started jitted memory instructions
2013-08-16 14:50:40 +02:00
Ced2911
2cc17cbcc1
jit few cleanup
2013-08-16 14:49:34 +02:00
Ced2911
5b87d222f4
implement fpu and vpu branch
2013-08-16 14:49:13 +02:00
Ced2911
fd6bbd6096
run cube.elf for 8728 frames (hit BranchFPFlag)
2013-08-16 14:48:42 +02:00
Ced2911
d613c44303
fix bgez
2013-08-16 14:47:54 +02:00
Ced2911
5f05b0b112
fix blt
2013-08-16 14:46:57 +02:00
Ced2911
b0815b84e8
more
2013-08-16 14:46:57 +02:00
Ced2911
3a82881bf2
almost working !
...
hang when downcount is under 0
2013-08-16 14:45:19 +02:00
Ced2911
1a5c6b59c5
add ppc jit
2013-08-16 14:40:29 +02:00
Ced2911
9431c811a7
broken ppc jit
2013-08-16 14:39:54 +02:00
Ced2911
c24c5c88d9
empty jit
2013-08-16 14:37:36 +02:00
Ced2911
c332a4af58
Endian and PPC support
2013-08-16 14:34:15 +02:00
Henrik Rydgård
e36444c1c2
Merge pull request #3189 from unknownbrackets/jit-branch
...
Attempts at continuing jit blocks (disabled)
2013-08-16 02:11:06 -07:00
Unknown W. Brackets
8327cd0f8e
Clean up some inconsistency in jit branches on arm.
2013-08-16 02:02:56 -07:00
Unknown W. Brackets
df32c99be6
Attempt to follow branches to a max # of ops.
...
Seems to make it slower also. Maybe taking the branch would be better...
hmmph.
2013-08-16 01:07:11 -07:00
Unknown W. Brackets
defd2b6383
Attempt at doing branches with imm args.
2013-08-16 01:05:52 -07:00
Unknown W. Brackets
6b0b5145e5
Clean up some inconsistency in jit branches.
2013-08-16 00:44:23 -07:00
Ced2911
78b219b1fd
endian on vfpu
2013-08-16 09:17:34 +02:00
Unknown W. Brackets
14b719a7ac
Make it possible to have more block exits.
2013-08-16 00:12:49 -07:00
Unknown W. Brackets
64c2ea86c0
Add a method to save the gpr/fpr state in jit.
2013-08-16 00:12:49 -07:00
Henrik Rydgard
0348403f61
Turn vcmp back on again, let's not trust the one-operand arm vcmp for now
2013-08-15 22:57:04 +02:00
Unknown W. Brackets
2758634a0f
Avoid overhead calling __KernelIdle().
...
~1.8% improvement in Zettai Hero Project.
2013-08-15 01:35:17 -07:00
Unknown W. Brackets
846178a588
Optimize thread switching a bit.
...
~2.5% improvement in Zettai Hero Project (while multithreading.)
2013-08-15 01:26:16 -07:00
Unknown W. Brackets
5387e5c717
Oops, typo.
2013-08-15 00:38:53 -07:00
Unknown W. Brackets
df50e03146
Add a safety log for cases we don't handle right.
2013-08-14 23:14:25 -07:00
Unknown W. Brackets
e639f8d15f
Handle branches in VFPU delay slots better.
...
Based on tests on a PSP, all branches are attempted. The behavior is
technically undefined.
It seems to take the delay slot's target if they differ and both pass.
This is the behavior the interpreter has, but it's more work in jit.
Since only a couple games seem to do this, and clearly expect this
behavior, this fixes all known cases of #1926 .
2013-08-14 22:56:02 -07:00
Henrik Rydgard
0a5c942daf
Temporarily disable VCMP on ARM. Let's see if this fixes #3071 , if so I have debugging to do.
2013-08-14 17:41:16 +02:00
Unknown W. Brackets
c8716d9a02
Fix a few minor typos + small reporting change.
2013-08-12 23:02:39 -07:00
Unknown W. Brackets
49ab98c7fd
Use atomic operations on Android + warning fixes.
2013-08-12 08:51:49 -07:00
Unknown W. Brackets
7ac67a8931
Add a function to walk the stack, not yet perfect.
...
Could use improvements, but with a decent symbol table does very well so
far in the games I tested it in.
2013-08-12 01:54:14 -07:00
Unknown W. Brackets
92482dfcb3
Branch targets are relative to next instr.
2013-08-12 01:52:54 -07:00
Unknown W. Brackets
4d250954e4
Use the flags in MIPSCodeUtils.
2013-08-11 23:03:25 -07:00
Unknown W. Brackets
c7360f1555
Consider these as taking a IMM16 as well.
2013-08-11 21:30:19 -07:00
Unknown W. Brackets
aac6712974
Get rid of IsDelaySlotInfoSafe since flags are ok.
2013-08-11 20:49:34 -07:00
Unknown W. Brackets
3c4a6e13e4
Cleanup the remaining MIPS tables, reporting.
2013-08-11 20:40:21 -07:00
Unknown W. Brackets
6f703d7b5a
Cleanup flags on VFPU4 sub MIPS tables.
2013-08-11 20:11:34 -07:00
Unknown W. Brackets
3f49101868
Clean up the COP1 MIPS tables, and reporting.
2013-08-11 19:35:39 -07:00
Unknown W. Brackets
7e92b17dd4
Cleanup some COP2/VFPU2 table flags.
2013-08-11 19:13:41 -07:00
Unknown W. Brackets
3ae2b8dcc4
Clean up the SPECIAL3 and REGIMM table flags.
2013-08-11 18:41:21 -07:00
Unknown W. Brackets
8266063394
Make sure we're reporting unknown instructions.
2013-08-11 18:20:43 -07:00
Unknown W. Brackets
f652a2f6f0
Correct SPECIAL2 and separate COP1S and COP1W.
2013-08-11 18:17:03 -07:00
Unknown W. Brackets
b2abdbe44b
Clean up the SPECIAL MIPS table, mostly flags.
2013-08-11 18:01:55 -07:00
Unknown W. Brackets
152f28aeac
Clean up the immediate MIPS table, mostly flags.
2013-08-11 18:01:48 -07:00
Unknown W. Brackets
d08f2bc3fb
Fix some formatting in the MIPS table.
...
And also a couple cases of manually specifying RS.
2013-08-11 17:12:54 -07:00
Unknown W. Brackets
4ebf355ece
Simplify some MIPS table flags.
2013-08-11 17:02:00 -07:00