Commit Graph

170 Commits

Author SHA1 Message Date
Henrik Rydgard 1a1c161a0d Implement vmin/vmax in x86 jit, slots right into VecDo3 2013-04-27 20:52:42 +02:00
Henrik Rydgard 6f4ad05582 Remove some unused code, add some stubs to vfpu jit, some cleanup 2013-04-27 19:35:42 +02:00
Unknown W. Brackets 3bb5651ca7 Initial x86 jit for vtfm/vhtfm. 2013-04-20 01:52:06 -07:00
Unknown W. Brackets 9245490b53 Initial / simple vmscl for x86 jit. 2013-04-20 01:34:16 -07:00
Unknown W. Brackets 29109d25af Non-optimal vmmul for x86 jit.
It's faster than interpreter anyway, but it could be much better.
2013-04-20 01:15:15 -07:00
Unknown W. Brackets cfac7324d6 Implement vscl in the x86 jit. 2013-04-20 01:15:14 -07:00
Henrik Rydgard 724a600381 Buildfix android, misc other fixes, some include cleanup 2013-03-29 20:55:32 +01:00
Unknown W. Brackets 84c95526bc Mark more instructions which eat prefixes. 2013-02-24 14:38:37 -08:00
Unknown W. Brackets 313ffdb495 Add a stub for clz/clo in x86 jit. 2013-02-21 01:25:02 -08:00
Unknown W. Brackets c8f85ace41 Implement bitrev in x86 jit + some imms. 2013-02-20 12:09:02 -08:00
Unknown W. Brackets a438791e7c Initial (very inefficient) vmmov for x86 jit.
This makes #464 work (at least LittleBigPlanet), but only in x86 jit.
2013-02-18 23:21:18 -08:00
Unknown W. Brackets b8e2177591 Jit vzero/vone, which are easy and common (x86.) 2013-02-18 22:15:47 -08:00
Unknown W. Brackets 2dfdf3ffeb Implement Comp_VV2Op vfpu ops in the x86 jit.
Also, some cleanup.  No need for this extra boilerplate, simplify...

