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