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
Sacha
a14a2fafa9
ARMJIT: Fix and use DIV, DIVU, INS and EXT (ARMv7 and VFPv4 implementations).
2013-05-24 08:26:19 +10:00
Sonicadvance1
cd9b49acfd
Updates to ArmEmitter from Dolphin.
2013-04-12 10:14:18 -07:00
Unknown W. Brackets
268f30f522
Buildfix.
2013-03-29 01:27:24 -07:00
Sacha
2f63b56c19
If MOVI2R can be done in 2 ops for ARMv6, prefer that over litpool. Litpool can take 1-3 cycles depending on when the value is used. So, usually 3 cycles :\.
2013-03-28 21:26:13 +10:00
Sacha
471ddd6380
Simplify armjit.
2013-03-26 02:41:15 +10:00
Unknown W. Brackets
de3713fc50
armjit: improve mem speed without fastmem.
2013-03-16 14:37:35 -07:00
Unknown W. Brackets
663b481033
armjit: Fix encoding of LDRH/STRH/LDRSH/LDRSB.
...
Fixes fastmem issues recently introduced.
2013-03-15 00:12:28 -07:00
Sacha
5091c7aae2
Fix Sonic's ArmEmitter changes. FastMem should work now.
2013-03-15 11:26:56 +10: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
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
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
Sacha
9f0bb8cf52
armv6: Reuse constants in literal pool.
...
May reduce memory loads?
2013-03-07 14:44:55 +10:00
Sacha
ae3b881a7f
Use correct args for Operand2(..) through armjit. Fix STR(..).
2013-03-07 00:59:07 +10:00
Sacha
268d16bd24
Use correct args for STR(..) throughout armjit.
2013-03-07 00:59:07 +10:00
Sacha
5a134243a7
Armjit: Fix lwl, lwr and enable again. Thanks Sonic.
2013-03-06 03:28:28 +10:00
Sacha
7e67de3334
Armjit: Implement lwl, lwr, swl, swr in ARM JIT. lwr is currently disabled as it isn't working.
2013-03-06 02:11:36 +10:00