Unknown W. Brackets
585d0d3a56
Update armips.
2015-01-04 13:04:30 -08:00
AdamN
1c7152db3a
Adding Branch opcode to the MAKE_MIPS
...
Temp revert old version to fix conflict; Implementing built-in PRO Adhoc Server; Add back sceUsbGps
Implementing more Adhoc functions, and some bug fix (i don't remember them anymore)
2015-01-04 13:04:02 +01:00
daniel229
6cebc3a0b0
Replace function with memmove in Jui Dr. Touma Jotarou
2015-01-04 14:07:17 +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
0fdebdc1ca
Fix discardVS.
...
It's not valid for non-away values to have a lane.
2015-01-03 16:54:31 -07:00
Henrik Rydgard
3cc633f091
x86jit: Minor logging improvements in FPU recache
2015-01-03 22:55:39 +01: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
Unknown W. Brackets
ab978b1eb1
armjit: Fix vfad/vavg sign for -0.000.
...
But, NEON is still broken pretty bad, not sure why.
2015-01-03 11:14:52 -08: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
Bovine
2ed4c1bd6b
Fix matrix disassembly notation
...
Changed disassembler output to match gas input for operations on
transposed matrices where row != col.
2015-01-03 02:04:08 -07: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
5f6f8ac0a2
x86jit: Fix another sequential detect problem.
...
Arg. Maybe should use voffset after all, but it won't fit in a u8
anyway...
2014-12-31 22:43:31 -08:00
Unknown W. Brackets
c5f7b6fa72
x86jit: Disable simd again for now.
2014-12-31 19:43:40 -08:00
Henrik Rydgard
240ebcb085
Fix memory leaks in sceJpeg
2014-12-31 15:34:50 +01:00
Unknown W. Brackets
a62a4a42b3
armjit: handle any known zero in mtc1.
2014-12-28 20:05:29 -08: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 Rydgård
f51fcb9e80
Typos
2014-12-23 21:32:26 +01:00
Henrik Rydgård
98f1ac9153
Merge pull request #7217 from hilesaz/master
...
Fix to VFPU register allocation. Fixes #7174
2014-12-23 13:28:53 +01:00
Bovine
a9b7656f93
Fix to VFPU register allocation. Fixes #7174
...
GetFreeXRegs(_,_,true) invalidates registers it can see on spill,
but it can't see all the registers in the array due to how we call it
so we have to invalidate the rest ourselves. Not doing so can get it
to use the same register twice.
2014-12-23 03:39:50 -07:00
Henrik Rydgård
53ab7ab4b2
Fix FakeJit, start preparing a little for ARM64
2014-12-23 09:36:28 +01:00
Unknown W. Brackets
326c298207
armjit: Fix BKPT on simple exits.
...
If we get lucky and write a single-op destination address, we only emit
one op. So we have to check the next op before overwriting.
2014-12-22 22:56:15 -08:00
Unknown W. Brackets
cb50075cf9
armjit: Correct NEON/non-VFPU reg allocation order.
...
This fixes vh2f, which unbreaks games like Dissidia 012 and others.
2014-12-22 21:27:27 -08:00
Unknown W. Brackets
71eb709845
fixup! Fix some missing case warnings.
2014-12-20 09:11:45 -08:00
Unknown W. Brackets
a514603f40
Fix some missing case warnings.
2014-12-20 09:10:09 -08:00
Henrik Rydgård
a9be90229a
Merge pull request #7140 from AbandonedCart/master
...
use libc++ for iOS to avoid additional directives
2014-12-18 22:38:14 +01:00
Henrik Rydgård
76b1313ed9
Merge pull request #7164 from daniel229/func_replace_orenoimouto_2
...
Another replace frame download in Ore no Imouto ga Konnani Kawaii Wake g...
2014-12-18 22:22:20 +01: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
2743c5cacd
x86jit: Shave off a couple bytes in asm.
2014-12-17 08:25:18 -08:00
Unknown W. Brackets
77777e372d
x86jit: Use R15 when safe for the jit.
...
This is virtually always safe.
2014-12-17 08:09:59 -08:00
Unknown W. Brackets
b9eddc3d25
x86jit: Oops, fix a typesafety error.
2014-12-17 08:07:43 -08:00
Unknown W. Brackets
9022b48069
x86jit: Skip reload of EAX in safe cases.
...
Probably no real improvement in perf, but a bit cleaner and one less TODO.
2014-12-17 01:12:41 -08:00
Unknown W. Brackets
afdbf5610b
jit: Use nicknames for a few more static regs.
2014-12-17 01:11:33 -08:00
Unknown W. Brackets
b6a75bf255
x86jit: Set CTXREG in a fixed place.
2014-12-17 01:00:21 -08:00
Henrik Rydgard
a54e0cf244
Goodbye PowerPC, you can always be resurrected when the time comes
2014-12-16 21:58:38 +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
b2951f0def
Transplant Dolphin's ARM64 emitter over. Not hooked up to anything (yet...)
2014-12-15 22:09:26 +01:00
Unknown W. Brackets
9a41dec0ff
Fix some type comparison warnings.
2014-12-14 17:35:20 -08:00
Unknown W. Brackets
cb7e7643db
Blackberry buildfix.
2014-12-13 19:38:04 -08:00
Henrik Rydgard
32a452d671
Blackberry buildfix, added a commen this time..
2014-12-13 22:14:53 +01:00
Henrik Rydgard
5de011fe95
Again, sigh..
2014-12-13 21:53:28 +01:00
Henrik Rydgard
db5478135b
Typo fix
2014-12-13 21:26:13 +01: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
8ad1ea4c84
Split JitCommon.h so that you can include it without getting the "NativeJit" definition
2014-12-13 21:13:28 +01:00
Henrik Rydgård
5ae4cc8959
x86: Turn VFPU SIMD off again. See #7173 and #7174
2014-12-13 13:35:29 +01:00
Henrik Rydgard
75a9420b21
Reduce the number of places we include JitCommon.h. Update native.
2014-12-12 23:49:08 +01:00
daniel229
eee73607b5
Another replace frame download in Ore no Imouto ga Konnani Kawaii Wake ga Nai
2014-12-11 11:13:59 +08:00
Unknown W. Brackets
afc779a824
jit: Add IN_RT to lwl/lwr and re-enable clobbering.
2014-12-08 21:17:01 -08:00
Lioncash
cac632424c
Core: Add missing override specifiers
2014-12-08 15:20:31 -05:00
Unknown W. Brackets
bfe5f9276e
jit: Re-disable clobbered thing.
...
No idea what's wrong...
2014-12-08 02:06:25 -08:00
Unknown W. Brackets
7734a4c912
jit: Re-enable clobbering with movz/movn support.
...
Oops, these should be the only ones that take rd "in".
2014-12-08 01:29:41 -08:00
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
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
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
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
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
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
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