Commit Graph

181 Commits

Author SHA1 Message Date
Unknown W. Brackets
6038d96b46 armjit: Flush regs using STMIA where possible. 2013-11-09 08:25:07 -08:00
Henrik Rydgard
1bf83efe9e ARM optimization in ADDI2R: Dual adds instead of MOVI2R, ADD when possible 2013-11-08 12:43:47 +01:00
Unknown W. Brackets
f6662054bd Fix arm emitter bug in LDRH and friends. 2013-11-05 00:32:08 -08:00
Unknown W. Brackets
7a8671f8a2 Add a TSTI2R helper for readability mainly. 2013-11-03 21:58:26 -08:00
Unknown W. Brackets
5de7181b36 Add other forms of LDM/STM to the emitter. 2013-11-03 21:31:05 -08:00
Unknown W. Brackets
95c8ee5089 Missing stddef library (Linux buildfix.) 2013-10-27 15:52:40 +00:00
Unknown W. Brackets
ffa0f2fb44 Fix some arm emitter warnings on win64.
We link it in for debugging purposes.
2013-10-26 17:57:40 -07:00
Sacha
18b7503dd5 Fix rounding errors in armjit. 2013-10-14 19:24:13 +10:00
Henrik Rydgård
4582902cf2 Make the ARM stuff build on clang so we can later get the unit test to
work there. also fixes the build.
2013-09-29 20:01:38 +02:00
Henrik Rydgard
b661ae6c41 Add very simple jit viewer screen to dev menu. Add untested emitter for cvt.f32.f16 & c:o. 2013-09-29 13:41:56 +02:00
adrian17
5f86bc44d4 Deleted some doubled #includes. 2013-09-27 21:38:07 +02:00
Henrik Rydgard
499dbc05ee ArmEmitter: Merge a fix and some new instructions from Sonic1's emitter. 2013-09-14 12:04:55 +02:00
Henrik Rydgard
324cde5a79 Let's actually use the log category mechanism. A first step. 2013-09-07 21:19:21 +02:00
Unknown W. Brackets
1ed8edb0d3 Avoid some dangerous hex constant widths. 2013-08-22 23:23:48 -07:00
Unknown W. Brackets
49c7b9628a Fix some correctness warnings. 2013-08-12 23:40:22 -07:00
Henrik Rydgard
51596b636a Fix numerous ARM JIT bugs. Activate vmtvc and vscl, and vadd/vmul/vdiv/vsub for real this time. 2013-07-31 10:34:58 +02:00
Henrik Rydgard
65f8430c32 Quick hacked-up ARM VFP disassembler. Buggy. 2013-07-30 21:39:37 +02:00
Sacha
663f888a54 Sonic: Fix encoding in VADD (cross-project merge). 2013-07-30 04:37:47 +10:00
Unknown W. Brackets
0cd5766f50 Support clang as well as gcc for Android/Linux. 2013-07-26 22:13:57 -07:00
Sacha
637d75f47d Unlock the other 16 regs that are available for NEON. 2013-06-09 23:15:59 +10:00
Sacha
29d1e40c79 Buildfix for Blackberry, Linux, Symbian, non-ffmpeg platforms, Meego, ... 2013-06-09 22:53:22 +10:00
Sacha
583927988c Armjit Update: Improvements
Implement vsat0 and vsat1
Introduce VMOV for immediates.  Use in MOVI2F where possible by detecting if float val can be encoded.
Combine some vneg ops in ApplyPrefixST.
2013-06-09 21:27:16 +10:00
Sacha
f21218c3f9 Armjit: Combine mul.s + neg.s to VNMUL. Implement VNMUL, VNMLA, VNMLS.
I had implemented mul.s + add/sub.s + add/sub.s -> VADD/VSUB + V(N)ML(A/S). Turns out it doesn't happen enough though (once or twice per game).
2013-06-08 16:39:59 +10:00
Sacha
10c976b2af Armjit: Improve ApplyPrefixD. Add VABD to emitter. 2013-06-06 03:08:58 +10:00
Sacha
6712de1136 Armjit: Implement wsbh and wsbw (rev16 and rev). Fix encoding for rev16. 2013-06-05 11:32:44 +10:00