Commit graph

653 commits

Author SHA1 Message Date
Henrik Rydgard
8a904fe478 Some JIT cleanup 2013-04-27 01:32:02 +02:00
Unknown W. Brackets
3bb5651ca7 Initial x86 jit for vtfm/vhtfm. 2013-04-20 01:52:06 -07:00
Unknown W. Brackets
9245490b53 Initial / simple vmscl for x86 jit. 2013-04-20 01:34:16 -07:00
Unknown W. Brackets
29109d25af Non-optimal vmmul for x86 jit.
It's faster than interpreter anyway, but it could be much better.
2013-04-20 01:15:15 -07:00
Unknown W. Brackets
cfac7324d6 Implement vscl in the x86 jit. 2013-04-20 01:15:14 -07:00
Sonicadvance1
cd9b49acfd Updates to ArmEmitter from Dolphin. 2013-04-12 10:14:18 -07:00
Henrik Rydgard
724a600381 Buildfix android, misc other fixes, some include cleanup 2013-03-29 20:55:32 +01:00
Henrik Rydgård
04b1518874 Merge pull request #1074 from xsacha/master
Simplify armjit.
2013-03-26 01:13:56 -07:00
Unknown W. Brackets
e4223dbcb0 Simplify adding report messages, add a bunch more. 2013-03-26 00:54:00 -07:00
Sacha
471ddd6380 Simplify armjit. 2013-03-26 02:41:15 +10:00
Aapo Rantalainen
2b965a6f03 Maemo5 support 2013-03-22 09:15:00 +02:00
Henrik Rydgard
5293c152c6 Untested support for Android-x86. No idea if this actually works. 2013-03-21 20:52:33 +01:00
Unknown W. Brackets
796d2c10c6 armjit: VRAM comes before RAM, fix slowmem check.
Can't think of anything else, hopefully fixes #1021.
2013-03-18 08:08:40 -07:00
Unknown W. Brackets
5e537bd528 armjit: Optimize imm addresses in VFPU, slowmem path. 2013-03-16 20:31:52 -07:00
Unknown W. Brackets
3466f3c721 armjit: Add fastmem check to FPU.
Could reduce crashes that don't happen on x86.
2013-03-16 20:31:51 -07:00
Unknown W. Brackets
b8eb526691 armjit: improve slowmem, fix vram check.
Darn, copy/paste error.
2013-03-16 20:31:51 -07:00
Unknown W. Brackets
6ef5f4c8dc armjit: Refactor slowmem path for reusing it. 2013-03-16 14:37:35 -07:00
Unknown W. Brackets
45b0b1203f armjit: No, LDR/STR do not update flags.
Oops, had some other bug and thought this was the issue.
2013-03-16 14:37:35 -07:00
Unknown W. Brackets
de3713fc50 armjit: improve mem speed without fastmem. 2013-03-16 14:37:35 -07:00
Unknown W. Brackets
8f3904d32d armjit: Speed up imm addresses in slowmem mode. 2013-03-16 14:37:35 -07:00
Unknown W. Brackets
f1498b68e0 Re-read R9 on iOS each time.
There's maybe a better way.  Anyhow, seems to run.
2013-03-14 02:18:12 -07:00
Unknown W. Brackets
9561f1d9c1 iOS: Protect/unprotect isn't needed for jit. 2013-03-14 02:16:51 -07:00
Unknown W. Brackets
ead6983ad2 Don't lock armjit memory before aligning code. 2013-03-14 01:16:28 -07:00
Sacha
f88bf8bbff Attempt at fixing JIT on iOS. Can only have PROT_WRITE or PROT_EXEC enabled. So toggle between them as needed. 2013-03-14 14:40:01 +10:00
Sacha
529803e429 Sonic's ArmEmitter changes (cross-project merge from Dolphin) 2013-03-14 12:47:29 +10:00
Unknown W. Brackets
ed76563973 Don't bother checking nice, just do it after. 2013-03-11 02:18:27 -07:00
Unknown W. Brackets
b5fe67eb3d If the out is RA, delay slot isn't nice for jal.
Fixes Phantasy Star Portable 2 in jit.
2013-03-11 02:14:38 -07:00
Henrik Rydgård
11c730890e Merge pull request #927 from hrydgard/armjit-opt
ARMJIT: Optimize some common ops for immediates
2013-03-10 00:30:14 -08:00
xsacha
1871c4e8bd Merge pull request #900 from xsacha/master
Rounding Mode Handling
2013-03-09 20:30:39 -08:00
Sacha
ac3f3099e1 Fix the conditional rounding for round to zero. Implement ctc1, cfc1. 2013-03-10 11:25:24 +10:00
Henrik Rydgard
216dc7ad65 Optimize some common ops for immediates 2013-03-10 00:48:44 +01:00
Unknown W. Brackets
a589361b82 Call GEtImm() before Map* in case of overlap. 2013-03-09 14:39:17 -08:00
Unknown W. Brackets
9100c4a5a2 armjit: Don't MapReg before checking for IsImm(). 2013-03-09 11:57:02 -08:00
Unknown W. Brackets
c4ab0855b4 Make sure interpreter and jit savestates match. 2013-03-08 08:49:21 -08:00
Sacha
7782be9a3e Try software rounding mode instead. Use conditionals for VFP functions. Note: Round to Zero not working for some reason? 2013-03-08 22:39:34 +10:00
Sacha
fbef590bed Add emitters for VMRS/VMSR. Undisable ceil, which works. Add stub for rounding mode handling. 2013-03-08 22:39:34 +10:00
Sacha
6adb6762f2 Enable instructions: ceil, ins (confirmed working). Buildfix for Qt platforms. 2013-03-08 12:36:04 +10:00
xsacha
9973f0456b Merge pull request #897 from unknownbrackets/jit-minor
Some armjit sync
2013-03-07 18:18:13 -08:00
Sacha
cc65b0add9 Fix rounding. Was disabling wrong rounding mode. Previous one wasn't merge-ready but should be OK now. Only tests that fail are VFPU now. 2013-03-07 22:34:20 +10:00
Sacha
b9ec281c55 Disable rounding methods that aren't working in hardware. Add some notes. Fix compare fall-through and choose right round method. 2013-03-07 21:33:30 +10:00
Unknown W. Brackets
cea396e901 armjit: Don't use R1 in the regcache.
This way it can be used in swl/swr/ins as a temp reg.
Note: those instructions are currently DISABLEd, though.
2013-03-07 02:09:13 -08:00
Unknown W. Brackets
925e4e42bd armjit: Disable ext for now, breaks Disgaea? 2013-03-07 02:08:45 -08:00
Unknown W. Brackets
d525abbcad Cleanup some indentation, more compares to 0. 2013-03-07 02:08:45 -08:00
Unknown W. Brackets
028e85dc92 Cleanup some differences between the two jits. 2013-03-07 02:08:44 -08:00
Sacha
2a9074d92f Fix FPU comp UEQ case. 2013-03-07 14:46:11 +10:00
Henrik Rydgard
6702f0c78c Tiny optimization and bugfix 2013-03-07 00:47:48 +01:00
Henrik Rydgard
963a6603fc Fix two armjit bugs the testrunner found. 2013-03-07 00:37:00 +01:00
Henrik Rydgard
a69b09a831 More work on TestRunner, now runs all the CPU tests. 2013-03-07 00:22:39 +01:00
Sacha
94a11ef3c0 Armjit: Implement movn, movz 2013-03-07 04:11:48 +10:00
Sacha
87de6be239 Fix the shift regs in ARM JIT that were causing graphical issues in some games. Set avoidload flag. 2013-03-07 02:39:28 +10:00