Henrik Rydgard
|
f8659b8e1e
|
Move the IR interpreter out into its own file. Rename it in the UI. First CMake and Android fixes.
|
2016-05-08 22:06:13 +02:00 |
|
Henrik Rydgard
|
492ea5fac4
|
Address a bunch of comments, thanks for the review
|
2016-05-08 21:38:03 +02:00 |
|
Henrik Rydgard
|
49a6a2f6cf
|
Minor refactor - let's not access a global when we don't need to
|
2016-05-06 21:22:36 +02:00 |
|
Henrik Rydgard
|
5aadce59a2
|
Move architecture-specific code out of JitBlockCache
|
2016-05-01 11:39:58 +02:00 |
|
Henrik Rydgard
|
92f7f459dc
|
Not safe to change the rounding mode function pointer in GenerateCode
|
2015-10-10 16:46:07 +02:00 |
|
Henrik Rydgard
|
65ee3723d3
|
ARM64: Don't update currentRoundingFunc unless necessary.
|
2015-10-10 14:33:01 +02:00 |
|
Henrik Rydgard
|
8914cd9914
|
ARM64 disassembler improvements (show many kinds of branch targets properly)
|
2015-10-10 11:27:28 +02:00 |
|
Henrik Rydgard
|
d628b9b57b
|
Minor fixes, mostly comments
|
2015-10-10 10:03:34 +02:00 |
|
Henrik Rydgard
|
c41baab747
|
Pregenerate code to handle rounding mode switches. This time, for all three cores.
|
2015-10-08 19:58:37 +02:00 |
|
Henrik Rydgard
|
8a3c96a413
|
ARM64: Don't need to avoid destroying SCRATCH1 in these functions.
|
2015-10-08 14:54:43 +02:00 |
|
Henrik Rydgard
|
bfed830f91
|
Remove the ability to disable rounding mode support. It's time.
|
2015-10-08 14:54:42 +02:00 |
|
Henrik Rydgard
|
6dd86cd843
|
Get rid of the ForceFlushToZero hidden config option
|
2015-10-08 14:54:41 +02:00 |
|
Henrik Rydgard
|
42ce836ba5
|
Some minor renames and cleanups
|
2015-10-08 14:43:16 +02:00 |
|
Henrik Rydgard
|
b73920fcba
|
ARM64: Cleanups in regcache and jit
|
2015-07-11 17:00:01 +02:00 |
|
Henrik Rydgard
|
568e2abb2b
|
Save/load static registers around replacement funcs
|
2015-07-11 16:59:13 +02:00 |
|
Henrik Rydgard
|
844a3f19a9
|
Fix bugs and issues in ARM64 static alloc. Thanks unknown for finding the problem.
|
2015-07-11 16:59:09 +02:00 |
|
Henrik Rydgard
|
a0bf934796
|
ARM64: Some work on static allocation. Close to working, cube.elf runs 700 blocks but then hangs (?!)
|
2015-07-11 16:59:09 +02:00 |
|
Unknown W. Brackets
|
8fdceba7ca
|
Add timing for all the basics.
This way we can see overall stats for a frame.
|
2015-07-03 12:05:08 -07:00 |
|
Unknown W. Brackets
|
4d7a948717
|
arm64: Fix a dump mistake with rounding modes.
|
2015-06-28 16:35:46 -07:00 |
|
Unknown W. Brackets
|
b6612edf67
|
arm64: Use a cached rounding func for cvt.w.s.
This is much faster for this particular instruction, although not all
games even use it.
|
2015-06-28 12:40:29 -07:00 |
|
Unknown W. Brackets
|
213ad4bcc9
|
arm64: Cleanup branch code a tiny bit.
Want to make it clear that we can't kill W0 at this point (delay slots.)
|
2015-06-28 09:28:54 -07:00 |
|
Henrik Rydgård
|
70fa830ba5
|
Split out the ReplaceJalTo test logic.
This makes it so the IR, in the future, can work correctly for
replacements.
|
2015-04-12 13:35:10 -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 |
|
Henrik Rydgård
|
a897723e6a
|
Separate out jit reading nearby instructions.
This makes it easier to use an IR for these things, or remove them.
|
2015-04-11 00:53:24 -07:00 |
|
Henrik Rydgård
|
fbaffdceab
|
Remove some outdated comments, minor stuff
|
2015-04-06 18:13:36 +02:00 |
|
Henrik Rydgard
|
0a70618f87
|
ARM64: Accurate floating point rounding. For some reason, FTZ doesn't seem to work though.
|
2015-04-06 18:13:36 +02:00 |
|
Henrik Rydgard
|
44286a2b37
|
ARM64: Accurate float->int conversion with rounding mode.
|
2015-04-06 18:13:34 +02:00 |
|
Henrik Rydgard
|
ad648baa9c
|
ARM64 regcache: Add support to "pointerify" registers. Use in load/store to cut down instructions.
|
2015-04-06 18:13:32 +02:00 |
|
Henrik Rydgard
|
57e759a605
|
ARM64: Fix and turn on basic block linking
|
2015-04-06 18:13:17 +02:00 |
|
Henrik Rydgard
|
4233921ab7
|
ARM64: Some more instructions, func replacements
|
2015-04-06 18:13:16 +02:00 |
|
Henrik Rydgard
|
77501e220d
|
ARM64: Enable a few more instructions, more emitter/disasm unittests
|
2015-04-06 18:13:13 +02:00 |
|
Henrik Rydgard
|
d2c746dd64
|
ARM64: Get the FP reg cache working, implement some basic FP arith
|
2015-04-06 18:13:11 +02:00 |
|
Henrik Rydgard
|
8dc77ff32e
|
ARM64: Turn off some debugging stuff, start implementing instructions. Something is wrong though, if I implement more than addiu things break..
|
2015-04-06 18:13:09 +02:00 |
|
Henrik Rydgard
|
cc722f09f6
|
Improve ARM64 disassembly by merging MOVZ+MOVK. Minor stuff.
|
2015-04-06 18:13:07 +02:00 |
|
Henrik Rydgard
|
58b059ca14
|
Some casting cleanup, misc
|
2015-04-06 18:13:06 +02:00 |
|
Henrik Rydgard
|
34ab532971
|
ARM64 jit: Fix some pointer truncations and other fun stuff..
|
2015-04-06 18:13:05 +02:00 |
|
Henrik Rydgard
|
e7e58591da
|
More JIT work, not quite there yet...
|
2015-04-06 18:13:04 +02:00 |
|
Henrik Rydgard
|
524583d53e
|
ARM64 emitter work, dispatcher work, etc. More work needed.
|
2015-04-06 18:13:03 +02:00 |
|
Henrik Rydgard
|
b309c83973
|
Initial work on ARM64, based on the ARM jit.
|
2015-04-06 18:13:01 +02:00 |
|