715d5ae8a7
Merge branch 'JitArmIL'
...
This implements a partial JITIL based off of the JIT64IL. It's enough to run most games, albiet at a slow speed.
Implementing instructions for this IL is really simple since it basically is just enabling based on what is already in JIT64IL, and then enabling each individual IL instruction.
2013-10-09 23:16:07 +00:00
f5e1b4659a
[ARM] Clean up LSL, LSR, and ASR emitters, we don't need a separate instruction for each to support registers.
2013-10-09 22:57:31 +00:00
7dd8deecec
[ARM] Update the ArmEmitter with a bunch of NEON emitters. This adds around 47 instruction emitters if I counted correctly. None well tested at this point. On going to add all the NEON emitters.
2013-10-08 10:17:01 +00:00
eb6ed3e42a
[ARM] Change all floating point loadstores to fastmem implementations except lfs since all floating point accesses tend to be to RAM space. lfs tends to get used to write quickly to the gatherpipe and other places, look at the JIT64 implementation to see how to make it quicker.
2013-09-24 05:41:58 +00:00
6fc2117503
[ARM] Enable VMOV to move from double VFP reg to two ARM registers.
2013-09-18 17:21:22 -05:00
06062d5744
[ARM] Fix VSQRT/VCMP/VCMPE/VCMPE0/VCMP0 emitters when using the high 16 double registers.
2013-09-17 22:08:23 +00:00
7d410ec95c
[ARM] VRSQRTE NEON emitter.
2013-09-16 12:58:20 +00:00
beb41a8f56
[ARM] Add NEON VORR and fix encoding on NEON VEOR. Remove VMRS_APSR because it is the same as VMRS(PC)
2013-09-16 07:49:16 +00:00
81d7986202
[ARM] Add LSRS emitters, and ASR{S} register emitters. Fixes encoding in LSR emitter.
2013-09-14 09:06:49 +00:00
c1aa80cefa
[ARM] Add support for double registers in VMOV(immediate). Add VEOR and VSTR1. Fix some minor encoding bugs.
2013-09-08 21:56:17 +00:00
e6af4970d8
[ARM] Use NEON for loading the values from psq_l, gives a minimal performance increase. This change also begins a new NEONXEmitter for having cleaner support for NEON.
2013-09-08 07:07:15 +00:00
35b8dfbe0c
A few more warnings.
2013-09-01 23:33:35 -04:00
710ac04084
[ARM] Fix the VMOV encoding to encode the destination VFP register correctly.
2013-08-30 05:13:43 -05:00
2c1337eb5f
[ARM] Support both hardfp and softfp with lfs and lfd. Fixes these two instructions on Android since it uses softfp calling conventions. This adds a emitter for moving from two ARM Registers to a double VFP reg.
2013-08-30 09:38:11 +00:00
9bded1382c
[ARM] Add ASR/ASRS and UMULLS emitters.
2013-08-19 06:26:34 +00:00
ca7fb9f38e
[ARM] Fix VCVT F32<->F64 encoding.
2013-08-03 00:48:44 +00:00
ab0f42636d
[ARM] Push new ArmEmitter changes from PPSSPP. Mostly Fixes a few VFP/NEON instruction encodings.
2013-08-02 23:18:44 +00:00
f4b414a9c1
Fix encoding issue with VADD(Integer)
2013-07-16 22:18:15 -05:00
7d6b36bf73
Fix most ARM warnings
2013-07-05 19:56:15 -05:00
d68955c539
Clang uses __clear_cache instead of __builtin___clear_cache like GCC
2013-04-18 22:50:58 -05:00
6d9c0c8863
Merge in latest changes to ArmEmitter from the PPSSPP crew. Should fix the dumb random crashes I had from IOS icache clearing not initializing a value.
2013-04-12 11:59:19 -05:00
edd9d0e0ef
Clean up more space/tab mismatches in AudioCommon, Common, and VideoCommon.
...
Not planning to touch Core since it's the most actively changed part of the project.
2013-03-19 21:51:12 -04:00
7d74293170
Fix a typo in ArmEmitter noticed by LionCash.
2013-03-18 08:45:33 -05:00
9ae9910490
Finish up VFP cleanup. A few more instructions are left for VFP, and a bunch of NEON ones if it will ever be used.
2013-03-18 00:10:56 +00:00
e6c6053fcc
Beginning of VFP cleanup. Will finish when I have the hardware in front of me.
2013-03-14 10:45:26 -05:00
c93f7760ce
Really clean up all the emitter loadstores on ARM. If a ARM device supports VFPv4, then it supports IDIVA, so handle that in CPUDetect.
2013-03-14 01:50:38 +00:00
202e2fa5c8
Add a new WriteNewStoreOp emitter function for beginning of rewrite of the Arm Emitter LoadStores. Will finish when I have the hardware in front of me to test on.
2013-03-13 14:08:54 -05:00
8406d9972d
Fix JIT from rebasing on PPSSPP ArmEmitter.
2013-03-12 02:35:29 +00:00
b94b4a9e8f
Rebase ArmEmitter on PPSSPP's base. The loadstores are making my heart cry at this point.
2013-03-11 13:57:55 -05:00
be217bf096
Add a comment about Qualcomm in load stores.
2013-03-07 20:28:18 -05:00
d6558e1c31
Make the (V)LDR/(V)STR instructions support negative offsets. This fixes a bug where Arm Jit couldn't load the top 33 FPRs. Also makes it so the core can access all GPRs, FPRs, and SPRs in ppcState. This increases VPS 15-20 on SSBM intro movie on ODROIDX
2013-03-06 01:51:59 +00:00
f1d727cf13
Merge latest ArmEmitter changes from ppsspp while we're at it.
2013-02-27 11:53:24 -06:00
8c779bb242
Ah. I blame vim on this typo entirely.
2013-02-27 10:26:32 -06:00
717b976875
ARM Support without GLSL
2013-02-26 13:49:00 -06:00