Commit Graph

117 Commits

Author SHA1 Message Date
Unknown W. Brackets 2347498667 x86jit: Use templates to avoid some void * casts.
Makes it a bit cleaner and potentially safer.
2014-01-18 09:57:13 -08:00
Henrik Rydgard 2eab4aa1bf Play around with function replacement. Turned off by default of course. 2013-12-17 23:40:27 +01:00
Henrik Rydgard 2d8429ac48 Assorted cleanup in the MIPS emulation 2013-12-10 13:15:16 +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 5bb3824dcf Implement vocp on ARM and x86. 2013-11-19 21:41:47 +01:00
Henrik Rydgard a2e0a4d9bf x86 jit: Optimize ES, NS (is-nan-or-inf) conditions in vcmp 2013-11-12 14:07:48 +01:00
Henrik Rydgard 84f20a1cad Small optimizations 2013-11-12 14:05:50 +01:00
Henrik Rydgard 0a844ce98d Delete functions for vsge and vslt, these have been rolled into VecDo3 2013-11-09 19:29:52 +01:00
Henrik Rydgard 5ad04a23f4 x86 jit: Rename BindToRegister to MapReg 2013-11-09 15:23:31 +01:00
Henrik Rydgard 316d23d4cc Optimize mfv/mtv/mfc1/mtc1 on x86 too 2013-11-09 14:06:45 +01: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 c0d7c5e958 vsgn x86 bugfix 2013-11-07 21:07:07 +01:00
Henrik Rydgard 6eb7f94065 Implement vsgn in x86/x64 and ARM jit 2013-11-07 15:29:13 +01:00
Unknown W. Brackets 5efc7fd581 Fix typo. 2013-11-03 07:36:53 -08:00
Henrik Rydgard c4e02ab41d Revert "Fix Comp_VRot on x86 Linux/Mac/etc."
Seems broken, doesn't built on Windows.

This reverts commit d41acebb3d.
2013-11-03 15:24:57 +01:00
Unknown W. Brackets d41acebb3d Fix Comp_VRot on x86 Linux/Mac/etc.
Easy way: just use our existing functions that work.
2013-11-03 01:03:57 -07:00
Unknown W. Brackets d43c56ea29 Small warning fix. 2013-10-13 12:12:53 -07:00
Henrik Rydgard fc8aa7bd8f Crashfix dumping display lists that start at the start of VRAM (seems to hit this in GTA).
Add a couple of comments.
2013-10-07 22:58:46 +02:00
Henrik Rydgard 8f620c30ab x86 jit: Implement vs2i (similar to vh2f but simpler) 2013-10-07 21:59:33 +02:00
Henrik Rydgard 7bb93c3bfe Forgot to re-enable the "single" case of vh2f 2013-09-29 01:43:13 +02:00
Henrik Rydgard 649e830028 Minor cleanup 2013-09-28 22:19:00 +02:00
Henrik Rydgard 20174d9410 Delete the lookup table version of vh2f 2013-09-28 22:15:29 +02:00
Henrik Rydgard 7ca6d73857 Two approaches to vh2f (half-float to float): lookuptable and fast SSE 2013-09-28 22:08:44 +02:00
Henrik Rydgard cfdfa77476 Change a bunch of "MayHavePrefix" to "HasUnknonwPrefix".
Should be safe, I think none of these have any sane use of prefixes anyway.
2013-09-28 12:33:16 +02:00
Henrik Rydgard aa753c88b2 ARM: implement vhdp 2013-09-28 12:30:28 +02:00
Henrik Rydgard 1bb6bbd07d Remove superfluous check in vrot 2013-09-16 00:24:28 +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
Unknown W. Brackets 16b27ffb23 Disable x86 Comp_VRot on non-Windows.
This may fix x86 Android issues as well as Linux/etc.
2013-09-15 11:42:58 -07: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 fecd9d5f78 Minor optimization, sketch on an lvl.q jit implementation 2013-08-11 22:12:15 +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 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 174223c42b Fix VCMP (VC_TR) and optimize a little 2013-08-08 21:03:40 +02:00
Henrik Rydgard 8714240519 Fix vf2i properly on x86. 2013-08-07 21:30:57 +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 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 d2c9919573 Vcmp: Fix ARM, optimize x86 slightly 2013-08-06 11:49:10 +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 76ae643335 Cleanup 2013-07-31 22:42:51 +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