Henrik Rydgard
e08ac100ce
Update native with workaround for #4078 and add some comments
2013-10-08 20:11:01 +02:00
Unknown W. Brackets
3a1b6fb269
Fix some sign comparison warnings.
2013-10-05 11:13:41 -07:00
Henrik Rydgard
04b911a03b
Change a bunch of "MayHavePrefix" to "HasUnknownPrefix".
...
Should be safe, I think none of these have any sane use of prefixes anyway.
2013-09-28 20:07:58 +02:00
Henrik Rydgard
41a988774f
ARM: implement vhdp
2013-09-28 20:07:57 +02:00
Henrik Rydgard
6aecfe3998
Trying the VROT disable experiment again, this time in the right file...
2013-09-16 00:14:05 +02:00
Unknown W. Brackets
50e9e45d65
Check version in each DoState() func.
...
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Henrik Rydgård
fb48defa75
Experiment: Disable VROT on x86 32-bit except on Windows where I know it works.
2013-09-10 18:17:00 +02:00
Unknown W. Brackets
157b682344
Always use fastmem for sw/lw on SP.
2013-09-07 22:44:18 -07:00
Henrik Rydgard
8c88dff5a4
More log categories, use them (and existing ones). Improve log config.
2013-09-07 22:02:55 +02:00
Henrik Rydgard
324cde5a79
Let's actually use the log category mechanism. A first step.
2013-09-07 21:19:21 +02:00
Henrik Rydgard
78d3ee3d6a
Misc cleanup, mostly logging code
2013-09-07 13:01:19 +02:00
Unknown W. Brackets
b558189c37
Just invalidate blocks on ClearCacheAt().
...
This makes it safe to call from a jitted syscall, etc.
2013-09-01 00:32:43 -07:00
Unknown W. Brackets
97aa1a631e
Improve typesafety in the x86 regalloc.
2013-08-24 19:41:10 -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
b37f09cedf
Make MIPSInfo a struct for typesafety.
...
Found a bug in ReadsFromReg().
2013-08-24 13:22:10 -07:00
Unknown W. Brackets
1ed8edb0d3
Avoid some dangerous hex constant widths.
2013-08-22 23:23:48 -07:00
Unknown W. Brackets
8327cd0f8e
Clean up some inconsistency in jit branches on arm.
2013-08-16 02:02:56 -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
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
Henrik Rydgard
fecd9d5f78
Minor optimization, sketch on an lvl.q jit implementation
2013-08-11 22:12:15 +02:00
Henrik Rydgard
408e570469
Typo fix
2013-08-10 23:41:29 +02:00
Henrik Rydgard
394f590c36
Failed attempt at implementing vsge/vslt. Dunno what's wrong but disabled for now.
2013-08-10 18:39:27 +02:00
Henrik Rydgard
dce3c9449b
Attempt to quickfix vf2i but failed, so disabling it. Should fix #3084
2013-08-07 18:07:49 +02:00
Henrik Rydgard
a281c1a899
ARMjit: vmin/vmax
2013-08-06 23:17:10 +02:00
Henrik Rydgard
201282f28c
JIT: Implement vf2i (truncate mode only)
2013-08-06 19:08:15 +02:00
Henrik Rydgard
c71b304ba1
Fix a classic bug again (now in armjit), + a minor opt
2013-08-06 15:22:19 +02:00
Henrik Rydgard
1d81698728
JIT (both): Implement VCMOV
2013-08-06 13:29:17 +02:00
Henrik Rydgard
140d12c3db
ARMJIT: Fix and enable cross product
2013-08-06 11:55:11 +02:00
Henrik Rydgard
d2c9919573
Vcmp: Fix ARM, optimize x86 slightly
2013-08-06 11:49:10 +02:00
Henrik Rydgard
2f1e6f81bb
Android buildfix
2013-08-06 11:24:48 +02:00
Henrik Rydgard
2f0cdc6988
ARMJIT: disable vi2f, it seems buggy. preliminary disabled impl of vcrsp.t.
2013-08-06 11:10:26 +02:00
Henrik Rydgard
4e8958f42d
A small optimization, a few jit stubs, and cross/quat product on x86.
2013-08-01 00:15:08 +02:00
Henrik Rydgard
c86dc7279e
JIT: Implement VCMP in both JITs. Only the x86 one is tested and enabled.
2013-07-31 22:29:16 +02:00
Henrik Rydgard
7fc5ce56de
Fix viim for x86, implement for ARM.
2013-07-31 18:21:23 +02:00
Henrik Rydgard
0a8f85a919
Some JIT cleanup, implement VI2F on ARM. also disabled untested impl of viim for x86.
2013-07-31 17:27:04 +02:00
Henrik Rydgard
3303a71796
Oops
2013-07-31 11:25:35 +02:00
Henrik Rydgard
9bf8bfbed4
armjit clamp: Clamp negative 0 to positive 0.
2013-07-31 11:22:04 +02:00
Henrik Rydgard
c8604f3c30
ARM JIT; Fix D prefix. Turn prefixes on.
2013-07-31 11:15:42 +02:00
Henrik Rydgard
51596b636a
Fix numerous ARM JIT bugs. Activate vmtvc and vscl, and vadd/vmul/vdiv/vsub for real this time.
2013-07-31 10:34:58 +02:00
Henrik Rydgard
ebcdd637ee
ARMJit bugfixes, enable vmul, vadd, vdiv, vsub.
...
Prefixes disabled until I can fix clamping.
2013-07-31 00:12:43 +02:00
Henrik Rydgard
9ac511f191
Don't check vector size in vfim (nonsense). implement for arm. minor fix.
2013-07-30 22:34:12 +02:00
Henrik Rydgard
e93c2abe27
x86 jit: implement vfim. Move some stuff to native. cleanup for armjit logging
2013-07-30 22:28:05 +02:00
Henrik Rydgard
4c66fe3ed7
More jit stuff. Had to disable all the new stuff because of breakage :/
2013-07-30 19:34:32 +02:00
Henrik Rydgard
ee215cc316
ARMJIT: Fix eatprefix, add DirtyInInV mapping, misc stuff
2013-07-30 18:15:48 +02:00
Henrik Rydgard
76e16d49f6
VFPU: fix rounding in VF2IN
2013-07-30 01:09:11 +02:00
Henrik Rydgard
d8294f025f
More VFPU stuff (nothing new activated)
2013-07-30 01:09:11 +02:00