Commit Graph

695 Commits

Author SHA1 Message Date
Unknown W. Brackets
009c3ee3f7 vertexjit: Save S16-S31 registers in ARM. 2014-03-23 16:26:13 -07:00
Unknown W. Brackets
f74b765ff3 Fix VLDM/VSTM encoding for D/Q regs.
Now it is actually using ASIMD/NEON.
2014-03-23 16:26:13 -07:00
Unknown W. Brackets
ff2d5bb17e Add a float->GP reg, fix VDUP for I_16. 2014-03-23 16:25:56 -07:00
Unknown W. Brackets
8056440ba1 Implement NEON register VMOVs. 2014-03-23 16:25:52 -07:00
Unknown W. Brackets
2b586b2a7a Support other constant VMOVs on NEON.
Float is especially useful.
2014-03-23 16:12:51 -07:00
Unknown W. Brackets
3e1cd5c161 Add a NEON VMOV imm encoding to the emitter. 2014-03-23 16:12:46 -07:00
Unknown W. Brackets
06db03ac9e Add some asserts to VLDM/VSTM. 2014-03-22 16:12:35 -07:00
Unknown W. Brackets
60bbf4af3b Fix VLD1/VST1 n=4. 2014-03-22 16:12:08 -07:00
Unknown W. Brackets
f3d38ee269 Fix VMOV for Dregs and VSHL reg order. 2014-03-22 16:12:00 -07:00
Unknown W. Brackets
0da9c1851c vertexjit: Add VQMOV(U)N and fix VMOVN size.
It will be too confusing if it's specified as the destination, unlike
VMOVL.  Plus the assembler syntax uses the source size.
2014-03-22 16:11:36 -07:00
Unknown W. Brackets
632eec38e8 vertexjit: Use SSE4.1 where available on x86.
Just because we can.
2014-03-22 16:11:16 -07:00
Unknown W. Brackets
162f229294 vertexjit: Support the color morphs on x86. 2014-03-22 15:56:29 -07:00
Henrik Rydgård
8dfadf7b8e ArmEmitter: Add VMOV_neon and a Size parameter to VFMA for consistency. 2014-03-22 16:31:16 +01:00
Unknown W. Brackets
e783627947 armjit: Use our I2R funcs on reg/reg math too.
When one is a known immediate.  This should catch more cases, like:

