Henrik Rydgard
604abe933e
Update submodules, add x64Emitter bugfix from Dolphin (plus a few new instrs), misc
2015-01-11 00:12:32 +01:00
Henrik Rydgård
6bf2c02908
x86 jit: Allow storing all imms directly without bouncing to a register, not just zero.
2014-12-23 22:25:53 +01:00
Henrik Rydgard
4ec30d98e1
Port the x86 and ARM emitters over to use the generic CodeBlock class
2014-12-15 22:32:55 +01:00
Henrik Rydgard
2bce7bc460
X64Emitter: Merge some AVX stuff from Dolphin
2014-12-07 23:09:38 +01:00
Henrik Rydgard
66d74981b5
Merge ARM emitter updates from the NEON branch
2014-11-29 10:49:22 +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
5033babb10
x86 Jit: SIMD-ify vdot
2014-11-26 23:47:18 +01:00
Henrik Rydgard
804de50711
x86 jit: SIMD-ify VFPU register file writebacks where possible
2014-11-26 01:33:05 +01:00
chinhodado
4bac356df6
Use const
2014-11-14 16:13:06 -05:00
Henrik Rydgard
784bf82b58
Improve AVX check in CPUDetect. Warning fix.
...
Keeping the ifdef for zenfone - still doesn't work without it
2014-11-11 23:48:58 +01:00
Unknown W. Brackets
bc7497857a
x86jit: Micro optimize vi2x a bit with ssse3/sse4.
...
Both are small wins.
2014-11-08 12:13:26 -08:00
Unknown W. Brackets
0e646f748a
x86jit: Implement vi2x instructions.
...
Also, my opcodes were wrong in the test (shifted the pair bit the wrong
way, oops.)
AFAICT, there's no reason PSRAD/etc. were not encoding REX...
2014-11-08 12:13:26 -08:00
Unknown W. Brackets
844c7e73d3
x86jit: Add SSE 4.1 rounding ops to emitter.
2014-11-03 23:18:09 -08:00
Henrik Rydgård
6cb2c9c97d
Merge pull request #6989 from hrydgard/x86-emitter-merge
...
Merge from Dolphin's x86-64 emitter
2014-10-12 19:52:59 +02:00
Henrik Rydgård
7bde976069
Merge x64 emitter from a newer Dolphin version.
...
This one can generate slightly smaller code by exploiting some EAX-only
encoding and various other short forms, and adds support for many newer
CPU instructions.
2014-10-12 19:46:58 +02:00
Henrik Rydgård
281ab5f9cb
Sync x64 emitter to Dolphin's.
2014-10-12 19:45:26 +02:00
Henrik Rydgard
8177b4c43b
Avoid an ifdef using PTRBITS
2014-10-12 19:35:55 +02:00
Henrik Rydgård
f99c2cd010
x86 Jit: Generate nicer code for some cases of addiu
2014-10-12 17:47:53 +02:00
Unknown W. Brackets
031a1de139
Add some additional ABI call funcs, cleanup.
...
ImmPtr is cleaner, let's use it rather than ugly casts.
2014-09-21 08:34:08 -07:00
Henrik Rydgard
d3dce422a8
X64emitter: merge from dolphin
2014-07-20 00:21:28 +02:00
Unknown W. Brackets
632eec38e8
vertexjit: Use SSE4.1 where available on x86.
...
Just because we can.
2014-03-22 16:11:16 -07:00
Unknown W. Brackets
162f229294
vertexjit: Support the color morphs on x86.
2014-03-22 15:56:29 -07:00
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 Rydgård
e5e17fbc6e
More include cleanup. Hoping for very slightly faster compile times..
2013-12-30 10:49:05 +01:00
Henrik Rydgard
5826a6a60c
x86: untested MOVDQA/MOVDQU emitters
2013-12-21 12:39:34 +01:00
Unknown W. Brackets
5d2ff64252
Support for modified jit-enabled VerySleepy.
...
This allows profiling the jit. Should have zero perf impact when not
in use, since it's entirely triggered by VerySleepy.
2013-11-30 19:20:21 -08:00
Henrik Rydgard
5bb3824dcf
Implement vocp on ARM and x86.
2013-11-19 21:41:47 +01:00
Henrik Rydgard
6221dbaf5d
Optimize software skinning for x86.
...
Can't seem to get a win on Windows vs hardware skinning though, even though
draw calls drop by 2/3rd...
2013-11-13 18:10:58 +01:00
Unknown W. Brackets
732ae13ebb
Fast path CallSyscall where possible.
...
It seems we're spending a decent amount of time there, which isn't
entirely unexpected. We can eliminate some things easily.
2013-11-04 07:59:37 -08: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
Unknown W. Brackets
2751da1cec
Cut down on work in regcache init on x86.
...
Very tiny tiny optimization for games, but 8-10% optimization for tests.
2013-09-19 00:29:50 -07:00
Henrik Rydgard
324cde5a79
Let's actually use the log category mechanism. A first step.
2013-09-07 21:19:21 +02:00
Henrik Rydgard
8714240519
Fix vf2i properly on x86.
2013-08-07 21:30:57 +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
7d2e0b46a4
Delete ColorUtil.cpp/h
2013-07-31 22:28:40 +02:00
Henrik Rydgard
2a39a3b972
JIT: Get rid of one memory access per dispatch, and get rid of blockcodepointers.
2013-04-27 01:32:03 +02:00
Sonicadvance1
cd9b49acfd
Updates to ArmEmitter from Dolphin.
2013-04-12 10:14:18 -07:00
Henrik Rydgard
377c94b125
JIT x86: cvt.s.w
2013-02-06 20:29:49 +01:00
Henrik Rydgard
2738417040
VFPU JIT: start setting up infrastructure. very incomplete. vdot works if undisabled, but isn't complete.
2013-01-26 01:34:19 +01:00
Unknown W. Brackets
5305017fc3
Properly save registers before the slowmem call.
2013-01-19 11:11:44 -08:00
Unknown W. Brackets
f1295f6262
Don't muck with currentMIPS->r in the slowmem jit.
2013-01-19 11:11:44 -08:00
Unknown W. Brackets
d5ae85201c
Optimize sw/lw even under safe memory.
...
They're very common instructions, so shaving cycles helps.
2013-01-18 23:10:50 -08:00
Henrik Rydgard
76481a300c
Icache must be invalidated. Jit now starts to run, but there's no cube in cube.elf!
2013-01-08 23:52:11 +01:00
Diogo Franco (Kovensky)
6108e36ae9
Several fixes to build under stricter C++11
...
Add missing #include to various files.
strings.h isn't provided by MSVC so we don't include it there; it's needed
for other OSes/compilers.
Get rid of pre-ISO-C malloc.h includes; malloc is provided by stdlib.h.
Fixes some linuxisms.
Prepend __builtin_ to __clear_cache, calling it without the prefix is a
GNU extension.
2012-11-21 14:33:50 -03:00
Henrik Rydgard
b214a1a1da
Revert "Better wrapper system, and fixed warnings"
...
This reverts commit a00b1855cb6427f8eb36341137dbb81004ff29fd.
Conflicts:
Core/HLE/FunctionWrappers.h
Core/HLE/sceCtrl.cpp
Core/HLE/sceKernelModule.cpp
2012-11-05 10:05:09 +01:00
Henrik Rydgard
6bed1afb72
Merge branch 'master' of https://github.com/artart78/ppsspp into artart78-master
2012-11-04 23:59:26 +01:00
Henrik Rydgard
687b085357
Missed these somehow
2012-11-04 23:58:25 +01:00
Arthur Blot
a00b1855cb
Better wrapper system, and fixed warnings
2012-11-04 15:08:23 +01:00
Henrik Rydgard
4f7ad15758
Add snapshot of the whole source code.
2012-11-01 16:19:01 +01:00