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
Sacha
9152d2f2bb
Armjit: Optimise swl+swr and lwl+lwr cases that can be combined to a single sw or lw. Add shift flags to STR/LDR. Add EatInstruction to ArmJit.
2013-03-06 02:11:36 +10:00
Sacha
4641cf376f
Armjit: Implement CLZ instruction. Disable reg shifts for now (breaks Wipeout Pure).
2013-03-05 14:16:35 +10:00
Sacha
10ad797c6d
Armjit stubs.
...
Add a double encoding for VCVT. Implement integer divide (but not working yet). Stubs for msub/msubu. Don't detect vfpv3 on Symbian.
2013-03-05 13:16:08 +10:00
Sacha
1089a31a45
Armjit: add reverse bit instruction.
2013-03-05 02:58:51 +10:00
Sacha
0fc6b60874
Fix Lit Pools for cases where offset goes out of range. For example: Zero no Kiseki has a block that is 7K large.
2013-03-04 14:36:23 +10:00
Sacha
9633239f18
Update for lit pools. Works in some games now thanks to [Unknown].
2013-03-04 14:29:17 +10:00
Sacha
bdfe24a86b
ARMv6 literal pool method.
2013-03-04 14:26:45 +10:00
Henrik Rydgard
7dc75d87b5
armjit: Re-enable ext/ins, safer implementation. arm7 path disabled for now.
2013-03-03 23:17:21 +01:00
Henrik Rydgard
1e3a00ee9d
armjit: implement vzero, vone. Use vmla for dot product.
2013-03-03 20:56:22 +01:00
Henrik Rydgard
650c02c3a5
Some more armjit work (ext, ins) and VFPU prefix clamps (not enabled)
2013-03-03 17:36:22 +01:00
Henrik Rydgard
b781c8deb5
Delete unused ARM emitter function.
2013-03-03 10:55:49 +01:00
Henrik Rydgard
f5581caccc
Some work on ARMJIT FPU compares, still not quite working.
2013-03-02 19:09:24 +01:00
Sacha
6c23e1b6d5
Use flags instead of bools for VCVT. Fix up some spacing. Only Android has ArmEmitterTest.
2013-03-02 11:34:03 +10:00
Henrik Rydgard
253396666c
Merge branch 'armjit-fpu' of github.com:hrydgard/ppsspp into armjit-fpu
2013-03-01 18:26:36 +01:00
Sacha
26ebdb4f11
Improve VCMP instruction with option for E.
...
Add comment to le JIT about how the VCMP crashes on ARM11, with commented code.
2013-03-01 15:41:45 +10:00
Sacha
6d3c89e354
Fix up VCVT function to recognise the difference in encoding for to_int and to_float. There is no 'round to zero' option for to_float. cvt.s.w and cvt.w.s should be unsigned.
2013-03-01 13:45:22 +10:00
Henrik Rydgard
516ca8a0c4
Merge branch 'master' into armjit-fpu
...
Conflicts:
Core/MIPS/ARM/ArmJit.h
Core/MIPS/x86/CompVFPU.cpp
GPU/GLES/Framebuffer.cpp
2013-02-28 23:56:28 +01:00
Sacha
35a57be115
ARMJIT: Implement MADD, MADDU. Do bitrev if it takes an immediate. Fix a bug where MULTU was being passed through to the interpreter.
2013-02-28 23:45:46 +01:00
Sacha
059abc0d69
ARMJIT: Add floor, ceil, round. Introducing a rounding mode for VCVT.
...
The cvt and trunc are tested heavily. Floor, ceil, round aren't tested as much as there are very few games that use it.
2013-03-01 01:10:07 +10:00
Sacha
61f5fb35bd
ARMJIT: Implement cvt.w.s, cvt.s.w and trunc.w.s that are used heavily in Dragonball.
...
May need to keep note of FCR to get correct rounding mode? Interpreter doesn't do this either.
2013-02-28 19:46:07 +10:00
Sacha
fe90d5cd06
Add VNEG and VABS implementations and use in FPU2op.
2013-02-27 23:33:59 +10:00
Sacha
ff14815fda
ARMJIT: Combine to one instruction for load/stores.
2013-02-27 19:45:01 +10:00
Sacha
2c59de95e9
JIT the signed load/store variants too
2013-02-27 18:05:45 +10:00
Sacha
fe8b80c12e
ARM JIT: Add and simplify some half-word load/store instructions.
2013-02-27 17:09:47 +10:00
Sacha
8e88cc37d2
Fix crash on Return to Menu in Symbian.
...
We don't want to free the executable code (actually a Chunk+Heap) using same method we use to free memory pages (delete).
This would be the same situation on jailbroken iOS and WP.
Now the JIT code is always allocated and never freed on Symbian.
2013-02-21 15:59:02 +10:00
Henrik Rydgard
5a09885a59
Port over much of unknown's vfpu jit work to arm. Untested.
2013-02-20 00:04:21 +01:00
Henrik Rydgard
b115cd7320
VMOV gpr->fpu, fixes
2013-02-12 18:53:04 +01:00
Henrik Rydgard
4bdb2045a7
Armjit-FPU: Fix lots of bugs, impl some stuff. Still nothing working.
2013-02-11 23:10:11 +01:00
Henrik Rydgard
f75d14d3b5
ARM FPU jit work
2013-02-10 15:53:56 +01:00
Henrik Rydgard
c1338259bc
Merge latest arm emitters from Sonic1's work.
2013-02-07 20:54:01 +01:00
Henrik Rydgard
d8f4e27926
Rename ARMABI_MOVI2R to MOVI2R
2013-01-31 23:41:05 +01:00
Unknown W. Brackets
d279eb8932
Fix a bad assertion.
2013-01-31 00:02:51 -08:00
Henrik Rydgard
1b4394ac5e
ARM jit: jit integer multiplies. ARM is so nice, very clean.
2013-01-30 01:06:14 +01:00
Henrik Rydgård
a85beb64f1
Buildfixes Mac
2013-01-15 22:49:27 +01:00
Henrik Rydgard
e34288070c
Don't flush the icache from the start, also don't sleep. May help JIT slowdowns.
2013-01-15 20:42:45 +01:00
Henrik Rydgard
66ee2e2933
Remove ArmABI.cpp/h, didn't need that stuff.
2013-01-14 22:19:18 +01:00
Henrik Rydgard
8ce9ce10bf
Merge branch 'master' into armjit
...
Conflicts:
Common/ArmEmitter.h
Common/CPUDetect.cpp
2013-01-14 20:46:17 +01:00
Sacha
dde656ddc6
Improve Qt build. Fix for pandora build. Only show controls overlay by default for mobile platforms (Qt).
2013-01-15 01:13:53 +10:00
Sacha
d2e370459e
Platform hack wasn't needed. Pandora has kill in signal.h
2013-01-15 01:01:19 +10:00
Henrik Rydgard
7484ddfbbc
Merge branch 'master' into armjit
...
Conflicts:
Common/ArmEmitter.h
2013-01-13 12:14:32 +01:00
Sacha
4d67f9af28
Pandora port. Thanks to ptitSeb.
2013-01-13 01:15:46 +10:00
Henrik Rydgard
36eaabd917
Some constant propagation. Comment out sltiu which causes problems aiming in puzbob (???)
2013-01-11 23:42:58 +01:00
Henrik Rydgard
51fd025064
Add ARMv6 fallback to jit (it doesn't have MOVW/MOVT)
2013-01-11 15:20:06 +01:00
Henrik Rydgard
71652874c2
Fix jit bugs related to the dirty flag, and more:
...
* Tweak block logging
* Faster calls-to-interpreter.
2013-01-10 00:03:51 +01:00
Henrik Rydgard
dafe2c389c
More regalloc fixing and tweaks. Still not working the way I want it.
2013-01-09 13:38:44 +01:00
Henrik Rydgard
17210c5364
Generate immediates as rot+shift when possible.
2013-01-09 11:52:49 +01:00
Henrik Rydgard
dafc9f62df
Regcache fixes, etc. thing still don't work when I turn on addiu :(
2013-01-09 11:20:48 +01:00
Henrik Rydgard
76481a300c
Icache must be invalidated. Jit now starts to run, but there's no cube in cube.elf!
2013-01-08 23:52:11 +01:00