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
Unknown W. Brackets
8a089ee583
x86jit: Handle -0.0 in vavg/vfad.
...
Should result in a positive result.
2015-01-03 10:39:26 -08:00
Henrik Rydgard
13c4a22967
Disable transpose optimization, seems to break games
2015-01-02 01:13:34 +01:00
Henrik Rydgard
6a7e5d1cc2
x86 Jit SIMD: Generate somewhat shorter code for handling transposed matrices in vmmul.
...
TODO: Build into regalloc instead, with a MapMatrix function?
2015-01-01 12:44:03 +01:00
Unknown W. Brackets
a514603f40
Fix some missing case warnings.
2014-12-20 09:10:09 -08:00
Unknown W. Brackets
a292fa87ea
x86jit: Fix an x32 compile error in disabled code.
2014-12-17 08:50:31 -08:00
Unknown W. Brackets
afdbf5610b
jit: Use nicknames for a few more static regs.
2014-12-17 01:11:33 -08:00
Henrik Rydgard
05a8e2e35d
Some work towards being able to build two JITs together
...
This will be useful for testing/debugging, but not there yet.
2014-12-13 21:13:54 +01:00
Henrik Rydgard
51d55bd645
Namespacing cleanup (it's bad to do "using namespace" in a header)
2014-12-07 14:44:15 +01:00
Henrik Rydgard
7740caeade
Buildfix the arm emitter test in the unittest.
...
Also do some preparation for being able to have two JITs compiled at the same time
which may be useful in testing parts of the ARM jit on Windows.
2014-12-07 14:12:13 +01:00
Henrik Rydgard
d46c9c2f74
x86 jit: Minor optimization in vmmul
2014-12-06 11:35:01 +01:00
Henrik Rydgard
ea6371921a
x86 jit: Hack around running out of regs on x86-32 with SIMD
2014-12-04 00:19:08 +01: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
Henrik Rydgard
5290ffd929
Minor cleanup in vtfm. Re-enable vrot combination. Optimize vfad/vavg when dpps is available.
...
Also fixes bug in emitter of dpps.
2014-12-03 22:44:32 +01:00
Henrik Rydgard
ca8ba9532c
x86 jit: Implement vtfm
2014-12-03 01:45:29 +01:00
Unknown W. Brackets
515b954670
x86jit: Re-enable vmmov simd.
2014-11-30 13:06:53 -08:00
Henrik Rydgård
2945a1acc1
Merge pull request #7120 from unknownbrackets/jit-simd
...
x86jit: Add a MAP_NOLOCK flag
2014-11-30 19:43:35 +01:00
Unknown W. Brackets
29e3819437
x86jit: Improve spilling in vf2i.
...
This should improve which ones we spill on 32 bit at least.
2014-11-30 10:38:58 -08:00
Unknown W. Brackets
0000be1bb2
x86jit: Add a MAP_NOLOCK flag to not lock.
...
Only for MapRegs*. And then lock all by default, including
TryMapRegsVS().
2014-11-30 10:36:44 -08:00
Henrik Rydgard
466cdb8ddf
x86 Jit: Basic implementation of SIMD vmmul. Can be improved.
2014-11-30 19:27:43 +01:00
Henrik Rydgard
74e70f1159
Fix silly typo
2014-11-30 17:24:56 +01:00
Henrik Rydgard
ac772f25ff
x86 JIT: Join adjacent vrot calls together to avoid redundant sin/cos calls. Add a prototype, fix minor issues.
2014-11-30 11:04:13 +01:00
Unknown W. Brackets
bb26e4f7d0
x86jit: Implement vmmov using SIMD.
...
4x -> 87x in microbenchmarking.
2014-11-29 18:46:38 -08:00
Henrik Rydgard
8bd20ed8d1
x86 jit: Implement matrix init ops in SIMD. Turn off SIMD again by default (oops)
2014-11-29 12:30:21 +01:00
Henrik Rydgard
8f016d3e48
Merge some matrix utils and stuff from the NEON branch
2014-11-29 11:37:45 +01:00
Henrik Rydgård
ae15722a2e
Merge pull request #7112 from unknownbrackets/jit-simd
...
jit: MAP_NOINIT should always mean MAP_DIRTY
2014-11-29 10:19:33 +01:00
Unknown W. Brackets
f6f943de63
jit: MAP_NOINIT should always mean MAP_DIRTY.
2014-11-29 00:14:08 -08:00
Henrik Rydgard
32c81c3265
x86 jit vcrsp.t: Oops, don't "SimpleReg" before doing the SIMD solution..
2014-11-28 01:06:32 +01:00
Henrik Rydgard
344f71b092
x86 jit: Commit commented-out haddps-based vdot.q as reminder not to use haddps...
2014-11-28 00:19:11 +01:00
Henrik Rydgard
8f4d322dc6
Another oops...
2014-11-27 23:33:03 +01:00