Commit Graph

82 Commits

Author SHA1 Message Date
Henrik Rydgard
04b911a03b Change a bunch of "MayHavePrefix" to "HasUnknownPrefix".
Should be safe, I think none of these have any sane use of prefixes anyway.
2013-09-28 20:07:58 +02:00
Henrik Rydgard
41a988774f ARM: implement vhdp 2013-09-28 20:07:57 +02:00
Henrik Rydgard
6aecfe3998 Trying the VROT disable experiment again, this time in the right file... 2013-09-16 00:14:05 +02:00
Henrik Rydgård
fb48defa75 Experiment: Disable VROT on x86 32-bit except on Windows where I know it works. 2013-09-10 18:17:00 +02:00
Henrik Rydgard
8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
Unknown W. Brackets
97aa1a631e Improve typesafety in the x86 regalloc. 2013-08-24 19:41:10 -07:00
Unknown W. Brackets
109ad17ac6 Use a typesafe struct for opcodes.
Also, correctly read delayslots using Read_Instruction on ARM.
2013-08-24 15:36:24 -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
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