Commit Graph
988 Commits
Author SHA1 Message Date
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