Henrik Rydgård
fdacf751ce
NEON/SSE-optimize some matrix multiplications used by software transform
...
Will hopefully reclaim any potential speed loss from the recent
refactor.
2021-10-31 13:36:34 +01:00
Unknown W. Brackets
bc16a55028
jit: Count delay slot cycles separately.
...
This makes it easier to count cycles per instruction, instead of ignoring
the delay slot's instruction for cycle count.
2021-04-12 07:04:22 -07:00
Unknown W. Brackets
5d60fa0d0d
Common: Maintain C++11 support in sign extend.
2021-01-31 08:44:02 -08:00
Unknown W. Brackets
1b00da2f3a
Common: Sign extend w/func not chained casts.
...
Should be clearer to read and easier to get right.
2021-01-31 01:25:52 -08:00
Henrik Rydgård
1b596ef82b
Fix/workaround ARM64 with the MASKED_PSP_MEMORY build flag.
2020-11-03 00:20:16 +01:00
Henrik Rydgård
9e41fafd0d
Move math and some file and data conversion files out from native to Common.
...
Buildfixing
Move some file util files
Buildfix
Move KeyMap.cpp/h to Core where they belong better.
libretro buildfix attempt
Move ini_file
More buildfixes
2020-10-04 09:12:46 +02:00
Henrik Rydgård
c5e0b799d9
Remove category from _assert_msg_ functions. We don't filter these by category anyway.
...
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Henrik Rydgård
f65a71d6d8
Compat: Option to use accurate dotprod for VMMUL.
...
Eliminates Tekken 6 leg shaking.
2019-08-05 11:44:52 -07:00
Henrik Rydgård
f49999efca
Revert "ARM64 vmmul experiment: Disable if S and T matrices overlap."
...
This reverts commit c4d26dcb10
.
2019-06-06 09:34:23 +02:00
Henrik Rydgård
649b7a5671
ARM64 vmmov experiment: Reduce precision by using FMUL+FADD instead of FMADD. May help #12082 and thus also #11179 and #9843 .
2019-06-05 00:02:32 +02:00
Henrik Rydgård
c4d26dcb10
ARM64 vmmul experiment: Disable if S and T matrices overlap.
...
If this fixes anything in #12082 , we have a regalloc bug I guess...
2019-06-04 22:24:19 +02:00
Henrik Rydgård
7853c90abb
JIT: Split VFPU_MTX disable options. To help with #9843
2019-06-03 23:28:15 +02:00
Unknown W. Brackets
c773359095
arm64jit: Tweak matrix vfpu overlap detect, etc.
...
Tried making changes to them to guess at issues for #9843 , but didn't find
any. Still, I think these changes are worthwhile, if small.
2019-06-02 22:10:20 -07:00
M4xw
b9352354c9
Masked PSP Memory support for the AArch64 Dynarec
2019-04-15 12:07:57 +02:00
Unknown W. Brackets
a5214d0b1a
Jit: Ignore high bit in vmfvc/vmtvc.
2019-03-31 17:09:55 -07:00
Unknown W. Brackets
5749ae09d0
interp: Correct vmfvc register behavior.
...
The target and source registers were completely wrong.
2019-03-31 13:41:48 -07:00
Unknown W. Brackets
d5273f589a
interp: Mask value in vpfxd.
...
The actual register ends up with only the lower 12 bits, which makes sense
since those are the only ones that do anything.
2019-03-31 08:23:36 -07:00
Unknown W. Brackets
6178a1fb33
Jit: Correct vocp prefix handling.
...
See #5549 . Matches tests for various prefix settings.
2019-02-23 09:15:26 -08:00
Unknown W. Brackets
d7f40afd9d
interp: Correct vocp prefix handling.
...
Also, guess that vsocp also applies prefixes. See #5549 .
2019-02-21 19:02:16 -08:00
Unknown W. Brackets
419c1fbd73
Jit: Respect flags for jit types and features.
...
Left some free space for more.
2019-02-03 14:57:08 -08:00
Unknown W. Brackets
eb4b59b530
arm64jit: Enable breakpoints.
...
Memory breakpoints not yet really tested.
2018-06-06 17:31:56 -07:00
Unknown W. Brackets
5177db0f91
arm64jit: Remove unnecessary address masking.
...
We use views like on x86_64, so this isn't needed.
2017-12-28 23:58:30 -08:00
Unknown W. Brackets
6fd17fb026
arm64jit: Use reg sum for LDR/STR.
...
Skips an add, and should be less ops anyway.
2017-12-28 10:19:55 -08:00
Unknown W. Brackets
7c2fc90def
arm64jit: Avoid MOVK elsewhere without pointerify.
2017-12-27 17:57:19 -08:00
Henrik Rydgård
87942dd741
ARM64 JIT: Fix additional VFPU prefix problems
2017-11-24 14:05:19 +01:00
Henrik Rydgård
2cceba41bc
Fix JIT bug in ARM64. Fixes #10183
2017-11-24 13:57:27 +01:00
Henrik Rydgård
22e65ba80d
Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11
2017-08-31 01:14:51 +02:00
Henrik Rydgård
ed776d8c0b
ARM: Delete obsolete comments and check
2017-08-18 13:48:11 +02:00
Florent Castelli
8c3552de74
cmake: Detect features at compile time
...
Instead of relying on manually passed down flags from CMake,
we now have ppsspp_config.h file to create the platform defines for us.
This improves support for multiplatform builds (such as iOS).
2016-10-19 12:31:19 +02:00
Henrik Rydgard
1851458628
Bugfixes
2016-05-12 20:28:59 +02:00
Unknown W. Brackets
0fc774927f
jit: Minor cleanups.
2016-01-10 12:28:29 -08:00
Unknown W. Brackets
3301a347b3
arm64: Dumb typo, oops.
2015-09-12 11:56:33 -07:00
Unknown W. Brackets
dd548ba12c
arm64: Check for unordered in vmin/vmax.
2015-09-08 20:07:10 -07:00
Henrik Rydgard
9fe382ad18
ARM64: Shortcut moves between gpr and vfpu when not mapped
2015-07-11 23:53:06 +02:00
Henrik Rydgård
1ba2b1cfae
Merge pull request #7855 from hrydgard/static-alloc
...
ARM64 jit: Statically allocate a few registers, including SP
2015-07-11 18:13:47 +02:00
Henrik Rydgard
2e937b2d10
use the DiscardR function. Remove an old TODO
2015-07-11 17:17:54 +02:00
Henrik Rydgard
d1bbc1d3c0
More regcache fixes. ML_IMM works now although there is another stability issue somewhere.
2015-07-11 16:59:13 +02:00
Henrik Rydgard
698ef82452
ARM64: Fix vrot
2015-07-11 16:56:26 +02:00
Henrik Rydgard
9937b41461
ARM64: Fix vi2uc and vi2us and enable them.
2015-07-11 16:46:11 +02:00
Henrik Rydgard
35c65973c1
ARM64 jit: implement vuc2i, vc2i, vus2i, vs2i instructions
2015-07-11 13:25:58 +02:00
Henrik Rydgard
4a7ee6d6cd
ARM64 jit: Implement vi2uc, vi2c, vi2us, vi2s instructions
2015-07-11 12:37:23 +02:00
Henrik Rydgard
a3b728dd1b
ARM64 jit: Minor optimization of lv.q and sv.q
2015-07-08 11:59:48 +02:00
Unknown W. Brackets
66adc4e695
jit: Normalize CONDITIONAL_DISABLE formatting.
2015-07-02 20:31:37 -07:00
Unknown W. Brackets
fbd4db0fc4
arm64: Add a safemem path.
...
This is probably not optimal but at least it works.
2015-06-27 00:22:04 -07:00
Henrik Rydgård
81dec36da8
Use an accessor to read the compilerPC.
...
In the IR it will be read from the block.
2015-04-11 01:14:37 -07:00
Henrik Rydgard
44286a2b37
ARM64: Accurate float->int conversion with rounding mode.
2015-04-06 18:13:34 +02:00
Henrik Rydgard
acf08eefa8
ARM64: Fix FCVTL, use it in v2hf
2015-04-06 18:13:33 +02:00
Henrik Rydgard
8eedcc7fb0
ARM64: Speedup fpu/vfpu load/stores too using "pointerification". Actually noticeable gain.
2015-04-06 18:13:32 +02:00
Henrik Rydgard
ad648baa9c
ARM64 regcache: Add support to "pointerify" registers. Use in load/store to cut down instructions.
2015-04-06 18:13:32 +02:00
Henrik Rydgard
2780eef595
ARM64: Another couple of VFPU ops
2015-04-06 18:13:31 +02:00