Henrik Rydgard
51d55bd645
Namespacing cleanup (it's bad to do "using namespace" in a header)
2014-12-07 14:44:15 +01:00
Henrik Rydgard
4457dca4c9
Rename the ARM Jit class to ArmJit
2014-12-07 14:25:22 +01:00
Henrik Rydgard
7740caeade
Buildfix the arm emitter test in the unittest.
...
Also do some preparation for being able to have two JITs compiled at the same time
which may be useful in testing parts of the ARM jit on Windows.
2014-12-07 14:12:13 +01:00
Henrik Rydgard
e2f61459d3
ARM Jit: Implement vfad/vavg
2014-12-07 13:02:16 +01:00
Henrik Rydgard
80ce45f9fb
ARM Jit: Join adjacent vrot ops on ARM too
2014-12-07 12:07:54 +01:00
Henrik Rydgard
c2503b1406
ARM jit: Prepare for joining vrot ops
2014-12-07 11:58:19 +01:00
Henrik Rydgard
4d8db38798
Some more
2014-12-07 00:30:45 +01:00
Henrik Rydgard
ceed0a92c3
Undo some accidental reverts
2014-12-07 00:25:15 +01:00
Henrik Rydgard
ff4746cd17
Merge the rest of the old NEON branch.
2014-12-06 13:14:03 +01:00
Henrik Rydgard
d98bde8e50
Merge the RegCache changes from the old neon-vfpu branch
2014-12-06 12:26:58 +01:00
Henrik Rydgard
e3a81f4346
x86 Jit: Basic implementation of vbfy1/2 (mostly to just cross another one off the list..)
2014-12-04 00:18:58 +01:00
Henrik Rydgard
ac772f25ff
x86 JIT: Join adjacent vrot calls together to avoid redundant sin/cos calls. Add a prototype, fix minor issues.
2014-11-30 11:04:13 +01:00
Unknown W. Brackets
f6f943de63
jit: MAP_NOINIT should always mean MAP_DIRTY.
2014-11-29 00:14:08 -08:00
Henrik Rydgard
53b5d331b4
Assorted minor optimizations
2014-11-17 21:21:44 +01:00
Henrik Rydgard
e43c7af32c
ARM Jit: Implement quaternion multiplication
2014-11-16 19:12:00 +01:00
Unknown W. Brackets
5bb9d32eaa
jit: Fix partial invalidation of larger blocks.
...
Fixes #7031 .
2014-10-27 19:04:19 -07:00
Unknown W. Brackets
1064f580e4
armjit: Add proxy blocks for continuing.
2014-10-12 17:20:26 -07:00
Unknown W. Brackets
01f9521dc5
jit: Invalidate blocks even if they end unevenly.
...
This allows blocks to start and end where ever they need, which should be
good for replacements and for continuing.
2014-10-12 17:13:04 -07:00
Unknown W. Brackets
0f32103615
x86jit: Consistently use mips_.
2014-10-12 15:16:09 -07:00
Unknown W. Brackets
2f598e8f38
jit: Statically jump for fixed branches.
...
This handles both loops (first step is known) and static branches (some
code uses them instead of jumps, and we disassemble that to "b".)
Not likely to be a big improvement, but might help if the branch predictor
was wrong.
This is as opposed to continuing, which would build a larger jit block.
2014-10-12 12:51:47 -07:00
Unknown W. Brackets
9228ac72da
jit: Reorganize imm branch logic a bit.
2014-10-12 12:51:46 -07:00
Unknown W. Brackets
928e2adfc9
jit: Avoid applying/restoring the rounding mode.
...
If the game never sets it, we can skip around syscalls, interpreter,
replacements, etc.
2014-10-12 12:51:45 -07:00
Unknown W. Brackets
8d0dca71fe
jit: Rename the rounding mode funcs to clarify.
...
They apply/restore the value, set/clear is confusing.
2014-10-12 11:35:20 -07:00
Henrik Rydgard
f84ebf6bff
sprintf->snprintf, fix some too short buffers
2014-09-14 00:14:11 +02:00
Unknown W. Brackets
52b6f1095e
armjit: Fix rounding mode, allow non flush-to-zero.
...
Default: force flush to zero (for RunFast mode.) But now it's an ini
option so we can more easily compare armjit differences.
2014-09-11 07:58:51 -07:00