Commit graph

23 commits

Author SHA1 Message Date
Unknown W. Brackets
89cbf36611 arm64jit: Free up W23 for static alloc.
We shouldn't always reserve W23 for this uncommon case.
2017-12-30 07:51:27 -08:00
Unknown W. Brackets
e7ac672522 arm64jit: Cleanup method names, temp discard.
This way MapDirtyIn won't accidentally discard temps.
2017-12-30 07:51:27 -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
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
cccf448ae0 arm64jit: Allow disabling pointerification.
For platforms where we can't get base aligned.
2017-12-27 17:02:19 -08:00
Florent Castelli
373db56a16 blackberry: Remove! 2016-10-11 17:40:32 +02:00
Unknown W. Brackets
3735dc7c16 arm64: Fix crash on not-nice jr delay slot.
These are very rare, I only caught this while debugging with nice
disabled.  But it could happen.
2015-10-17 01:22:26 -07:00
Henrik Rydgard
42ce836ba5 Some minor renames and cleanups 2015-10-08 14:43:16 +02:00
Henrik Rydgard
9fe382ad18 ARM64: Shortcut moves between gpr and vfpu when not mapped 2015-07-11 23:53:06 +02:00
Henrik Rydgard
d1bbc1d3c0 More regcache fixes. ML_IMM works now although there is another stability issue somewhere. 2015-07-11 16:59:13 +02:00
Henrik Rydgard
f42f81a4da ARM64: Optimize small adjustments of pointerified registers 2015-07-11 16:59:11 +02:00
Henrik Rydgard
9af6abd8a1 ARM64: Support pointerified static allocs, statically allocate SP 2015-07-11 16:59:10 +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
ddb955a527 arm64: Try to optimize imm stores.
If we already have a reg, we can use it.  This can happen when immediate
addresses are loaded and used as bases, although it's not super common.
2015-07-03 10:48:11 -07:00
Unknown W. Brackets
fed687fb59 arm64: Meld LO and HI together for multiplies. 2015-07-02 20:31:37 -07:00
Henrik Rydgård
d014d420db Unify JitOptions across the backends.
This is required to make ExtractIR not a member of the various backends.
2015-04-12 11:41:26 -07: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
0922db6062 ARM64: Some FP work. 2015-04-06 18:13:11 +02:00
Henrik Rydgard
58b059ca14 Some casting cleanup, misc 2015-04-06 18:13:06 +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