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
|
27116dcb86
|
arm64jit: Avoid flushing when mapping as pointer.
|
2017-12-28 16:04:34 -08:00 |
|
Unknown W. Brackets
|
1b1e2c773b
|
arm64jit: Jit lwl/lwr with proper temp regs.
It's possible rt might overlap with w9/w10, so we really need to allocate
these properly. This locks and spills as necessary.
|
2017-12-28 15:54:03 -08:00 |
|
Unknown W. Brackets
|
970326c9e5
|
arm64jit: Fix and enable imm lwl/lwr.
|
2017-12-28 14:49:55 -08:00 |
|
Unknown W. Brackets
|
1b792c32e1
|
arm64jit: Attempt to reuse imms on sw/etc.
Mostly, this handles the zero case, but it may help in other cases too.
|
2017-12-28 12:32:12 -08:00 |
|
Unknown W. Brackets
|
48fe0168f1
|
x86jit: Fix safemem on WX exclusive.
|
2017-12-28 11:21:45 -08:00 |
|
Unknown W. Brackets
|
8c3b0aa89c
|
jit: Skip unlinking blocks on clear.
Speeds up clear especially when on a WX exclusive platform.
|
2017-12-28 11:12:06 -08:00 |
|
Unknown W. Brackets
|
08e85d0cd4
|
arm64jit: Autodetect pointerify support.
Also, re-enable static alloc without pointerify, it works now.
|
2017-12-28 10:48:55 -08:00 |
|
Unknown W. Brackets
|
2e1d85a55b
|
arm64jit: Allow reg ptr offsets when unaligned.
Since now they support being dirty.
|
2017-12-28 10:45:50 -08:00 |
|
Unknown W. Brackets
|
c4c28282cf
|
arm64jit: Allow ARMREG_AS_PTR to be dirty.
Since we can just add/sub, then it should be valid (as long as we only
offset it when dirty.)
|
2017-12-28 10:40:31 -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
|
092f98d313
|
arm64jit: Fix an integer truncation warning.
|
2017-12-27 19:39:04 -08:00 |
|
Unknown W. Brackets
|
257a4fdd12
|
arm64jit: Reprotect fixed code after icache flush.
|
2017-12-27 19:33:04 -08:00 |
|
Unknown W. Brackets
|
7c2fc90def
|
arm64jit: Avoid MOVK elsewhere without pointerify.
|
2017-12-27 17:57:19 -08:00 |
|
Unknown W. Brackets
|
d82efc4b0b
|
arm64jit: Allow static alloc without pointerify.
|
2017-12-27 17:50:15 -08:00 |
|
Unknown W. Brackets
|
9573a791b4
|
arm64jit: Skip storing spilled but not dirty.
Unless IMM, we don't need to store non-dirty mapped regs.
|
2017-12-27 17:15:18 -08:00 |
|
Unknown W. Brackets
|
3fae092ecb
|
arm64jit: Only adjust pointers if pointerified.
|
2017-12-27 17:02:29 -08:00 |
|
Unknown W. Brackets
|
cccf448ae0
|
arm64jit: Allow disabling pointerification.
For platforms where we can't get base aligned.
|
2017-12-27 17:02:19 -08:00 |
|
Unknown W. Brackets
|
8c2edd432b
|
irjit: Allow continuing from mips break.
Some games currently generate break instructions, and can be played
otherwise. Should be fixed, but let's not hard crash.
|
2017-12-25 10:21:22 -08:00 |
|
Henrik Rydgård
|
c55847a79e
|
Fix typo causing #10408
|
2017-12-14 00:23:07 +01:00 |
|
Henrik Rydgård
|
0207739d76
|
Can't call functions through known-nil pointers, even if they don't touch local data - LLVM's optimizer might have done something stupid.
|
2017-11-30 01:07:03 +01:00 |
|
Henrik Rydgård
|
bb9181b949
|
Fix the prefix problems on ARM 32-bit as well.
|
2017-11-24 17:05:10 +01: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
|
bd8067a631
|
Reduce a ERROR_LOG_REPORT to a warning (vfpu branches in delay slots)
|
2017-11-11 19:39:44 +01:00 |
|
Henrik Rydgård
|
8fe171253d
|
Disable lwl/lwr on ARM64 JIT again. Seems b9b2656e93 broke things, see #10020
|
2017-11-08 12:11:55 +01:00 |
|
twinaphex
|
4855b2d6f1
|
mingw patches
|
2017-08-31 22:15:05 +02: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
|
884aef6603
|
SafeMem: Remove the "far" optimization that saves 3 bytes sometimes but is really dangerous and not worth the complexity.
|
2017-08-30 09:58:30 +02:00 |
|
Henrik Rydgård
|
8d0498303a
|
Fix a PIC compliance bug in the VFPU. Comment other cases properly (for easy searching).
|
2017-08-29 11:45:12 +02:00 |
|
Henrik Rydgård
|
641c5f36f9
|
Merge pull request #9915 from unknownbrackets/marvel-copy
Add hooks for Marvel video copy func
|
2017-08-19 21:30:43 +02:00 |
|
Unknown W. Brackets
|
1cf5e30bd6
|
Add hooks for Marvel video copy func.
Not tested - but should make videos visible in Marvel Ultimate Alliance 1.
See #9852.
|
2017-08-19 11:47:42 -07:00 |
|
Henrik Rydgård
|
b9b2656e93
|
More vulkan microoptimizations. Add more profiler scopes.
|
2017-08-18 13:48:11 +02:00 |
|
Henrik Rydgård
|
ed776d8c0b
|
ARM: Delete obsolete comments and check
|
2017-08-18 13:48:11 +02:00 |
|
Unknown W. Brackets
|
3dacd323c8
|
x64: Avoid clobbering jr dest in cases.
|
2017-07-08 16:40:06 -07:00 |
|
Unknown W. Brackets
|
79a6690a30
|
x64: Fix coreState rip checks.
|
2017-07-08 16:39:26 -07:00 |
|
Henrik Rydgård
|
8d86463b1a
|
More RIP fixes
|
2017-07-07 15:46:14 +02:00 |
|
Henrik Rydgård
|
837118d230
|
More RIP elimination
|
2017-07-07 15:07:56 +02:00 |
|
Henrik Rydgård
|
86396ba39b
|
Turning off the "close memory finder" lets us find more RIP addressing...
|
2017-07-07 15:07:53 +02:00 |
|
Henrik Rydgard
|
8872057a2d
|
x86-64: Linux ABI fix
|
2017-07-07 14:22:35 +02:00 |
|
Henrik Rydgård
|
dad5ca45f2
|
Delete some unnecessary loads. These loads are done properly inside trigCallHelper.
|
2017-07-07 14:15:10 +02:00 |
|
Henrik Rydgård
|
d312086a61
|
32-bit fixes
|
2017-07-07 13:57:37 +02:00 |
|
Henrik Rydgård
|
e5a7d0df95
|
Buildfix for platforms with standards-compliant offsetof (no dynamic indexing allowed)k
|
2017-07-07 12:59:23 +02:00 |
|
Henrik Rydgård
|
087c118003
|
Workaround
|
2017-07-07 12:48:17 +02:00 |
|
Henrik Rydgård
|
ecbeee5225
|
RegCacheFPU
|
2017-07-07 11:33:07 +02:00 |
|
Henrik Rydgård
|
758cbd748e
|
Replace vminmax_sreg with mips->temp
|
2017-07-07 11:33:07 +02:00 |
|
Henrik Rydgård
|
270001e651
|
vminmax_sreg only needs a single element
|
2017-07-07 11:33:07 +02:00 |
|
Henrik Rydgård
|
567937fa4d
|
x64: Enable non-RIP addressing for FPU registers
|
2017-07-07 11:33:07 +02:00 |
|
Henrik Rydgård
|
077fafba64
|
Get rid of sincostemp global. Solution not tested on linux yet.
|
2017-07-07 11:33:06 +02:00 |
|
Henrik Rydgård
|
cfa7c61651
|
More RIP removal. Also add some comments to make it easy to just search for "M(&" to find remaining offenders.
|
2017-07-07 11:33:06 +02:00 |
|