Henrik Rydgard
502f772856
Add experimental mode to cache pointers in the arm jit.
...
Turned off for now as it needs more work but seems quite promising already.
2013-11-09 17:15:30 +01:00
Henrik Rydgard
58c39a38ee
ARM regcache: Add mechanism to keep registers converted to pointers around
2013-11-09 16:57:29 +01:00
Henrik Rydgard
5ad04a23f4
x86 jit: Rename BindToRegister to MapReg
2013-11-09 15:23:31 +01:00
Henrik Rydgard
d26692ef92
Fix bug from a couple of commits ago in ARMJit
2013-11-09 15:22:39 +01:00
Henrik Rydgard
316d23d4cc
Optimize mfv/mtv/mfc1/mtc1 on x86 too
2013-11-09 14:06:45 +01:00
Henrik Rydgard
04451623b9
This variant didn't seem to make much difference either (see prev commit)
2013-11-09 13:06:10 +01:00
Henrik Rydgard
15bc5a8db7
Add small ARM perf experiment. Did not help on ARMv7 so turned it off.
...
xsacha might want to try it on ARMv6.
2013-11-09 12:57:07 +01:00
Unknown W. Brackets
5d46a82f43
armjit: Use a MOV for add/or with 0.
...
Might skip the ALU, so might be faster.
2013-11-08 11:41:57 -08:00
Unknown W. Brackets
b8e126e7ce
armjit: Preserve imms in slt/sltu as possible.
2013-11-08 11:41:57 -08:00
Unknown W. Brackets
8393d4aaae
armjit: Preserve immediates more in nor.
2013-11-08 11:41:56 -08:00
Unknown W. Brackets
d7e42b26a3
armjit: Avoid flushing imm on add t0, imm, imm.
2013-11-08 11:41:56 -08:00
Unknown W. Brackets
a435c9dd13
armjit: Optimize movz/movn with immediates.
2013-11-08 11:41:55 -08:00
Unknown W. Brackets
376918c408
armjit: Reverse add t0, N, t1 to preserve imm.
2013-11-08 11:41:55 -08:00
Unknown W. Brackets
02dd250354
armjit: Optimize out a few immediate logic cases.
2013-11-08 11:39:24 -08:00
Henrik Rydgard
58db79672f
Fix vmtvc on ARM, fixing issues with our prefix check. Add some logging.
...
Also improve vcmp on ARM.
2013-11-08 19:59:11 +01:00
Henrik Rydgard
309f904c0c
Extract JitState into its own header (arm/x86)
2013-11-08 18:51:52 +01:00
Henrik Rydgard
f57f8170d3
ARMjit: Optimize mfv, mtv
2013-11-08 12:43:48 +01:00
Henrik Rydgard
dff0c431aa
ARMjit: Optimize mfc1, mtc1
2013-11-08 12:43:48 +01:00
Henrik Rydgard
5a95e267fb
Add an optimization to discard registers at the end of functions when possible.
...
Works in some games but crashes many so hiding it for now. Do not add UI.
2013-11-08 12:43:48 +01:00
Sacha
803148b8ca
ARMv6: Fix offsets > 4096 for litpool. More aggressive check.
...
Somehow Scooby Doo gets to offsets of ~4200 unless i drop the threshold down to ~3200. Not sure why the offset can jump by so much in one instruction.
Makes Scooby Doo playable now instead of showing a blue screen in the main game. Likely affects other games.
2013-11-08 16:07:05 +10:00
Henrik Rydgard
c0d7c5e958
vsgn x86 bugfix
2013-11-07 21:07:07 +01:00
Henrik Rydgard
6eb7f94065
Implement vsgn in x86/x64 and ARM jit
2013-11-07 15:29:13 +01:00
Henrik Rydgard
32c95af820
ARM: Some zero-register fixes
2013-11-07 15:29:13 +01:00
Henrik Rydgard
91393093bc
Re-enable the "nice delay slot" optimization on ARM
2013-11-07 15:29:12 +01:00
Henrik Rydgård
dbaac03afb
Merge pull request #4462 from Kingcom/FollowOp
...
Extend follow functionality of disassembly
2013-11-06 12:15:57 -08:00
Henrik Rydgård
1e158fa652
ARM vtx dec: Preserving our FP scratch register appears to improve
...
stability.
Also added some logging.
2013-11-06 11:47:26 +01:00
Henrik Rydgård
9be3f8fc0a
Use ANDI2R instead of a BIC with a too large parameter
2013-11-06 10:50:30 +01:00
Sacha
81d3df0841
ARMJIT: Minor optimisations for armv6 and armv7.
2013-11-06 15:28:26 +10:00
Kingcom
aae08173f1
Extend follow functionality of disassembly
2013-11-05 21:20:21 +01:00
Sacha
61e6054920
Revert change to WSBH as we don't have a swap16 that takes/returns u32.
2013-11-06 01:38:02 +10:00
Henrik Rydgard
6483c0c2cd
Two minor armjit optimizations
2013-11-05 16:25:01 +01:00
Sacha
a5011e3ff0
Improve swap usage in MIPS. ARMv6 can use REV/REV16. Intepreter can use existing swap functions.
2013-11-06 01:20:35 +10:00
Unknown W. Brackets
732ae13ebb
Fast path CallSyscall where possible.
...
It seems we're spending a decent amount of time there, which isn't
entirely unexpected. We can eliminate some things easily.
2013-11-04 07:59:37 -08:00
Unknown W. Brackets
baa82e0a9d
Keep syscalls the same in the interpreter.
...
Rather than having different bugs.
2013-11-04 07:59:36 -08:00
Unknown W. Brackets
5efc7fd581
Fix typo.
2013-11-03 07:36:53 -08:00
Henrik Rydgard
c4e02ab41d
Revert "Fix Comp_VRot on x86 Linux/Mac/etc."
...
Seems broken, doesn't built on Windows.
This reverts commit d41acebb3d .
2013-11-03 15:24:57 +01:00
Henrik Rydgård
f414856ebe
Merge pull request #4428 from Kingcom/StepOver
...
Fix step over handling of fpu branches and jalr
2013-11-03 03:09:04 -08:00
Kingcom
95b466fc4f
Fix step over for jalr
2013-11-03 10:58:31 +01:00
Kingcom
eeb86fc105
Fix step over handling of fpu branches
2013-11-03 09:54:58 +01:00
Unknown W. Brackets
d41acebb3d
Fix Comp_VRot on x86 Linux/Mac/etc.
...
Easy way: just use our existing functions that work.
2013-11-03 01:03:57 -07:00
Sacha
5613b86864
Use NEON texture decoder on Blackberry and iOS. Use ARMV7 defines.
2013-11-03 15:59:10 +10:00
Henrik Rydgård
07a868910e
Add a temporary hack option that may help debugging the wipeout glow.
...
It reduces the glow problem by a lot but is obviously incorrect.
2013-10-30 22:47:36 +01:00
Henrik Rydgård
0e54e24b24
Revert "Use swap code from native instead. Remove all other versions of it."
...
Broke movie playback.
This reverts commit 9fcb08a326 .
Conflicts:
native
2013-10-28 17:24:03 +01:00
Unknown W. Brackets
da20bda729
Make memchecks ignore cached/uncached memory.
...
You usually want both.
2013-10-27 13:15:12 -07:00
Sacha
9fcb08a326
Use swap code from native instead. Remove all other versions of it.
2013-10-28 03:07:32 +10:00
Unknown W. Brackets
e3834d5833
Avoid some unlikely uninitialized values.
2013-10-26 18:31:14 -07:00
Unknown W. Brackets
95c68ae1e7
Assert some unlikely buffer overflows.
2013-10-26 18:30:55 -07:00
Unknown W. Brackets
e8091dce44
Speed up FPURegCache::Start() on x86.
...
This cuts that func by 97% when running the automated tests, and it was 8%
of the total time. Won't really affect games.
2013-10-24 08:27:42 -07:00
Henrik Rydgård
598e06faa8
Make Home in the game browser available on linux/mac/etc too.
...
Misc tweaks.
2013-10-21 12:21:22 +02:00
Unknown W. Brackets
e99cc01976
Fix some switch/case warnings.
2013-10-19 14:57:45 -07:00