Commit Graph

1429 Commits

Author SHA1 Message Date
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