009148d401
Merge pull request #2701 from mickdermack/pr-jitnull
...
Prevent nullptr dereference on a crash with no JIT present
2015-07-05 16:37:29 +02:00
2b2af12466
Prevent nullptr dereference on a crash with no JIT present
...
JitInterface::HandleFault would dereference jit which is NULL, causing a stack overflow through infinite exception recursion.
2015-07-05 14:24:51 +02:00
ce10525056
Eliminate branch in GenFres
2015-07-05 11:18:59 +02:00
afea72edfe
Revert "Interpreter: assign directly instead via variables"
...
This reverts commit 174ada3a62
.
2015-07-03 21:10:18 +02:00
3fc070c4fc
Merge pull request #2680 from degasus/idle
...
Interpreter: Idle skipping support
2015-07-03 19:52:05 +02:00
245a639e2c
JitArm64: Partially fallback on bcctrx
...
No need to assert, fallbacks on branching instructions now works fine.
2015-07-01 17:58:17 +02:00
0054c4e0d9
JitArm64: Drop icbi instruction
...
It was already just a fallback + exit. Now we emit the exit for all affected fallbacks.
2015-07-01 17:58:17 +02:00
dc83c8912f
JitArm64: Support branching fallbacks
2015-07-01 17:58:17 +02:00
b174f99b17
Merge pull request #2662 from Tilka/interpreter
...
Interpreter: turn SNaNs into QNaNs
2015-07-01 01:09:43 -05:00
2cddaa09f0
[AArch64] Implement rlwimix.
2015-06-30 19:49:10 -05:00
717d4bfbcc
Interpreter: Idle skipping support
2015-06-30 20:11:23 +02:00
daa205990f
Use emplace() instead of insert() where applicable for maps.
2015-06-28 19:52:40 -04:00
2711d5201b
Interpreter: turn SNaNs into QNaNs
2015-06-26 09:29:18 +02:00
174ada3a62
Interpreter: assign directly instead via variables
2015-06-26 08:16:34 +02:00
b2c21e800a
Interpreter: drop unused macros
2015-06-26 08:16:34 +02:00
ca36ff0551
Interpreter: consolidate fdiv/fdivs/ps_div
2015-06-26 08:07:46 +02:00
63a2180c1f
[AArch64] Implement slwx in the recompiler.
...
I streamed this implementation earlier today to get people to have a feel for implementing instructions in the AArch64 recompiler.
This one was a fairly simple one to implement.
2015-06-26 00:51:06 -05:00
2bd11469a5
Jit64: fix pre-SSE4.1 fallback of ps_sum1
2015-06-24 16:48:26 +02:00
6ca6896b6e
JitRegCache: Get rid of an unnecessary cast
2015-06-19 18:10:56 -04:00
46cf44bcec
PowerPC: Fix GDBStub build
2015-06-16 00:10:28 -07:00
87b45de634
Merge pull request #2606 from Sonicadvance1/aarch64_optimize_psq_st
...
[AArch64] Optimize paired quantized stores.
2015-06-14 19:03:50 -05:00
96058c5de1
[AArch64] Reenable psq_l.
...
The bug was due to issues in the FPR cache.
2015-06-14 04:11:59 -05:00
282282aafc
[AArch64] Fix a few bugs in the FPR cache.
2015-06-14 04:11:26 -05:00
5ea66369f8
[AArch64] Optimize paired quantized stores.
...
Uses {S,U}QXTN to saturate the value to the maximum sizes instead of manually clamping using FMIX + FMAX.
2015-06-13 23:16:56 -05:00
f32cede086
Revert "x64: build a Position-Independent Executable (PIE)"
2015-06-14 16:06:26 +12:00
bcc8c78e4a
Merge pull request #2582 from Sonicadvance1/aarch64_fix_thp_videos
...
[WIP] [AArch64] Clamp quantized store ranges.
2015-06-12 18:07:24 -05:00
c375111076
Options: merge SCoreStartupParameter into SConfig
2015-06-12 19:07:45 +02:00
d329147871
Interpreter: use std::isnan(x) instead of x != x
2015-06-10 14:31:08 +02:00
c7544719e2
Interpreter: optimize NaN checks
...
NaNs always propagate, so we can get away with only checking for NaN
inputs in the rare case that the result is NaN (as already done in
Jit64::HandleNaNs()).
2015-06-10 14:23:43 +02:00
113c2dcd74
[AArch64] Clamp quantized store ranges.
...
Fixes block dots in THP videos.
Nintendo's THP video uses paired U8 stores to write their THP videos after decoding with floating point operations.
Paired stores clamp the range to the minimum and maximum values(0 - 255 in this case).
In some instances the resulting float will be larger than what a U8 can fit(Typically white) and results in black dots due to how AArch64 handles
quantizing.
2015-06-09 18:11:27 -05:00
aec38466d9
Jit64: optionally accurate NaNs
...
When AccurateNaNs is enabled, NaNs are handled accurately by checking
for NaN results and choosing the correct input NaN or replacing x86's
generated -QNaN with +QNaN.
2015-06-08 11:14:52 +02:00
59e2225f7d
Remove ARMv7 support.
2015-06-07 22:44:13 -05:00
e8ae0f8c3c
Merge pull request #2562 from Sonicadvance1/aarch64_optimize_gatherpipe
...
[AArch64] Optimize gatherpipe stores
2015-06-07 23:23:11 -04:00
8c2e5e2860
Merge pull request #2555 from Sonicadvance1/aarch64_rebase_ppsspp_emitter
...
[AArch64] Upstream PPSSPP's emitter changes.
2015-06-07 23:23:04 -04:00
444d112df5
Merge pull request #2563 from Sonicadvance1/aarch64_disable_psql
...
[AArch64] Disable psq_l again.
2015-06-07 23:12:50 -04:00
d29fd84249
[AArch64] Disable psq_l again.
...
Still causing issues with games.
Disable it again until I can spend enough time debugging it.
2015-06-07 19:55:27 -05:00
46c3a11d01
[AArch64] Optimize gatherpipe stores
...
This can be even more optimized in the future when the register cache supports constant caching.
2015-06-07 19:53:40 -05:00
05b72c5d31
[AArch64] Upstream PPSSPP's emitter changes.
...
Requires a minor change to in the JIT to make sure everything still works.
2015-06-07 19:50:21 -05:00
3513dd454f
Revert "Jit64: add FMA4 support to fmaddXX"
...
This reverts commit 794a311b11
.
2015-06-07 13:03:16 +02:00
d3e47dfcf5
Merge pull request #2496 from Tilka/fma4
...
Jit64: add FMA4 support to fmaddXX
2015-06-06 17:31:55 +02:00
7b9565c4e6
[AArch64] Implement lmw/stmw.
2015-06-04 23:54:50 -05:00
fe77505d4d
Jit: Make IsInCodeSpace() const
2015-06-04 20:52:53 -04:00
d9e1bf139f
JitArm64_RegCache: Make some functions const
2015-06-04 20:40:36 -04:00
6f3598eee4
PPCAnalyst: Remove extra whitespace from CodeBuffer
2015-06-04 19:13:29 -04:00
293c3bae6f
PPCAnalyst: Mark some functions as const
...
Also removes the redundant inline specifier, as functions defined in a class/struct definition are inline by default.
2015-06-04 19:11:38 -04:00
0c23283049
Merge pull request #2522 from lioncash/ref
...
Core: Pass several parameters by const reference
2015-06-04 16:15:11 -04:00
e37b643096
Merge pull request #2521 from lioncash/unused
...
Interpreter: Remove unused function prototype
2015-06-04 14:32:31 -04:00
d9b51f74be
Core: Pass several parameters by const reference
2015-06-04 14:19:25 -04:00
bc0e61cb7c
Interpreter: Remove unused function prototype
2015-06-04 13:53:53 -04:00
030d467d62
Use PanicAlert instead of PanicAlertT when appropriate
...
It means less work for the translators... But I'm not too sure
about this, because most of these have already been translated.
2015-06-04 13:25:17 +02:00