Henrik Rydgard
165cfe53a3
Quick ins bugfix
2013-03-04 00:06:33 +01: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
1cddc86e05
armjit: Temporarily disable ext/ins as they appear to have broken Persona 3 somehow.
2013-03-03 22:26:20 +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
3c640a0f1e
armjit: seb and seh instructions
2013-03-03 15:29:13 +01:00
Henrik Rydgard
bc15617392
Make un-buffered rendering much smarter, removing flicker.
...
This turns it into a very viable option for many games. You do lose some FX
but it can as a result even be used as a workaround for the massive glow
in Wipeout...
2013-03-03 13:00:21 +01:00
Unknown W. Brackets
ab05149dbf
Add a few more CONDITIONAL_DISABLEs.
2013-03-03 01:44:33 -08:00
Unknown W. Brackets
d647816d10
Add CONDITIONAL_DISABLE to all armjit funcs.
2013-03-03 01:40:55 -08:00
Sacha
f8d7c024e5
Fix for 'sf'
2013-03-03 06:53:39 +10:00
Henrik Rydgård
3ec581b624
Merge pull request #838 from xsacha/master
...
Armjit update
2013-03-02 12:46:46 -08:00
Sacha
2d5783eb7f
ARMJIT: Compare functions are now jitted.
2013-03-03 06:45:21 +10:00
Unknown W. Brackets
a2aa5fe23e
Fix iOS / debug ARM build.
2013-03-02 11:27:11 -08: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
0ca7b2a794
The cvt.s.w has to be signed (as it was before). Also, implement f,sf but untested so it is left commented out.
2013-03-01 16:55:10 +10: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
Henrik Rydgard
28575d4672
Fix the avoidLoad flag in the arm regalloc
2013-02-28 23:45:47 +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
Henrik Rydgård
f311bfba9d
Merge pull request #818 from xsacha/cmp-jit
...
ARMJIT: min, max implementations.
2013-02-28 12:01:07 -08:00
Sacha
d3f7def328
ARMJIT: min, max implementations.
2013-03-01 02:17:39 +10: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
8d4400fba1
ARMJIT: Clean up for load/stores
2013-02-27 22:17:38 +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
Unknown W. Brackets
4e8359bae2
Fix Comp_ShiftType not using ROR.
...
Untested but looks right? Reported by @xsacha.
2013-02-24 22:58:31 -08:00
Unknown W. Brackets
313ffdb495
Add a stub for clz/clo in x86 jit.
2013-02-21 01:25:02 -08:00
Henrik Rydgard
5a09885a59
Port over much of unknown's vfpu jit work to arm. Untested.
2013-02-20 00:04:21 +01:00
Unknown W. Brackets
de7e18982c
Buildfix for ARM, darn.
2013-02-19 08:01:10 -08:00
Unknown W. Brackets
a438791e7c
Initial (very inefficient) vmmov for x86 jit.
...
This makes #464 work (at least LittleBigPlanet), but only in x86 jit.
2013-02-18 23:21:18 -08:00
Unknown W. Brackets
b8e2177591
Jit vzero/vone, which are easy and common (x86.)
2013-02-18 22:15:47 -08:00
Unknown W. Brackets
2dfdf3ffeb
Implement Comp_VV2Op vfpu ops in the x86 jit.
...
Also, some cleanup. No need for this extra boilerplate, simplify...
This makes the Bink video issue slightly better, in jit only.
2013-02-18 20:43:28 -08:00
Henrik Rydgard
e32721c72a
Merge branch 'master' into armjit-fpu
...
Conflicts:
Core/MIPS/MIPSVFPUUtils.cpp
Core/MIPS/x86/CompVFPU.cpp
GPU/GLES/VertexDecoder.cpp
2013-02-19 00:50:33 +01:00
Unknown W. Brackets
9d490a8b50
Proper ARM buildfix.
2013-02-18 08:03:45 -08:00
Unknown W. Brackets
33c1a2b4fa
ARM buildfix.
2013-02-18 01:54:25 -08:00
Unknown W. Brackets
f532951331
Automatically eat prefixes in x86 jit.
...
Simplifies the code and makes it easier to know they're eaten
even for ops not yet jitted.
2013-02-17 17:53:53 -08:00
Sacha
d99c9fb2ff
Fix Symbian JIT + FastMem by using a mapped virtual address RChunk.
2013-02-17 15:23:56 +10:00
Henrik Rydgard
b8abb77eee
More armjit-fpu work - dot product working for example. Add some non working DISABLEd stuff too.
2013-02-16 09:27:48 +01:00
Henrik Rydgard
81589b67e5
Save one instruction on jal, shorten block exits by one instruction (moved to dispatcher).
2013-02-15 23:37:59 +01:00
Henrik Rydgard
fdee111bca
armjit-fpu: Compile VFPU prefix setting
2013-02-15 23:18:59 +01:00
Henrik Rydgard
23cddab1d7
Some mostly disabled armjit VFPU stuff.
2013-02-15 22:38:39 +01:00
Henrik Rydgard
44e4ba8772
Merge branch 'master' into armjit-fpu
2013-02-15 21:42:44 +01:00
Unknown W. Brackets
2b441f1638
Initial implementation of jit vadd/vsub/vdiv/vmul.
2013-02-15 08:35:34 -08:00
Unknown W. Brackets
4eca76e0cc
Check for s/t/d prefix reg changes in jit.
2013-02-14 00:27:09 -08:00