Commit graph

243 commits

Author SHA1 Message Date
Unknown W. Brackets
a5214d0b1a Jit: Ignore high bit in vmfvc/vmtvc. 2019-03-31 17:09:55 -07:00
Unknown W. Brackets
5749ae09d0 interp: Correct vmfvc register behavior.
The target and source registers were completely wrong.
2019-03-31 13:41:48 -07:00
Unknown W. Brackets
d5273f589a interp: Mask value in vpfxd.
The actual register ends up with only the lower 12 bits, which makes sense
since those are the only ones that do anything.
2019-03-31 08:23:36 -07:00
Unknown W. Brackets
6178a1fb33 Jit: Correct vocp prefix handling.
See #5549.  Matches tests for various prefix settings.
2019-02-23 09:15:26 -08:00
Unknown W. Brackets
419c1fbd73 Jit: Respect flags for jit types and features.
Left some free space for more.
2019-02-03 14:57:08 -08:00
Henrik Rydgård
22e65ba80d Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11 2017-08-31 01:14:51 +02:00
Henrik Rydgård
884aef6603 SafeMem: Remove the "far" optimization that saves 3 bytes sometimes but is really dangerous and not worth the complexity. 2017-08-30 09:58:30 +02:00
Henrik Rydgård
8d0498303a Fix a PIC compliance bug in the VFPU. Comment other cases properly (for easy searching). 2017-08-29 11:45:12 +02:00
Henrik Rydgård
8d86463b1a More RIP fixes 2017-07-07 15:46:14 +02:00
Henrik Rydgård
837118d230 More RIP elimination 2017-07-07 15:07:56 +02:00
Henrik Rydgård
86396ba39b Turning off the "close memory finder" lets us find more RIP addressing... 2017-07-07 15:07:53 +02:00
Henrik Rydgard
8872057a2d x86-64: Linux ABI fix 2017-07-07 14:22:35 +02:00
Henrik Rydgård
dad5ca45f2 Delete some unnecessary loads. These loads are done properly inside trigCallHelper. 2017-07-07 14:15:10 +02:00
Henrik Rydgård
d312086a61 32-bit fixes 2017-07-07 13:57:37 +02:00
Henrik Rydgård
e5a7d0df95 Buildfix for platforms with standards-compliant offsetof (no dynamic indexing allowed)k 2017-07-07 12:59:23 +02:00
Henrik Rydgård
758cbd748e Replace vminmax_sreg with mips->temp 2017-07-07 11:33:07 +02:00
Henrik Rydgård
270001e651 vminmax_sreg only needs a single element 2017-07-07 11:33:07 +02:00
Henrik Rydgård
077fafba64 Get rid of sincostemp global. Solution not tested on linux yet. 2017-07-07 11:33:06 +02:00
Henrik Rydgård
cfa7c61651 More RIP removal. Also add some comments to make it easy to just search for "M(&" to find remaining offenders. 2017-07-07 11:33:06 +02:00
Henrik Rydgård
752254d404 Surprise! More. Making many commits for easier bisects. 2017-07-07 11:33:06 +02:00
Henrik Rydgård
0743334946 Guess what? More RIP elimination (but keep the fast path too) 2017-07-07 11:33:05 +02:00
Henrik Rydgård
7c3b37c561 More RIP elimination 2017-07-07 11:33:05 +02:00
Henrik Rydgård
102be8654f Remove RIP access from some matrix ops, SafeMem 2017-07-07 11:33:05 +02:00
Henrik Rydgård
2e9a9f2d7c Move mscxr_temp to MIPSState 2017-07-07 11:33:05 +02:00
Henrik Rydgård
d82f90f1b2 More RIP removal 2017-07-07 11:33:05 +02:00
Henrik Rydgård
78538ff61e Some code cleanup. More work towards removing RIP addressing 2017-07-07 11:33:04 +02:00
Henrik Rydgård
f44f7472e5 Remove more RIP addressing 2017-07-05 13:27:38 +02:00
Henrik Rydgård
730e9ced6c X86/X64: We have the context register loaded, let's use it more. 2017-07-05 13:12:42 +02:00
Henrik Rydgard
ff2b6b3fca Assorted cleanup, UWP memory map fixes. PSPFlower runs in both 32-bit and 64-bit. 2017-03-23 10:02:28 +01:00
Henrik Rydgard
b0bd7e3c6f Minor changes for compatibility with VS2017 2017-03-12 17:33:00 +01:00
Florent Castelli
8c3552de74 cmake: Detect features at compile time
Instead of relying on manually passed down flags from CMake,
we now have ppsspp_config.h file to create the platform defines for us.
This improves support for multiplatform builds (such as iOS).
2016-10-19 12:31:19 +02:00
Unknown W. Brackets
e65e794f28 x86jit: Fix vmmul of matrix with itself.
Was not SIMDing correctly.  Probably rare in practice.
2016-05-21 23:02:29 -07:00
Henrik Rydgard
f544364c4a Fix bug in vus2i (thanks unknown), recognize vectors in IR disasm 2016-05-15 23:35:33 +02:00
Unknown W. Brackets
e960158490 jit-ir: Add notes and report about vrot prefixes. 2016-05-15 14:08:59 -07:00
Unknown W. Brackets
ab1461faca Add prefix handling to vfpu color conv per tests. 2016-05-15 13:16:03 -07:00
Henrik Rydgard
2cbfb192c4 IR: Lots more VFPU support, some with SIMD 2016-05-12 12:17:25 +02:00
Henrik Rydgard
45efcda6b1 IR: Some more VFPU 2016-05-10 21:50:08 +02:00
Unknown W. Brackets
b818509734 x86jit: Fix clobbering address in lv.q/sv.q.
We can't let it go into EAX.  Hmm, maybe there's a cleaner way.
Should fix #7686.
2015-04-14 23:17:11 -07:00
Henrik Rydgård
a1f5c537d4 Merge pull request #7672 from unknownbrackets/jit-minor
More x86jit micro optimizations for the FPU
2015-04-13 09:57:02 +02:00
Unknown W. Brackets
56f071d26a x86jit: Support SIMD load/store with fastmem off.
Which is a lot faster, since it usually takes the fast path.
2015-04-11 01:22:50 -07:00
Henrik Rydgård
81dec36da8 Use an accessor to read the compilerPC.
In the IR it will be read from the block.
2015-04-11 01:14:37 -07:00
Unknown W. Brackets
7ea9bcbc13 x86jit: Avoid mapping rs in vfpu load/store.
This allows immediate address load/store, when possible, which can be
faster (especially with slow mem enabled.)
2015-04-10 20:30:14 -07:00
Unknown W. Brackets
bdd1db1fa2 x86jit: Handle vmin/vmax and vsge correctly.
Unfortunately, this boots vmin/vmax from simd, currently.
2015-03-29 12:24:49 -07:00
Unknown W. Brackets
a27be3887e x86jit: Handle overlap better in simd vtfm. 2015-01-07 18:10:53 -08:00
Henrik Rydgård
bb1d571493 Merge pull request #7261 from hilesaz/master
Fix simd vmmul transpose optimizations.
2015-01-06 11:59:14 +01:00
Unknown W. Brackets
23893ffba8 x86jit: Fix crash in prefixes and simd enabled. 2015-01-04 15:50:12 -08:00
Bovine
54c7a12306 Fix simd vmmul transpose optimizations.
Yep, gotta discard the S matrix when we're done with it.
2015-01-03 16:58:03 -07:00
Bovine
185d4db081 Fix simd vmmul transpose optimizations.
Need to ensure S has been written back before transposing it or we'll end
up writing back S'.
2015-01-03 14:48:54 -07:00
Henrik Rydgård
5fffe53671 Merge pull request #7258 from unknownbrackets/jit-minor
x86jit: Fix vavg, improve vfad
2015-01-03 19:44:22 +01:00
Unknown W. Brackets
a1864b2c78 x86jit: Fix vavg scale.
Was completely wrong, darn it.
2015-01-03 10:39:58 -08:00