Commit Graph

134 Commits

Author SHA1 Message Date
Unknown W. Brackets
07982a31c2 Make sure an error case has defined behavior. 2015-01-19 08:55:37 -08:00
Unknown W. Brackets
603fb0a7f7 Clarify that some casts are not accidents. 2015-01-19 08:51:30 -08:00
Unknown W. Brackets
71eb709845 fixup! Fix some missing case warnings. 2014-12-20 09:11:45 -08:00
Henrik Rydgard
e3a81f4346 x86 Jit: Basic implementation of vbfy1/2 (mostly to just cross another one off the list..) 2014-12-04 00:18:58 +01:00
Unknown W. Brackets
316e923b40 x86jit: Implement other forms of vx2i.
Gains 3.2% performance in Grand Knights History.
2014-11-08 00:39:40 -08:00
Unknown W. Brackets
fd1b01b573 Fix the vrndi.s output range.
Was previously outputting only valid positive float values, but should use
a much wider range of a u32.

Might've affected randomness in some games.
2014-09-01 22:33:01 -07:00
Unknown W. Brackets
252100aee5 Remove outdated comment (real cause found/fixed.) 2014-06-28 16:06:10 -07:00
Unknown W. Brackets
62daf6d7c8 armjit: Fix vmin/vmax to follow the PSP's rules.
Also the interpreter.  Fixes #6107.
2014-06-20 23:55:33 -07:00
Henrik Rydgard
0879d76503 VFPU: Ensure that sin(4*x) returns 0.0 (and cos 1) for all x. Fixes #2921 2014-06-15 11:03:00 +02:00
Unknown W. Brackets
69b0b622be armjit: Fix D-prefix sat clamp NAN handling.
They should leave NAN alone.
2014-05-16 01:04:57 -07:00
Unknown W. Brackets
a3ad238a44 Add notes for proper NaN handling in vmin/vmax. 2014-05-16 01:04:56 -07:00
Henrik Rydgard
c80510fb3b MemMap should not be included in MIPS.h. 2014-03-15 10:45:39 +01:00
lioncash
b9886942a7 Fix some vertical alignments in misc Core source files. 2014-03-03 11:16:53 -05:00
Unknown W. Brackets
61d4e2196e Simplify vwbn.s slightly. 2014-02-16 00:00:29 -08:00
Unknown W. Brackets
34c6530b21 Implement vwbn.s, not sure what it's doing...
This passes all the tests I could throw at it.  Fixes #1849.
2014-02-15 23:51:41 -08:00
Unknown W. Brackets
3714fabad6 Implement vsbn.s, fixes #3409.
Not sure if .q, etc. can work - won't compile, and I doubt any games try
it.  Just tried a basic implementation with reporting.
2014-02-15 21:40:13 -08:00
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