Commit Graph

175 Commits

Author SHA1 Message Date
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
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
Henrik Rydgard fecd9d5f78 Minor optimization, sketch on an lvl.q jit implementation 2013-08-11 22:12:15 +02:00
Henrik Rydgard 408e570469 Typo fix 2013-08-10 23:41:29 +02:00
Henrik Rydgard 394f590c36 Failed attempt at implementing vsge/vslt. Dunno what's wrong but disabled for now. 2013-08-10 18:39:27 +02:00
Henrik Rydgard dce3c9449b Attempt to quickfix vf2i but failed, so disabling it. Should fix #3084 2013-08-07 18:07:49 +02:00
Henrik Rydgard a281c1a899 ARMjit: vmin/vmax 2013-08-06 23:17:10 +02:00
Henrik Rydgard 201282f28c JIT: Implement vf2i (truncate mode only) 2013-08-06 19:08:15 +02:00
Henrik Rydgard c71b304ba1 Fix a classic bug again (now in armjit), + a minor opt 2013-08-06 15:22:19 +02:00
Henrik Rydgard 1d81698728 JIT (both): Implement VCMOV 2013-08-06 13:29:17 +02:00
Henrik Rydgard 140d12c3db ARMJIT: Fix and enable cross product 2013-08-06 11:55:11 +02:00
Henrik Rydgard d2c9919573 Vcmp: Fix ARM, optimize x86 slightly 2013-08-06 11:49:10 +02:00
Henrik Rydgard 2f1e6f81bb Android buildfix 2013-08-06 11:24:48 +02:00
Henrik Rydgard 2f0cdc6988 ARMJIT: disable vi2f, it seems buggy. preliminary disabled impl of vcrsp.t. 2013-08-06 11:10:26 +02:00
Henrik Rydgard 4e8958f42d A small optimization, a few jit stubs, and cross/quat product on x86. 2013-08-01 00:15:08 +02:00
Henrik Rydgard c86dc7279e JIT: Implement VCMP in both JITs. Only the x86 one is tested and enabled. 2013-07-31 22:29:16 +02:00
Henrik Rydgard 7fc5ce56de Fix viim for x86, implement for ARM. 2013-07-31 18:21:23 +02:00
Henrik Rydgard 0a8f85a919 Some JIT cleanup, implement VI2F on ARM. also disabled untested impl of viim for x86. 2013-07-31 17:27:04 +02:00
Henrik Rydgard 3303a71796 Oops 2013-07-31 11:25:35 +02:00
Henrik Rydgard 9bf8bfbed4 armjit clamp: Clamp negative 0 to positive 0. 2013-07-31 11:22:04 +02:00
Henrik Rydgard c8604f3c30 ARM JIT; Fix D prefix. Turn prefixes on. 2013-07-31 11:15:42 +02:00
Henrik Rydgard 51596b636a Fix numerous ARM JIT bugs. Activate vmtvc and vscl, and vadd/vmul/vdiv/vsub for real this time. 2013-07-31 10:34:58 +02:00
Henrik Rydgard ebcdd637ee ARMJit bugfixes, enable vmul, vadd, vdiv, vsub.
Prefixes disabled until I can fix clamping.
2013-07-31 00:12:43 +02:00
Henrik Rydgard 9ac511f191 Don't check vector size in vfim (nonsense). implement for arm. minor fix. 2013-07-30 22:34:12 +02:00
Henrik Rydgard e93c2abe27 x86 jit: implement vfim. Move some stuff to native. cleanup for armjit logging 2013-07-30 22:28:05 +02:00
Henrik Rydgard 4c66fe3ed7 More jit stuff. Had to disable all the new stuff because of breakage :/ 2013-07-30 19:34:32 +02:00
Henrik Rydgard 76e16d49f6 VFPU: fix rounding in VF2IN 2013-07-30 01:09:11 +02:00
Henrik Rydgard d8294f025f More VFPU stuff (nothing new activated) 2013-07-30 01:09:11 +02:00
Henrik Rydgard 48791876f3 ARM Jit: Implement VTFM* 2013-07-28 23:16:19 +02:00
Henrik Rydgard 3b9e6243eb Only flush the required registers on function calls (only implemented for real on ARM) 2013-07-28 22:21:43 +02:00
Henrik Rydgard 6ecd0194fa Implement VROT in both JITs, as it's heavily used by a few games.
Another ~1-3% in FF:CC.
2013-07-28 18:22:12 +02:00
Henrik Rydgard 8feeaf2e7a Jit: Implement vidt in both, plus translate a couple easy ones to ARM. 2013-07-28 16:14:21 +02:00
Henrik Rydgard 59644ad59b Jit: Implement VMMUL for ARM, optimize the x86 implementation. Also add VCST. 2013-07-28 12:14:35 +02:00
Henrik Rydgard afcb5add51 Minor code cleanup/reindent around ARM jit 2013-07-27 22:14:01 +02:00
Unknown W. Brackets 7960bd0767 Fix dumb mistake from x86 jit changes, fixes #2635. 2013-07-05 22:05:55 -07:00
Unknown W. Brackets d823989330 Implement vmone/vmzero/vmidt for the x86 jit. 2013-07-04 18:16:57 -07:00
Jake Traynham e89b2055a6 Reenabled armv7s for iOS with JIT fixes 2013-06-20 11:44:59 -05:00
Henrik Rydgard ce2c18d2fe Remove redundant vmov instructions (seen in wipeout) 2013-06-15 00:19:48 +02:00
Sacha 2450c0d28d We can't use S2 or D1. Use alternative means. 2013-06-10 19:28:53 +10:00
Sacha 583927988c Armjit Update: Improvements
Implement vsat0 and vsat1
Introduce VMOV for immediates.  Use in MOVI2F where possible by detecting if float val can be encoded.
Combine some vneg ops in ApplyPrefixST.
2013-06-09 21:27:16 +10:00
Sacha 10c976b2af Armjit: Improve ApplyPrefixD. Add VABD to emitter. 2013-06-06 03:08:58 +10:00
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 Rydgård 04b1518874 Merge pull request #1074 from xsacha/master
Simplify armjit.
2013-03-26 01:13:56 -07:00
Unknown W. Brackets e4223dbcb0 Simplify adding report messages, add a bunch more. 2013-03-26 00:54:00 -07:00
Sacha 471ddd6380 Simplify armjit. 2013-03-26 02:41:15 +10:00