Unknown W. Brackets
|
4113fd940c
|
Add ugly invalidation workaround for SGS7s.
Otherwise they just crash, and crash often. Special thanks to Jaaan for
numerous trials to try to find the best way to solve the crashes.
|
2016-05-23 21:35:28 -07:00 |
|
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 |
|