The Dax
a35a407207
Add two new instructions to the MIPS interpreter for logging. vertex.pbp demo seems to use one of them.
2013-08-25 16:28:19 -04:00
adrian17
06a015983a
Fixed some doubled semicolons
2013-08-25 19:43:18 +02:00
Unknown W. Brackets
97aa1a631e
Improve typesafety in the x86 regalloc.
2013-08-24 19:41:10 -07:00
Unknown W. Brackets
3156b95d3f
Make sure there's enough space while compiling.
2013-08-24 17:38:22 -07:00
Unknown W. Brackets
6c97b66806
Cap imm branch instructions, reset compiling.
...
Break and other delay slot ops could've set it to false.
It's actually sometimes faster now.
2013-08-24 17:26:24 -07:00
Unknown W. Brackets
52d6080fb4
Pass in some analysis results, don't use yet.
2013-08-24 15:36:24 -07:00
Unknown W. Brackets
109ad17ac6
Use a typesafe struct for opcodes.
...
Also, correctly read delayslots using Read_Instruction on ARM.
2013-08-24 15:36:24 -07:00
Unknown W. Brackets
4495559b75
Clean up register usage analysis a bit.
2013-08-24 15:36:23 -07:00
Unknown W. Brackets
b37f09cedf
Make MIPSInfo a struct for typesafety.
...
Found a bug in ReadsFromReg().
2013-08-24 13:22:10 -07:00
Unknown W. Brackets
743b27c9cc
Add conditional breakpoints to interpreter.
2013-08-24 09:51:45 -07:00
Unknown W. Brackets
46c5a48a86
Clean up some minor aliasing.
2013-08-22 23:31:49 -07:00
Unknown W. Brackets
1ed8edb0d3
Avoid some dangerous hex constant widths.
2013-08-22 23:23:48 -07:00
Unknown W. Brackets
9864c1cd8d
Minor x86 jit branch tweak from arm.
2013-08-16 23:48:41 -07:00
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