Henrik Rydgård
|
4af6fac726
|
Nop-align the ARM and ARM64 loops too. Many CPUs benefit somewhat from hot loops being 16-byte aligned.
|
2023-06-13 00:05:48 +02:00 |
|
Unknown W. Brackets
|
9cfcbc46e6
|
Global: Cleanup initialization/pointer checks.
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
|
2022-12-10 21:13:36 -08:00 |
|
Unknown W. Brackets
|
2479d52202
|
Global: Reduce includes of common headers.
In many places, string, map, or Common.h were included but not needed.
|
2022-01-30 16:35:33 -08:00 |
|
Henrik Rydgård
|
989e353482
|
Common.h shouldn't include Log.h.
Buildfixes
More buildfixes. Move JSON code to common.
|
2020-10-04 11:42:14 +02:00 |
|
Henrik Rydgård
|
e8a9845d93
|
First step of cleaning up Log.h. Plus a few other bits and bobs.
|
2020-08-16 14:48:54 +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 |
|
Unknown W. Brackets
|
7910b4029a
|
arm64jit: Track writable and non-writable pointers.
Switch uses different memory regions. We can handle this, might as well
cleanup some const abuse.
|
2020-05-17 00:15:12 -07:00 |
|
Henrik Rydgård
|
0ec1e5e3b2
|
Don't erase and rewrite the dispatcher when the cache is cleared. Fixes #9708
|
2017-05-26 15:48:03 +02:00 |
|
Henrik Rydgard
|
7b3f84aae8
|
More buildfixes for Windows on ARM
|
2017-03-05 10:52:08 +01:00 |
|
Florent Castelli
|
4145b60a0e
|
symbian: Remove!
|
2016-10-11 18:49:08 +02:00 |
|
Henrik Rydgard
|
ffe4c266ef
|
Add CodeBlockCommon base class to remove further arch-specificity in JitBlockCache
Remove unused ArmThunk.
|
2016-05-01 11:40:00 +02:00 |
|
Henrik Rydgard
|
59164cdbfb
|
ARM32: Disasm and emit NEON shifts-by-immediate
|
2015-07-09 00:24:57 +02:00 |
|
Henrik Rydgard
|
73dd26fb75
|
More ARM64 disasm, warning fixes
|
2015-04-06 18:13:07 +02:00 |
|
Henrik Rydgard
|
58b059ca14
|
Some casting cleanup, misc
|
2015-04-06 18:13:06 +02:00 |
|
Lioncash
|
f0f7e48ef4
|
Common: Move headers over to using pragma once
Just makes the headers more consistent.
|
2014-12-15 17:09:40 -05:00 |
|
Henrik Rydgard
|
4ec30d98e1
|
Port the x86 and ARM emitters over to use the generic CodeBlock class
|
2014-12-15 22:32:55 +01:00 |
|
Henrik Rydgard
|
b2951f0def
|
Transplant Dolphin's ARM64 emitter over. Not hooked up to anything (yet...)
|
2014-12-15 22:09:26 +01:00 |
|
Lioncash
|
a962bc5a6c
|
Mark some functions as const
|
2014-12-07 17:08:13 -05:00 |
|
Henrik Rydgard
|
66d74981b5
|
Merge ARM emitter updates from the NEON branch
|
2014-11-29 10:49:22 +01:00 |
|
Henrik Rydgard
|
53b5d331b4
|
Assorted minor optimizations
|
2014-11-17 21:21:44 +01:00 |
|
Henrik Rydgard
|
215abfb951
|
Some cleanup in /Common
|
2014-09-06 10:47:25 +02:00 |
|
Unknown W. Brackets
|
f339f7d539
|
armjit: Handle NAN correctly in float conversion.
|
2014-06-29 20:05:59 -07:00 |
|
Sacha
|
4c8a615f76
|
CMake: Make the code more platform-agnostic and cleaner.
|
2014-05-31 01:22:11 +10:00 |
|
Unknown W. Brackets
|
2f5c6a5660
|
Fix VLDM/VSTM encoding for double/quad regs.
Duh, forgot to check Vd. Fixes #5723.
|
2014-03-25 22:08:20 -07:00 |
|
Unknown W. Brackets
|
009c3ee3f7
|
vertexjit: Save S16-S31 registers in ARM.
|
2014-03-23 16:26:13 -07:00 |
|
Unknown W. Brackets
|
ff2d5bb17e
|
Add a float->GP reg, fix VDUP for I_16.
|
2014-03-23 16:25:56 -07:00 |
|
Unknown W. Brackets
|
8056440ba1
|
Implement NEON register VMOVs.
|
2014-03-23 16:25:52 -07:00 |
|
Unknown W. Brackets
|
3e1cd5c161
|
Add a NEON VMOV imm encoding to the emitter.
|
2014-03-23 16:12:46 -07:00 |
|
Unknown W. Brackets
|
f3d38ee269
|
Fix VMOV for Dregs and VSHL reg order.
|
2014-03-22 16:12:00 -07:00 |
|
Unknown W. Brackets
|
0da9c1851c
|
vertexjit: Add VQMOV(U)N and fix VMOVN size.
It will be too confusing if it's specified as the destination, unlike
VMOVL. Plus the assembler syntax uses the source size.
|
2014-03-22 16:11:36 -07:00 |
|
Henrik Rydgård
|
8dfadf7b8e
|
ArmEmitter: Add VMOV_neon and a Size parameter to VFMA for consistency.
|
2014-03-22 16:31:16 +01:00 |
|
Unknown W. Brackets
|
e783627947
|
armjit: Use our I2R funcs on reg/reg math too.
When one is a known immediate. This should catch more cases, like:
ori v0, $0, 0xFFFF
and v1, v1, v0
|
2014-03-14 19:15:43 -07:00 |
|
Unknown W. Brackets
|
3a07924ad9
|
Add Try arm emitter I2R funcs.
This way we can use them without giving up the regcache's immediate
optimizations.
|
2014-03-14 19:15:42 -07:00 |
|
Unknown W. Brackets
|
76305130ee
|
Add a couple missing (unused) ARM instructions.
|
2014-03-14 19:15:39 -07:00 |
|
Sacha
|
30a6a5d10f
|
ARMJIT: Implement VLDM/VSTM load/store combinations and use in armjit. Also add them to disassembler.
|
2014-03-07 02:56:34 +10:00 |
|
Unknown W. Brackets
|
2655a4cba6
|
Include some now-missing things for Linux.
|
2013-12-30 21:15:00 -08:00 |
|
Henrik Rydgård
|
e5e17fbc6e
|
More include cleanup. Hoping for very slightly faster compile times..
|
2013-12-30 10:49:05 +01:00 |
|
Unknown W. Brackets
|
e6b2d00a2f
|
Avoid reseved identifiers like _SP, etc.
R_SP is not that bad.
|
2013-12-29 14:25:34 -08:00 |
|
Unknown W. Brackets
|
5d2ff64252
|
Support for modified jit-enabled VerySleepy.
This allows profiling the jit. Should have zero perf impact when not
in use, since it's entirely triggered by VerySleepy.
|
2013-11-30 19:20:21 -08:00 |
|
Henrik Rydgard
|
030e6460cc
|
ARM: NEON-optimize software skinning
|
2013-11-24 18:03:42 +01:00 |
|
Henrik Rydgard
|
dfea160491
|
ARM: Use PLD (cache preload) in vertex decoder loop.
|
2013-11-24 15:08:47 +01:00 |
|
Henrik Rydgard
|
f650b23c90
|
ARM: Add NEON widening and narrowing moves, and float/int convert.
Experiment a little in the vertex decoder.
|
2013-11-24 13:30:28 +01:00 |
|
Henrik Rydgard
|
8e513ec38a
|
MOVP2R linux buildfix attempt
|
2013-11-23 16:50:08 +01:00 |
|
Henrik Rydgard
|
16509ba3e9
|
ARMEmitter: Make the helper functions private.
|
2013-11-23 13:43:22 +01:00 |
|
Henrik Rydgard
|
cda4e9cbf3
|
ARM emitter: Complete VLD1/VST1 for lanes and to-all-lanes.
|
2013-11-23 13:36:26 +01:00 |
|
Henrik Rydgard
|
e0eb152fb9
|
VLD1/VST1: Change argument ordering again.
|
2013-11-23 11:05:19 +01:00 |
|
Henrik Rydgard
|
b64f44c3fc
|
ARM emitter: Implement VMLA and VMUL by scalar, VLD1/VST1 multiple
|
2013-11-23 01:51:35 +01:00 |
|
Henrik Rydgard
|
97cfbd1a5f
|
ArmEmitter: Introduce MOVP2R, let's you load a pointer without casting.
|
2013-11-22 23:10:25 +01:00 |
|
Henrik Rydgård
|
ddf5b695ac
|
Update ArmEmitter with Sonic1's new NEON emitters. Thanks!
|
2013-11-13 11:34:47 +01:00 |
|
Sacha
|
d50b01a778
|
Doesn't really 'free', so called 'reset' instead.
|
2013-11-12 02:13:34 +10:00 |
|