Unknown W. Brackets
119c1ef83e
jit: Disable clobber detection for now.
...
Should still spill better. Something is wrong with flags detection, a
clobber to rd is incorrectly discarding outside a delay slot. Don't have
time now to look into it further.
2014-12-08 01:24:17 -08:00
Unknown W. Brackets
f817d49dfb
jit: Discard clobbered registers on spill.
...
If we're spilling anyway, discard rather than saving.
2014-12-07 23:08:21 -08:00
Unknown W. Brackets
f6531a74e1
Don't allow clobbering in a likely delay slot.
...
Since, we don't know which path it will take. Also, don't clobber when
it's the delay slot of the instruction in question - this was a tricky
case.
2014-12-07 23:04:05 -08:00
Unknown W. Brackets
eeff110c0f
jit: Improve and unify GPR spill logic.
...
Now the same logic on x86 and ARM, and handles HI/LO/etc. better.
2014-12-07 21:10:28 -08:00
Unknown W. Brackets
487e175cf9
Fix a sign comparison warning.
...
This isn't really negative anyway.
2014-12-07 21:08:03 -08:00
Unknown W. Brackets
9dd6bb56bb
jit: Make available js_ and jo_ in regcaches.
2014-12-07 21:07:23 -08:00
Unknown W. Brackets
58ff826b73
Cleanup to link assembler on arm unittest builds.
2014-12-07 15:41:11 -08:00
Henrik Rydgård
9ea5c8a1c4
Merge pull request #7116 from Kingcom/master
...
Update assembler again
2014-12-08 00:26:39 +01:00
Henrik Rydgård
6546a5ac03
Merge pull request #7143 from lioncash/net
...
proAdhoc: Make some functions return boolean values.
2014-12-08 00:26:25 +01:00
Henrik Rydgård
e46976f08e
Merge pull request #7147 from lioncash/moarconst
...
Mark some functions as const
2014-12-08 00:25:42 +01:00
Henrik Rydgard
50bb3e1e05
Minor fixes
2014-12-08 00:18:13 +01:00
Lioncash
a962bc5a6c
Mark some functions as const
2014-12-07 17:08:13 -05:00
Henrik Rydgard
7de3ed109a
Android x86 buildfix
2014-12-07 22:00:30 +01:00
Henrik Rydgard
1a1faeffd1
More audio microoptimization
2014-12-07 21:14:09 +01:00
Henrik Rydgard
28aa18953a
Audio: Minor SSE2 optimization, just because
2014-12-07 20:23:47 +01:00
Henrik Rydgard
8102a67602
Implement sceSha256Digest (untested)
2014-12-07 19:25:45 +01:00
Henrik Rydgard
29e681808d
Merge branch 'sceSha256' of https://github.com/daniel229/ppsspp into daniel229-sceSha256
2014-12-07 19:11:45 +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
4457dca4c9
Rename the ARM Jit class to ArmJit
2014-12-07 14:25:22 +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
e2f61459d3
ARM Jit: Implement vfad/vavg
2014-12-07 13:02:16 +01:00
Henrik Rydgard
80ce45f9fb
ARM Jit: Join adjacent vrot ops on ARM too
2014-12-07 12:07:54 +01:00
Henrik Rydgard
c2503b1406
ARM jit: Prepare for joining vrot ops
2014-12-07 11:58:19 +01:00
Henrik Rydgard
37413f8119
We can use sincosf again on Android - the bug in the NDK has been fixed.
2014-12-07 11:53:46 +01:00
Henrik Rydgard
4d8db38798
Some more
2014-12-07 00:30:45 +01:00
Henrik Rydgard
ceed0a92c3
Undo some accidental reverts
2014-12-07 00:25:15 +01:00
Lioncash
1d9ace08ae
proAdhoc: Make some functions return boolean values.
...
Also shortens validNetworkName a little.
2014-12-06 14:48:46 -05:00
Henrik Rydgard
ff4746cd17
Merge the rest of the old NEON branch.
2014-12-06 13:14:03 +01:00
Henrik Rydgard
d98bde8e50
Merge the RegCache changes from the old neon-vfpu branch
2014-12-06 12:26:58 +01:00
Henrik Rydgard
29dcc0a303
Minor cleanups, warning fixes
2014-12-06 12:25:28 +01:00
Henrik Rydgard
d46c9c2f74
x86 jit: Minor optimization in vmmul
2014-12-06 11:35:01 +01:00
TwistedUmbrella
3f4d58b0b2
use libc++ for iOS to avoid additional directives
2014-12-05 19:47:02 -05:00
Lioncash
15aa29d178
MIPSAnalyst: Pass strings by const reference.
2014-12-05 13:12:49 -05:00
daniel229
49b2939f0d
sceSha256
2014-12-04 22:44:41 +08: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
Lioncash
cd26b200b2
Core: Get rid of a few c_str/strlen calls
2014-12-03 17:15:05 -05:00
Henrik Rydgård
c1084b6b93
Merge pull request #7131 from lioncash/scempeg
...
sceMpeg: Remove an unnecessary if statement
2014-12-03 22:53:02 +01:00
Lioncash
efaba33624
sceMpeg: Remove an unnecessary if statement
...
stream is previously used in the above memcpy, so this check is not necessary.
2014-12-03 16:49:01 -05: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
Unknown W. Brackets
9d97eb5b12
Oops, fix an old typo.
...
Thanks Lioncash. This broke a small range of old savestates.
2014-12-03 12:49:52 -08:00
Lioncash
f830d5dec7
Core: Mark some functions as const
2014-12-03 15:16:11 -05:00
Lioncash
9f1bebe201
Loaders: Fix a mismatched delete call
2014-12-03 14:55:20 -05:00
daniel229
6846e8b140
Replace frame download in Kenka Banchou Bros: Tokyo Battle Royale
2014-12-03 18:44:04 +08:00
Henrik Rydgard
ca8ba9532c
x86 jit: Implement vtfm
2014-12-03 01:45:29 +01:00
Henrik Rydgard
1abadef87f
Add "resolving" of a few symbols to x86 disassembler
2014-12-02 01:00:11 +01:00
Unknown W. Brackets
256ea0c062
Verify recent file existance using a loader.
...
This way it supports remote files and doesn't wipe them.
2014-11-30 23:54:22 -08:00
Unknown W. Brackets
48b3a292d7
x86jit: Add more sanity checks.
2014-11-30 17:43:07 -08:00
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
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
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
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
Kingcom
6b29fe9d60
Change VROT disassembly
2014-11-29 18:33:33 +01:00
Unknown W. Brackets
67608639c5
x86jit: Oops, can't have loaded regs here yet.
2014-11-29 09:07:25 -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 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
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
Henrik Rydgard
becdb14a3f
x86 jit: Fix a couple issues in simd storefromregister
2014-11-26 22:25:18 +01:00
Henrik Rydgård
80797dc723
Merge pull request #7108 from unknownbrackets/jit-simd
...
Fix the simd issue at least for Wipeout
2014-11-26 21:42:02 +01:00
Unknown W. Brackets
abd425d9f1
x86jit: Re-enable the simd optimization.
2014-11-26 09:21:15 -08:00
Unknown W. Brackets
e5dabaabe2
x86jit: Optimize simd->non for 1-lane a little.
2014-11-26 09:20:50 -08:00
Unknown W. Brackets
5d0c32d1e6
x86jit: Assume non-simd regs are dirty.
2014-11-26 09:19:50 -08:00
Henrik Rydgard
804de50711
x86 jit: SIMD-ify VFPU register file writebacks where possible
2014-11-26 01:33:05 +01:00
Henrik Rydgard
b3c8a82c49
x86 jit: SIMD-ify some more
2014-11-25 23:56:46 +01:00
Henrik Rydgard
b5ee47a80c
x86 jit: SIMD-ify lv.q and sv.q
2014-11-25 23:28:29 +01:00
Henrik Rydgård
4db6b7f3e2
SIMD-ify a couple instructions a bit
2014-11-25 22:47:26 +01:00
Unknown W. Brackets
ced555ee47
Oops, fix a mistake in umd replacement.
2014-11-25 12:03:16 -08:00
Unknown W. Brackets
efd7f1cc36
Fix a few warnings, cleanup.
2014-11-25 11:58:03 -08:00
Unknown W. Brackets
53c3841698
Buildfix for Linux and Symbian.
2014-11-25 11:48:08 -08:00
Unknown W. Brackets
aeb3a327f0
Oops, typo.
2014-11-25 11:39:34 -08:00