ori v0, $0, 0xFFFF
and v1, v1, v0
2014-03-14 19:15:43 -07:00
Unknown W. Brackets
836787d19a Optimize ANDI2R() to use UBFX if possible.
This way, & 0x7FF or & 0xFFFF etc. are all fast when on ARMv7.
2014-03-14 19:15:42 -07:00
Unknown W. Brackets
3a07924ad9 Add Try arm emitter I2R funcs.
This way we can use them without giving up the regcache's immediate
optimizations.
2014-03-14 19:15:42 -07:00
Unknown W. Brackets
48fa22b7cf B/BL were swapped in the arm emitter.
Oops...
2014-03-14 19:15:41 -07:00
Unknown W. Brackets
76305130ee Add a couple missing (unused) ARM instructions. 2014-03-14 19:15:39 -07:00
Henrik Rydgard
ab9cd99d0f Major ARM disassembler improvements, will make debugging the JIT easier 2014-03-12 18:09:28 +01:00
Henrik Rydgard
adadf11890 An attempt to combine FPU regcache writebacks with VSTMIA. Disabled due to bugs. 2014-03-11 11:03:51 +01:00
Henrik Rydgard
2eb6a4e2f2 Fix a warning, rename some parameters, etc. 2014-03-08 10:40:43 +01:00
Sacha
ad31cd1b7c Clean up ArmEmitter (cross-merge from Dolphin, minus the bad bits) 2014-03-07 15:47:34 +10:00
Sacha
30a6a5d10f ARMJIT: Implement VLDM/VSTM load/store combinations and use in armjit. Also add them to disassembler. 2014-03-07 02:56:34 +10:00
Henrik Rydgård
374e12afc3 Merge pull request #5590 from unknownbrackets/xbox
Merge more parts of #4716
2014-03-03 13:37:21 +07:00
Unknown W. Brackets
ca938bf353 Cut down on locking in DEBUG_LOG.
Reduces GenericLog() from 13.8% to 1.5% in Where Is My Heart?, will
probably help other games to a lesser extent.
2014-03-02 22:03:02 -08:00
Ced2911
418d2ac8ce [xbox] 360 support for common 2014-03-02 12:15:10 -08:00
Ced2911
3be063d28a [Xbox] Use intrinsics swap 2014-03-02 12:02:51 -08:00
Ced2911
93f08b4035 [Jit] add subfic 2014-03-02 11:45:48 -08:00
Ced2911
cd283089aa [Jit] Mov2ir optimisation 2014-03-02 11:45:27 -08:00
Ced2911
38a59cca95 [Jit] Fixes BNE 2014-03-02 11:44:31 -08:00
Ced2911
2ac5d38b90 [Jit] add more instruction 2014-03-02 11:43:58 -08:00
Ced2911
09210a2ce9 [jit] round fpu 2014-03-02 11:42:18 -08:00
Unknown W. Brackets
d3bead638f Add ppcEmitter.cpp/h to the MSVC project.
So that it's searchable/etc.
2014-03-02 11:41:22 -08:00
Ced2911
08595f55a6 [jit] save fpr, less crashes ? 2014-03-02 11:40:52 -08:00
Ced2911
1e1a2fec8b [Common] add unsigned long 2014-03-02 11:18:42 -08:00
Ced2911
47be01e8b5 [Xbox] Missings files 2014-03-02 11:16:56 -08:00
Unknown W. Brackets
eb386603fa Oops, still had an unaligned stack in some thunks. 2014-02-23 16:56:27 -08:00
Sacha
6b8ab2e044 Fix keyboard on Blackberry. 2014-02-19 22:33:28 +10:00
kaienfr
9b0994e8a6 fix iOS7 crash 2014-02-18 15:53:48 +01:00
Henrik Rydgård
8da651b6c1 Merge pull request #5479 from sum2012/log
Enable produce DEBUG_LOG rather than INFO_LOG in Windows who don't need install Visual Studio Express
2014-02-18 00:36:22 +01:00
Henrik Rydgård
b894bd9b27 Merge pull request #5489 from unknownbrackets/jit-minor
Fix stack overflow on x64 with memchecks, darn it
2014-02-17 07:23:45 +01:00
Unknown W. Brackets
60515bbcd9 Properly allow for Windows' "home space" on x64.
Fixes #5484.
2014-02-16 21:06:08 -08:00
Unknown W. Brackets
f2ba0f136d Fix stack overflow on x64 with memchecks, darn it. 2014-02-16 19:18:08 -08:00
sum2012
de78674d62 Set default DEBUG when produce a debug build 2014-02-16 12:09:59 +08:00
sum2012
d96fc0858c Enable produce DEBUG_LOG rather tha INFO_LOG without install Visual studio express in windows
Default is INFO_LOG
More people can post DEBUG_LOG.
2014-02-16 12:04:31 +08:00
Henrik Rydgard
d49cffe3f5 Buildfix 2014-02-15 20:14:40 +01:00
chinhodado
f02ea25ea6 fix the "No disk" dialog when starting up ppsspp 2014-02-15 14:01:47 -05:00
Unknown W. Brackets
d7233159aa Store thunk regs on the stack, not a global.
This may even be more near active memory anyway, but it reduces the "64
bit address out of range" RIP issues a bit too.  It's currently impossible
to enable appverif memory checks and jit in 64-bit...

Avoided the 32-bit path because I'm less sure about alignment.
2014-02-14 22:59:57 -08:00
Unknown W. Brackets
cd4cd77938 Clean up defines in MSVC project files.
This way they're all basically the same.  A lot of cases where
debug/release/etc. where inconsistent...

Also, define USING_WIN_UI.
2014-02-08 16:38:44 -08:00
Unknown W. Brackets
d2108a962e Switch from USING_GLES2 to MOBILE_DEVICE.
Still using USING_GLES2 for, well, GLES2.  But for things that are really
about mobile, we need a new define.  Devices are coming that don't use
GLES2.
2014-02-08 16:37:58 -08:00