Commit graph

1037 commits

Author SHA1 Message Date
Unknown W. Brackets
246eaeb209 x86jit: Avoid mem temp for float cmp/loads. 2014-03-22 15:56:28 -07:00
Unknown W. Brackets
b53143bb33 Revert "armjit: Skip an AND for rotate shifts."
This reverts commit ab2dd54ade.

Even though the docs say it's safe but apparently not always.
2014-03-22 15:54:48 -07:00
Henrik Rydgård
98165b599f Merge pull request #5653 from unknownbrackets/armjit-minor
Minor armjit optimizations, fix B/BL encoding
2014-03-22 16:05:59 +01:00
Unknown W. Brackets
737c96eced More cstring includes, grr. 2014-03-15 12:03:33 -07:00
Unknown W. Brackets
a843cbd580 Shrink the very common sceKernelThread.h include. 2014-03-15 11:44:02 -07:00
Unknown W. Brackets
d65af7353b Avoid some ChunkFile includes. 2014-03-15 11:32:57 -07:00
Unknown W. Brackets
05ab192c9c Reduce includes in Core/HLE/.
Especially templates.
2014-03-15 11:22:19 -07:00
The Dax
21ce99cabd Fix Unix-like builds. 2014-03-15 10:02:47 -04:00
Henrik Rydgard
c80510fb3b MemMap should not be included in MIPS.h. 2014-03-15 10:45:39 +01:00
Unknown W. Brackets
ab2dd54ade armjit: Skip an AND for rotate shifts. 2014-03-15 00:49:18 -07:00
Unknown W. Brackets
bed9c82d0a armjit: Try to use nearby immediates in slti/u. 2014-03-14 19:26:52 -07:00
Unknown W. Brackets
e783627947 armjit: Use our I2R funcs on reg/reg math too.
When one is a known immediate.  This should catch more cases, like:

ori v0, $0, 0xFFFF
and v1, v1, v0
2014-03-14 19:15:43 -07:00
Unknown W. Brackets
8e979da0f9 armjit: Use our I2R arm optimizations.
Should help cases of ori and andi most, but also addiu.  They will all try
to use an optimized immediate (from another nearby value) if possible.
2014-03-14 19:15:43 -07:00
Unknown W. Brackets
c229232236 armjit: Specifically optimize check for negative. 2014-03-14 19:15:39 -07:00
Unknown W. Brackets
628390f3fa armjit: Tiny optimization for cast to short.
See these sometimes in code, skip the load of R0 when we can.
2014-03-14 19:15:39 -07:00
Unknown W. Brackets
ca0a8d0269 armjit: fix lwl/lwr from an imm address.
Can't skip loading the reg value.  Likely cause of #5057, possibly other
bugs as well.
2014-03-13 00:23:00 -07:00
Henrik Rydgard
174b5187e6 Arm VFPU: 2-op and 3-op: map registers before work, improving instruction order a little. 2014-03-12 11:06:26 +01:00
Henrik Rydgard
7ae9c26b6a Enable the new vreg flushing mechanism on ARM.
Reduce logspam seen in a couple games.
2014-03-12 10:15:09 +01:00
Henrik Rydgard
ea6fb9337c Second attempt at flushing multiple VFPU regs using VSTMIA.
Also disabled, but seems to work, just needs testing.

Much better code this time and works for VFPU regs not just FPU regs.
2014-03-11 21:55:17 +01:00
Henrik Rydgard
adadf11890 An attempt to combine FPU regcache writebacks with VSTMIA. Disabled due to bugs. 2014-03-11 11:03:51 +01:00
Sacha
30a6a5d10f ARMJIT: Implement VLDM/VSTM load/store combinations and use in armjit. Also add them to disassembler. 2014-03-07 02:56:34 +10:00
lioncash
b9886942a7 Fix some vertical alignments in misc Core source files. 2014-03-03 11:16:53 -05:00
Henrik Rydgård
b2260149ae ARM Jit: Avoid materializing some unnecessary immediates in loads/stores 2014-03-03 14:33:22 +01:00
Henrik Rydgård
aea272a3ce Jit x86: optimize "subu r, 0, r" to NEG r. 2014-03-03 13:42:32 +01:00
Unknown W. Brackets
c7437bbe8e Fix some minor warnings. 2014-03-03 00:08:32 -08:00
Henrik Rydgård
374e12afc3 Merge pull request #5590 from unknownbrackets/xbox
Merge more parts of #4716
2014-03-03 13:37:21 +07:00
Henrik Rydgård
54b9cf6e37 Merge pull request #5592 from unknownbrackets/debugger
Don't clear js.afterOp in WriteExit*()
2014-03-03 13:28:48 +07:00
Unknown W. Brackets
601fc72ac6 Don't clear js.afterOp in WriteExit*().
It needs to be handled in each exit, not just the first one.

