Commit Graph
988 Commits
Author SHA1 Message Date
Ced2911 d613c44303 fix bgez 2013-08-16 14:47:54 +02:00
Ced2911 5f05b0b112 fix blt 2013-08-16 14:46:57 +02:00
Ced2911 b0815b84e8 more 2013-08-16 14:46:57 +02:00
Ced2911 3a82881bf2 almost working !
hang when downcount is under 0
2013-08-16 14:45:19 +02:00
Ced2911 1a5c6b59c5 add ppc jit 2013-08-16 14:40:29 +02:00
Ced2911 9431c811a7 broken ppc jit 2013-08-16 14:39:54 +02:00
Ced2911 c24c5c88d9 empty jit 2013-08-16 14:37:36 +02:00
Ced2911 c332a4af58 Endian and PPC support 2013-08-16 14:34:15 +02:00
Henrik Rydgård e36444c1c2 Merge pull request #3189 from unknownbrackets/jit-branch
Attempts at continuing jit blocks (disabled)
2013-08-16 02:11:06 -07:00
Unknown W. Brackets 8327cd0f8e Clean up some inconsistency in jit branches on arm. 2013-08-16 02:02:56 -07:00
Unknown W. Brackets df32c99be6 Attempt to follow branches to a max # of ops.
Seems to make it slower also.  Maybe taking the branch would be better...
hmmph.
2013-08-16 01:07:11 -07:00
Unknown W. Brackets defd2b6383 Attempt at doing branches with imm args. 2013-08-16 01:05:52 -07:00
Unknown W. Brackets 6b0b5145e5 Clean up some inconsistency in jit branches. 2013-08-16 00:44:23 -07:00
Ced2911 78b219b1fd endian on vfpu 2013-08-16 09:17:34 +02:00
Unknown W. Brackets 14b719a7ac Make it possible to have more block exits. 2013-08-16 00:12:49 -07:00
Unknown W. Brackets 64c2ea86c0 Add a method to save the gpr/fpr state in jit. 2013-08-16 00:12:49 -07:00
Henrik Rydgard 0348403f61 Turn vcmp back on again, let's not trust the one-operand arm vcmp for now 2013-08-15 22:57:04 +02:00
Unknown W. Brackets 2758634a0f Avoid overhead calling __KernelIdle().
~1.8% improvement in Zettai Hero Project.
2013-08-15 01:35:17 -07:00
Unknown W. Brackets 846178a588 Optimize thread switching a bit.
~2.5% improvement in Zettai Hero Project (while multithreading.)
2013-08-15 01:26:16 -07:00
Unknown W. Brackets 5387e5c717 Oops, typo. 2013-08-15 00:38:53 -07:00
Unknown W. Brackets df50e03146 Add a safety log for cases we don't handle right. 2013-08-14 23:14:25 -07:00
Unknown W. Brackets e639f8d15f Handle branches in VFPU delay slots better.
Based on tests on a PSP, all branches are attempted.  The behavior is
technically undefined.

It seems to take the delay slot's target if they differ and both pass.
This is the behavior the interpreter has, but it's more work in jit.

Since only a couple games seem to do this, and clearly expect this
behavior, this fixes all known cases of #1926.
2013-08-14 22:56:02 -07:00
Henrik Rydgard 0a5c942daf Temporarily disable VCMP on ARM. Let's see if this fixes #3071 , if so I have debugging to do. 2013-08-14 17:41:16 +02:00
Unknown W. Brackets c8716d9a02 Fix a few minor typos + small reporting change. 2013-08-12 23:02:39 -07:00
Unknown W. Brackets 49ab98c7fd Use atomic operations on Android + warning fixes. 2013-08-12 08:51:49 -07:00
Unknown W. Brackets 7ac67a8931 Add a function to walk the stack, not yet perfect.
Could use improvements, but with a decent symbol table does very well so
far in the games I tested it in.
2013-08-12 01:54:14 -07:00
Unknown W. Brackets 92482dfcb3 Branch targets are relative to next instr. 2013-08-12 01:52:54 -07:00
Unknown W. Brackets 4d250954e4 Use the flags in MIPSCodeUtils. 2013-08-11 23:03:25 -07:00
Unknown W. Brackets c7360f1555 Consider these as taking a IMM16 as well. 2013-08-11 21:30:19 -07:00
Unknown W. Brackets aac6712974 Get rid of IsDelaySlotInfoSafe since flags are ok. 2013-08-11 20:49:34 -07:00
Unknown W. Brackets 3c4a6e13e4 Cleanup the remaining MIPS tables, reporting. 2013-08-11 20:40:21 -07:00
Unknown W. Brackets 6f703d7b5a Cleanup flags on VFPU4 sub MIPS tables. 2013-08-11 20:11:34 -07:00
Unknown W. Brackets 3f49101868 Clean up the COP1 MIPS tables, and reporting. 2013-08-11 19:35:39 -07:00
Unknown W. Brackets 7e92b17dd4 Cleanup some COP2/VFPU2 table flags. 2013-08-11 19:13:41 -07:00
Unknown W. Brackets 3ae2b8dcc4 Clean up the SPECIAL3 and REGIMM table flags. 2013-08-11 18:41:21 -07:00
Unknown W. Brackets 8266063394 Make sure we're reporting unknown instructions. 2013-08-11 18:20:43 -07:00
Unknown W. Brackets f652a2f6f0 Correct SPECIAL2 and separate COP1S and COP1W. 2013-08-11 18:17:03 -07:00
Unknown W. Brackets b2abdbe44b Clean up the SPECIAL MIPS table, mostly flags. 2013-08-11 18:01:55 -07:00
Unknown W. Brackets 152f28aeac Clean up the immediate MIPS table, mostly flags. 2013-08-11 18:01:48 -07:00
Unknown W. Brackets d08f2bc3fb Fix some formatting in the MIPS table.
And also a couple cases of manually specifying RS.
2013-08-11 17:12:54 -07:00
Unknown W. Brackets 4ebf355ece Simplify some MIPS table flags. 2013-08-11 17:02:00 -07:00
Unknown W. Brackets ebfa3de388 Fix a couple potential infinite loops. 2013-08-11 16:28:20 -07:00
Henrik Rydgard fecd9d5f78 Minor optimization, sketch on an lvl.q jit implementation 2013-08-11 22:12:15 +02:00
Unknown W. Brackets 82aca253e4 Add a few more OUT_EAT_PREFIX flags.
Based on testing the instructions individually.  Cuts a few cases in God
Eater Burst where instructions bailed out of jit.
2013-08-10 23:19:03 -07:00
Henrik Rydgard 408e570469 Typo fix 2013-08-10 23:41:29 +02:00
Henrik Rydgard 89ddbb51bb Oops, XMM0 might be taken by temps. Also, s/GC_ALIGN16/MEMORY_ALIGN16 2013-08-10 23:39:24 +02:00
Henrik Rydgard 4c6006190f Of course, found the real bug causing #3117 immediately after the revert. Fixed. 2013-08-10 23:32:12 +02:00
Henrik Rydgard a517b8d53f Fix #3117 (by reverting part of a previous change), plus a minor change that might speed GT up. 2013-08-10 23:25:55 +02:00
Henrik Rydgard 0dac2b4783 Update native, minor UI stuff and cleanups 2013-08-10 23:04:23 +02:00
Henrik Rydgard bc84c135b3 Revert vscmp, didn't make a difference in the tests anyway 2013-08-10 19:22:33 +02:00