Henrik Rydgård
0e57cf30c7
ARM64: Disable the JIT implementation of the vh2f instruction, not accurate
2024-04-29 11:32:54 +02:00
Unknown W. Brackets
ded18ff237
arm64jit: Avoid fused multiplies in vcrsp.t.
...
With this change, issues in Harvest Moon with teleporting animals seem to
disappear. It was causing some differences in signs of zeros in results,
and slightly different result values.
2023-09-26 20:09:02 -07:00
Unknown W. Brackets
74e5e43fdc
jit: Skip known prefix writes.
...
If we already know what's in memory and it's default, we can skip
overwriting with default values. This is common, actually.
2023-08-22 23:26:31 -07:00
Unknown W. Brackets
5b1235537f
Debugger: Make disasm more thread safe.
2023-04-29 09:56:17 -07:00
Henrik Rydgård
1bbaba4103
Fix some NEON code that had bad compile-time checks (and some didn't compile)
2022-04-15 00:54:44 +02:00
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