Fixes #5587.
2014-03-02 14:23:27 -08:00
Ced2911
46ac351b9b [Jit] implement Comp_Vi2f 2014-03-02 11:53:03 -08:00
Unknown W. Brackets
2c2ea9c417 ppcjit: Int_Cache() now does stuff, use DISABLE. 2014-03-02 11:35:49 -08:00
Ced2911
995fb0f8b2 [PPC] update/fix 2014-03-02 11:35:23 -08:00
Ced2911
4483c6002e [Jit] don't recompile with slow memory 2014-03-02 11:34:46 -08:00
Ced2911
41373f29cf [jit] try to implement fpu round 2014-03-02 11:33:50 -08:00
Unknown W. Brackets
f300f46b9c Speed up MIPSGetInstruction() by 35%.
It's not that hot, but gets called a lot when loading modules / running
tests.  Well, and also interpreter.

Some of the previous checks were just not necessary (we never have Rese in
the tables, for example, and let's just not.)
2014-03-02 10:20:41 -08:00
Unknown W. Brackets
eca06c60c7 Spend a bit less time in Read_Instruction on load. 2014-03-02 10:20:40 -08:00
Unknown W. Brackets
ce518a432f x86jit: Add a missing unknown prefix check. 2014-02-21 09:47:28 -08:00
Unknown W. Brackets
f2ba0f136d Fix stack overflow on x64 with memchecks, darn it. 2014-02-16 19:18:08 -08:00
Unknown W. Brackets
61d4e2196e Simplify vwbn.s slightly. 2014-02-16 00:00:29 -08:00
Unknown W. Brackets
34c6530b21 Implement vwbn.s, not sure what it's doing...
This passes all the tests I could throw at it.  Fixes #1849.
2014-02-15 23:51:41 -08:00
Unknown W. Brackets
3714fabad6 Implement vsbn.s, fixes #3409.
Not sure if .q, etc. can work - won't compile, and I doubt any games try
it.  Just tried a basic implementation with reporting.
2014-02-15 21:40:13 -08:00
Unknown W. Brackets
8948990871 Optimize searching for existing symbols.
Checking every time is slow, we should just skip by the address.  Some is
just the locking overhead.
2014-02-14 22:26:35 -08:00
Unknown W. Brackets
7c2d36e802 Don't add to the symbol map what was found there.
Wasn't hurting anything, but slight hit on performance.
2014-02-14 22:13:32 -08:00
Unknown W. Brackets
26b4335637 Optimize symbol map in debug mode a bit more.
Avoid UpdateActiveSymbols().
2014-02-14 21:49:20 -08:00
Unknown W. Brackets
d279dcd454 Fix renaming a function from disassembly. 2014-02-11 07:45:13 -08:00
Henrik Rydgård
b1d6eefb8a Call UpdateActiveSymbols only once from MIPSAnalyst instead of for every recognized function.
Reduces startup slowdown when using a function signature file drastically.
2014-02-11 11:21:56 +01:00
Henrik Rydgard
ef6e6083dc Including <cstddef> here was reported to fix a build problem. 2014-02-07 23:05:03 +01:00
lioncash
aaf834c032 Fix the destruction proxy blocks in DestroyBlock() in JitBlockCache.cpp.
Prior to this, it was possible for the wrong block to be deleted multiple times.
2014-02-03 14:40:37 -05:00
The Dax
427970750b Remove redundant break in MIPSAsm.cpp. 2014-01-30 01:48:32 -05:00
Henrik Rydgård
2b05a60d9d Clear out the jit pointer on shutdown. Some cleanup. 2014-01-28 11:32:54 +01:00
Henrik Rydgård
efd44a6933 Merge branch 'debugger2' of https://github.com/unknownbrackets/ppsspp into unknownbrackets-debugger2
Conflicts:
	Core/Debugger/Breakpoints.cpp
2014-01-26 23:10:37 +01:00