This makes the Bink video issue slightly better, in jit only.
2013-02-18 20:43:28 -08:00
Unknown W. Brackets 653443070d Add a few more OUT_EAT_PREFIX flags to VFPU. 2013-02-18 15:13:46 -08:00
Unknown W. Brackets d89a32e99f Mark a bunch of VFPU functions which eat prefixes. 2013-02-18 14:37:53 -08:00
Unknown W. Brackets dacbcbdf2b Add a MIPSTables flag for ignoring the prefix. 2013-02-18 01:23:15 -08:00
Unknown W. Brackets 25c42c3532 Mark more instructions that eat prefixes. 2013-02-17 17:53:54 -08:00
Unknown W. Brackets f532951331 Automatically eat prefixes in x86 jit.
Simplifies the code and makes it easier to know they're eaten
even for ops not yet jitted.
2013-02-17 17:53:53 -08:00
Unknown W. Brackets 6b223cf7d7 Add a flag for eating prefixes to the MIPS tables.
Still incomplete, just filled in ones I've tested so far.
2013-02-17 17:53:00 -08:00
Henrik Rydgard 37f998407b Replace "Core" with "Jit" in ini. Don't show Open dialog by default (use Ctrl+A or Ctrl+O to open it).
Delete "Slightly Faster Interpreter".
2013-02-16 09:49:33 +01:00
Unknown W. Brackets f95e66eb98 Forget cached prefixes when calling generic.
It may eat them, or maybe always does?
2013-02-15 08:35:34 -08:00
Unknown W. Brackets 2b441f1638 Initial implementation of jit vadd/vsub/vdiv/vmul. 2013-02-15 08:35:34 -08:00
Unknown W. Brackets b0690f6ab8 Enable Comp_VPFX. 2013-02-14 00:27:08 -08:00
Unknown W. Brackets 9bb78ce2ec Jit madd/msub in x86. 2013-02-10 08:45:35 -08:00
Henrik Rydgard 78923f5538 Jit a little more (vfpu single load/store, transfer instructions) 2013-02-10 12:14:55 +01:00
Henrik Rydgard 377c94b125 JIT x86: cvt.s.w 2013-02-06 20:29:49 +01:00
Henrik Rydgard d44c5bff45 Add some stubs to remember to implement these VFPU ops... 2013-02-02 23:48:22 +01:00
Unknown W. Brackets 44b5adeaac Properly jit the break instruction.
Otherwise, it just keeps on going past it.
We never want to hit this anyway, but it's good to know if we do.
2013-02-01 00:49:14 -08:00
Henrik Rydgard 90b11bba37 Implement mult, multu, mflo/hi, mtlo/hi in x86 JIT 2013-01-29 00:48:42 +01:00
Henrik Rydgard 2738417040 VFPU JIT: start setting up infrastructure. very incomplete. vdot works if undisabled, but isn't complete. 2013-01-26 01:34:19 +01:00
Henrik Rydgard aabc0aa9ef Quick implementation of LV.Q and SV.Q in x86/x64 JIT 2013-01-25 19:50:30 +01:00
Unknown W. Brackets c324983340 Make the jit support bltzal and friends.
Fixes problems with jit in games.  Android changes completely untested.
2013-01-22 08:04:01 -08:00
Unknown W. Brackets de2df87758 Make interpreter call Advance() the same as jit.
Probably makes more sense anyway, since the first events will be
more correctly timed, like savestates, sound, etc.
2013-01-21 23:16:23 -08:00
Henrik Rydgård 65203f3833 Merge pull request #459 from unknownbrackets/jit-branch
Jit branch debugging
2013-01-21 00:21:00 -08:00
Unknown W. Brackets 49965b7f1d Decrement downcount in the interpreter. 2013-01-20 21:48:38 -08:00
Unknown W. Brackets 4c271fc09e Add DELAYSLOT and LIKELU flags to some ops.
Should improve cycle estimate, and makes analysis easier.
2013-01-20 19:48:54 -08:00
Henrik Rydgard 8ce9ce10bf Merge branch 'master' into armjit
Conflicts:
	Common/ArmEmitter.h
	Common/CPUDetect.cpp
2013-01-14 20:46:17 +01:00
Henrik Rydgard ae20d6c00f Constify some tables 2013-01-13 20:38:52 +01:00
Henrik Rydgard 674911ddba Move downcount into MIPSState for efficiency, enable block linking.
On ARM JIT we can now reach it through the cpu context reg.
2013-01-12 00:44:18 +01:00
Henrik Rydgard 789c4781c0 Merge remote-tracking branch 'origin/master' into armjit
Conflicts:
	Core/HLE/sceKernelThread.cpp
2013-01-09 00:43:44 +01:00
Henrik Rydgard b3fd1ff34c Lots of various work on the ARM jit. It executes a couple of blocks now. 2013-01-08 13:49:52 +01:00
Mathias Tillman b780e39397 Fixed various potential bugs and compiler warnings 2013-01-07 15:57:19 +01:00
Henrik Rydgård df12802a5a Merge pull request #209 from raven02/vsocp-new
Implement Vsocp
2012-12-21 04:57:38 -08:00
Henrik Rydgård 6df4145ff0 Merge pull request #210 from raven02/vsrt-new
Implement Vsrt1,Vsrt2,Vsrt3,Vsrt4
2012-12-21 00:31:59 -08:00
raven02 ab0253d71c Implement Vsrt1,Vsrt2,Vsrt3,Vsrt4 2012-12-21 14:57:47 +08:00
raven02 b7ef3ad9e9 Implement Vsocp 2012-12-21 11:23:26 +08:00
Henrik Rydgård 3c88bb2f45 Merge pull request #205 from raven02/vscmp-new
Implement Vscmp
2012-12-20 06:09:06 -08:00
raven02 936d80b214 Implement Vscmp 2012-12-20 21:45:28 +08:00
Henrik Rydgård 7f880a62ce Merge pull request #203 from raven02/vdet-new
Implement Vdet
2012-12-20 05:32:19 -08:00
raven02 1f83fc4e9c Implement Vdet 2012-12-20 21:19:15 +08:00