Commit Graph

118 Commits

Author SHA1 Message Date
Unknown W. Brackets ec05146ffd Improve vfpu disasm for a few instructions. 2013-11-29 10:07:15 -08: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 a2e0a4d9bf x86 jit: Optimize ES, NS (is-nan-or-inf) conditions in vcmp 2013-11-12 14:07:48 +01:00
Unknown W. Brackets e3834d5833 Avoid some unlikely uninitialized values. 2013-10-26 18:31:14 -07:00
Unknown W. Brackets e4f71ce6e4 Avoid a few expected asserts in headless mode. 2013-10-14 00:51:08 -07:00
The Dax d102baacd0 Prep PPSSPP for Visual Studio 2013. 2013-09-17 10:27:06 -04:00
Unknown W. Brackets dc05051696 Add more reporting for cpu instructions. 2013-09-05 23:27:51 -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
Ced2911 78b219b1fd endian on vfpu 2013-08-16 09:17:34 +02:00
Unknown W. Brackets 6f703d7b5a Cleanup flags on VFPU4 sub MIPS tables. 2013-08-11 20:11:34 -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 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
Henrik Rydgard bc84c135b3 Revert vscmp, didn't make a difference in the tests anyway 2013-08-10 19:22:33 +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 8714240519 Fix vf2i properly on x86. 2013-08-07 21:30:57 +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 Rydgård 7bea5ad58b Revert rounding change that broke GEB as mentioned in issue #3011 .
Experimental.
2013-07-31 15:51:01 +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 e93c2abe27 x86 jit: implement vfim. Move some stuff to native. cleanup for armjit logging 2013-07-30 22:28:05 +02:00
Henrik Rydgard 76e16d49f6 VFPU: fix rounding in VF2IN 2013-07-30 01:09:11 +02:00
Unknown W. Brackets b46ab5f5a4 Always defined WIN32_LEAN_AND_MEAN.
Might as well, less mess everywhere else.
2013-07-28 21:04:20 -07:00
Henrik Rydgard afcb5add51 Minor code cleanup/reindent around ARM jit 2013-07-27 22:14:01 +02:00
Unknown W. Brackets d823989330 Implement vmone/vmzero/vmidt for the x86 jit. 2013-07-04 18:16:57 -07:00
Henrik Rydgard e809e39681 Mips interpreter: Use unions instead of ugly casts. Strict-aliasing builds now work, but needs more testing so I don't enable it yet. Also some aliasing fixes for TransformPipeline. 2013-06-11 21:44:37 +02:00
Sacha 10c976b2af Armjit: Improve ApplyPrefixD. Add VABD to emitter. 2013-06-06 03:08:58 +10:00
Henrik Rydgard 5218b4e9d8 Make vwbn and the other unimplemented vfpu ops increment PC. Add commented-out attempt at implementing vwbn. 2013-05-19 13:14:02 +02:00
Unknown W. Brackets e3e5b24bf8 Prevent some warnings in vfpu, add reporting.
Uninitialized value and out of bounds error.
2013-05-18 10:17:58 -07:00
Henrik Rydgard b603214777 Also implement vcst in x86 jit 2013-04-27 22:00:09 +02:00
Henrik Rydgard 1a1c161a0d Implement vmin/vmax in x86 jit, slots right into VecDo3 2013-04-27 20:52:42 +02:00
aquanull cfa029573c Fix capping in vf2i
A quick and rough skim lead me to this quick and lazy fix. In short , IEEE 754 single-precision float is not precise enough for storing every int32 value, and you need double for that ;)

BTW, should there be a default case for the switch ((op >> 21) & 0x1f) right following below or dsv could be uninitialized?
2013-04-19 18:16:45 +08:00
Unknown W. Brackets 1dd738f311 Fix wrong sign if vf2i/vi2f with max imm arg. 2013-04-19 00:32:07 -07:00
Henrik Rydgard 06679fcce6 Switch to homemade isinf/isnan implementations. 2013-04-13 21:51:38 +02:00
Henrik Rydgard e3fb88de68 Background thread for icon loading, show in game list. Switch to GNU STL in Android port. 2013-04-13 21:24:07 +02:00
Sacha 1e25452eea Buildfix for Blackberry
Did not have nullptr defined.
rint was already defined from cmath, in std namespace.
2013-04-11 15:16:45 +10:00
Unknown W. Brackets e4223dbcb0 Simplify adding report messages, add a bunch more. 2013-03-26 00:54:00 -07:00
Henrik Rydgård b886b69c4e NaN fix 2013-03-24 14:28:32 +01:00
Henrik Rydgård 15e3a7750f Merge pull request #525 from raven02/vf2i-fix
Add NaN handling to vf2i , vsge , vslt
2013-03-24 03:44:31 -07:00
Henrik Rydgard 1c05ca355d Fix "vasin" instruction. 2013-03-24 11:36:56 +01:00
Henrik Rydgard 688c40452e Update pspautotest, fix a couple of minor vfpu bugs (don't seem to fix anything) 2013-03-17 21:58:32 +01:00
Unknown W. Brackets ac1209204c Add some reporting for CPU related stuff. 2013-03-04 00:01:41 -08:00
Henrik Rydgard 650c02c3a5 Some more armjit work (ext, ins) and VFPU prefix clamps (not enabled) 2013-03-03 17:36:22 +01:00
Unknown W. Brackets a3f93ed203 Fix some printf size warnings, signed warnings. 2013-03-02 15:34:15 -08:00
Unknown W. Brackets d3a66d0a90 Android buildfix. 2013-02-25 10:48:32 -08:00
Unknown W. Brackets 06425ae9e7 Correct the more obscure vcmp cases. 2013-02-24 15:07:29 -08:00
Unknown W. Brackets 4d1f07990a Fix some NaN handling in a few funcs. 2013-02-24 14:39:13 -08:00
Unknown W. Brackets 6c6bd0bd9c Correct prefix handling in vf2h/vh2f. 2013-02-23 12:16:03 -08:00
Unknown W. Brackets 42c2313893 Initial implementation of vf2h.
Fixes Fat Princess and possibly other stuff.
2013-02-23 12:16:03 -08:00
Henrik Rydgard 620603c236 Fix bug in Vh2f (this instr needs more testing) 2013-02-20 00:24:21 +01:00
Unknown W. Brackets a001b8b6f0 Tweak and note vsat0/vsat1 NaN handling. 2013-02-18 22:06:49 -08:00