Commit Graph

106 Commits

Author SHA1 Message Date
Henrik Rydgard 2d8429ac48 Assorted cleanup in the MIPS emulation 2013-12-10 13:15:16 +01:00
Henrik Rydgard 0a5aa78011 ARMJit: Fix bug in instruction mtv, affecting SSX
SSX still has other problems on ARM though.
2013-12-10 00:19:18 +01:00
Henrik Rydgard 245aeecbc0 ARM: Check for VFPv4 before using CVT.F32.F16 (vh2f).
Issue #4730 might be fixed by this.
2013-12-05 22:55:31 +01:00
Henrik Rydgard 32f479b0a6 Assorted log spam reductions.
Also let Java know of some important events. Not used for anything yet.
2013-12-04 17:43:00 +01:00
Henrik Rydgard f696650437 Implement vasin (fastasin5 from unittest) in ARM jit, add a sanity check. 2013-12-01 14:14:04 +01:00
Henrik Rydgard 55500d4bb6 Reorder VFPU registers in memory so that we can flush and reload them in bulk more often.
Doesn't actually do that yet, that's for the NEON branch.
2013-11-28 13:27:51 +01:00
Henrik Rydgard e5e23f3ce1 ARM: Fix vsgn. Some vertex decoder tweaks. 2013-11-24 18:21:47 +01:00
Henrik Rydgard db016f7001 ARMJIT: Disable vsgn, reported to break Miami Vice 2013-11-23 13:00:35 +01:00
Henrik Rydgard bd3a03ad1d Quick buildfix. Last commit was meant to go on a WIP branch but meh :) 2013-11-19 21:44:18 +01:00
Henrik Rydgard ab3037112f Some scaffolding for a future VFPU-on-NEON implementation 2013-11-19 21:41:48 +01:00
Henrik Rydgard 99af10cb09 Get rid of bool disablePrefixes in ARM build (already gone in x86) 2013-11-19 21:41:48 +01:00
Henrik Rydgard dca457e6df Optimize multiple sv.s and lv.s calls on ARM. Also some cleanup. 2013-11-19 21:41:47 +01:00
Henrik Rydgard 5bb3824dcf Implement vocp on ARM and x86. 2013-11-19 21:41:47 +01:00
Henrik Rydgard 9f5402ce54 Use hardware half-to-float on ARM when available. 2013-11-17 14:17:13 +01:00
Unknown W. Brackets 98fb2e0402 armjit: Refer to R11 as MEMBASEREG for clarity. 2013-11-14 23:37:48 -08:00
Henrik Rydgård ef8631c57f Cache VFPU_CTRL_CC in a register 2013-11-12 17:58:29 +01:00
Henrik Rydgard df3765a320 Arm jit: optimize ES, NS conditions in vcmp. Bugfix TR. 2013-11-12 14:43:12 +01:00
Unknown W. Brackets 7e46ee0b0f armjit: Replace MOVI2R with using the regcache.
So that it can optimize the value with existing imms.

Not actually optimizing yet.
2013-11-10 15:50:45 -08:00
Henrik Rydgard 58db79672f Fix vmtvc on ARM, fixing issues with our prefix check. Add some logging.
Also improve vcmp on ARM.
2013-11-08 19:59:11 +01:00
Henrik Rydgard 309f904c0c Extract JitState into its own header (arm/x86) 2013-11-08 18:51:52 +01:00
Henrik Rydgard f57f8170d3 ARMjit: Optimize mfv, mtv 2013-11-08 12:43:48 +01:00
Henrik Rydgard 6eb7f94065 Implement vsgn in x86/x64 and ARM jit 2013-11-07 15:29:13 +01:00
Sacha 5613b86864 Use NEON texture decoder on Blackberry and iOS. Use ARMV7 defines. 2013-11-03 15:59:10 +10:00
Henrik Rydgard e08ac100ce Update native with workaround for #4078 and add some comments 2013-10-08 20:11:01 +02:00
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