Commit Graph

15205 Commits

Author SHA1 Message Date
Unknown W. Brackets
9cfe801075 x86jit: Ensure we don't sequence temps+regs. 2014-11-30 17:42:43 -08:00
Unknown W. Brackets
23e3916a77 x86jit: Fix a stupid typo. 2014-11-30 17:42:02 -08:00
Henrik Rydgard
a577e90c9e Merge branch 'jit-simd' of github.com:unknownbrackets/ppsspp into unknownbrackets-jit-simd
Conflicts:
	Core/MIPS/x86/RegCacheFPU.cpp
2014-11-30 23:35:35 +01:00
Unknown W. Brackets
515b954670 x86jit: Re-enable vmmov simd. 2014-11-30 13:06:53 -08:00
Unknown W. Brackets
c6b090d82e x86jit: When storing, verify alignment. 2014-11-30 13:06:16 -08:00
Henrik Rydgard
1443f8f39a Add an assert to catch some unaligned movaps 2014-11-30 22:04:09 +01:00
Unknown W. Brackets
fbc453b083 x86jit: Oops, here also.
Maybe I should kill these early returns after all..
2014-11-30 12:39:30 -08:00
Unknown W. Brackets
5758102be6 x86jit: Correct handling of temp vregs in VS. 2014-11-30 12:33:06 -08:00
Unknown W. Brackets
750f40e260 x86jit: Oops, forgot to add this back.
MapRegV() will be too dangerous if it locks so do it here.
2014-11-30 11:02:55 -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
Unknown W. Brackets
52cfe4a8a3 x86jit: Avoid MOVSS into self. 2014-11-30 10:35:26 -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
Henrik Rydgård
7deb8055ee Merge pull request #7117 from unknownbrackets/jit-simd
x86jit: Implement vmmov using SIMD
2014-11-30 09:24:22 +01:00
Henrik Rydgård
7f65e81fa9 Merge pull request #7118 from unknownbrackets/jit-simd2
x86jit: Correctly use available regs for simd load
2014-11-30 09:23:10 +01:00
Unknown W. Brackets
679a824487 x86jit: when reusing a reg, don't zap slot.
If we returned the same reg it was in before, don't zap the slots because
slot #1 may be valid.
2014-11-29 23:11:50 -08:00
Unknown W. Brackets
c3578bd8eb x86jit: Find the correct available regs.
If there aren't n available regs, they may not of course be in slots 0 and
1.  Have to go and find them.
2014-11-29 22:12:40 -08:00
Unknown W. Brackets
df6a07f24e x86jit: Allow only one reg for sequential load. 2014-11-29 22:11:52 -08:00
Unknown W. Brackets
bb26e4f7d0 x86jit: Implement vmmov using SIMD.
4x -> 87x in microbenchmarking.
2014-11-29 18:46:38 -08:00
Unknown W. Brackets
25a8752dcb Update armips (fixes #7114.) 2014-11-29 09:12:32 -08:00
Unknown W. Brackets
67608639c5 x86jit: Oops, can't have loaded regs here yet. 2014-11-29 09:07:25 -08:00
xebra
b683e8851c Merge branch 'master' into spline_bezier 2014-11-29 22:26:47 +09:00
xebra
fe051f30a2 [spline/bezier]Fix surface normal at flat shading. 2014-11-29 21:58:11 +09:00
Henrik Rydgård
14bb92cdd1 Merge pull request #7113 from Kingcom/master
Update assembler
2014-11-29 13:47:55 +01:00
Kingcom
2159e3b3b6 Update armips 2014-11-29 13:12:55 +01: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 Rydgard
66d74981b5 Merge ARM emitter updates from the NEON branch 2014-11-29 10:49:22 +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
xebra
34fe8300ab Support flat shading. 2014-11-28 18:59:14 +09: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 Rydgård
6ea5f6ab02 Merge pull request #7104 from Kingcom/Assembler
Replace assembler with a submodule
2014-11-27 23:56:49 +01:00
Henrik Rydgard
8f4d322dc6 Another oops... 2014-11-27 23:33:03 +01:00
Henrik Rydgard
bcdfb496a0 Oops, bad merge 2014-11-27 23:12:57 +01:00
Henrik Rydgard
c5bf3adec0 x86 jit: use the correct fp move instruction, minor optimization in vdot 2014-11-27 23:08:15 +01:00
xebra
b0ab0295ba [spline/bezier]Fix decoded buffer access violation. 2014-11-27 19:01:07 +09:00
Henrik Rydgård
811e6aea48 Merge pull request #7109 from unknownbrackets/jit-simd
x86jit: More fixes / tweaks to simd
2014-11-27 10:24:28 +01:00
Unknown W. Brackets
0839ce59e1 x86jit: Apply dirty when reusing 1-reg VS. 2014-11-27 01:05:11 -08:00
Unknown W. Brackets
bbeb5758b7 x86jit: Simplify VS() / VSX() usage. 2014-11-27 00:07:17 -08:00
Unknown W. Brackets
039510a3e3 x86jit: Respect dirty even for non-simd. 2014-11-26 23:29:20 -08:00
Unknown W. Brackets
f63c165f64 x86jit: Fix several cases of missing dirty checks. 2014-11-26 23:28:14 -08:00
Henrik Rydgard
acb711007f x86 jit: SIMD-ify cross product 2014-11-27 00:18:19 +01:00
Henrik Rydgard
5033babb10 x86 Jit: SIMD-ify vdot 2014-11-26 23:47:18 +01:00
Henrik Rydgard
bbd0afd148 x86 jit: Disable SIMD by default, needs just a little more debugging.. 2014-11-26 22:30:41 +01:00
Henrik Rydgard
4b25afb7b4 x86 Jit: SIMD some more instructions 2014-11-26 22:30:06 +01:00