Commit Graph
685 Commits
Author SHA1 Message Date
Henrik RydgårdandUnknown W. Brackets 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 RydgårdandUnknown W. Brackets 7bf67509d1 ARM: Cleanup a TODO in NEON VFPU. 2015-04-12 11:21:53 -07:00
Henrik RydgårdandUnknown W. Brackets 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årdandUnknown W. Brackets 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
Unknown W. Brackets b0d291032d armjit Avoid cfc1/mfc1 to $0. 2015-04-07 18:30:36 -07:00
Unknown W. Brackets 7ce5841f30 jit: Avoid mfhi/mflo to $0. 2015-04-07 18:25:28 -07:00
Unknown W. Brackets 788b9d78f8 jit: Avoid a super unlikely write to zero. 2015-04-07 18:20:37 -07:00
Henrik Rydgård fbaffdceab Remove some outdated comments, minor stuff 2015-04-06 18:13:36 +02:00
Henrik Rydgard acf08eefa8 ARM64: Fix FCVTL, use it in v2hf 2015-04-06 18:13:33 +02:00
Henrik Rydgard 2780eef595 ARM64: Another couple of VFPU ops 2015-04-06 18:13:31 +02:00
Henrik Rydgard 1b1ab73b0f ARM64: Enable some more VFPU instructions, some code cleanup 2015-04-06 18:13:29 +02:00
Henrik Rydgard 500ca94ab8 ARM64: Port over tons of VFPU code from ARM, leave most of it disabled. 2015-04-06 18:13:28 +02:00
Henrik Rydgard 25ec85551f ARM64: Implement FP compares, misc 2015-04-06 18:13:22 +02:00
Henrik Rydgard a12e448fb4 ARM64: Stub vertex decoder jit, implementing just enough for the cube.elf cube. 2015-04-06 18:13:18 +02:00
Henrik Rydgard acd9502b44 ARM64: stp/ldp disasm improvements 2015-04-06 18:13:17 +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
Unknown W. Brackets 98d7afae89 Switch to #pragma once in a few places.
Doesn't really affect git history much to change these.
2015-03-02 22:34:51 -08:00
Unknown W. Brackets 179e996b0b jit: Discard unused regs before a syscall.
This is a pretty minor optimization, though.
2015-03-01 11:08:59 -08:00
Unknown W. Brackets 19b92a3e68 Typo. 2015-01-19 09:41:35 -08:00
Unknown W. Brackets cdddd4b59c Fix an undefined bit shift.
Shouldn't have mattered anyway, but maybe this can crash some ARM chip or
something...
2015-01-19 08:40:10 -08:00
Unknown W. Brackets dcf54ec8a0 armjit: Burn less hard without a quad mapping. 2015-01-17 18:48:50 -08:00
Unknown W. Brackets c0a04cbf7e armjit: Fix first temp vreg offset.
Wonder what havoc this could've caused....
2015-01-17 18:21:04 -08:00
Unknown W. Brackets ab978b1eb1 armjit: Fix vfad/vavg sign for -0.000.
But, NEON is still broken pretty bad, not sure why.
2015-01-03 11:14:52 -08:00
Unknown W. Brackets a62a4a42b3 armjit: handle any known zero in mtc1. 2014-12-28 20:05:29 -08:00
Unknown W. Brackets cb50075cf9 armjit: Correct NEON/non-VFPU reg allocation order.
This fixes vh2f, which unbreaks games like Dissidia 012 and others.
2014-12-22 21:27:27 -08:00
Unknown W. Brackets afdbf5610b jit: Use nicknames for a few more static regs. 2014-12-17 01:11:33 -08:00
Henrik Rydgard b2951f0def Transplant Dolphin's ARM64 emitter over. Not hooked up to anything (yet...) 2014-12-15 22:09:26 +01:00
Unknown W. Brackets 9a41dec0ff Fix some type comparison warnings. 2014-12-14 17:35:20 -08:00
Unknown W. Brackets cb7e7643db Blackberry buildfix. 2014-12-13 19:38:04 -08:00
Henrik Rydgard 32a452d671 Blackberry buildfix, added a commen this time.. 2014-12-13 22:14:53 +01:00
Henrik Rydgard 5de011fe95 Again, sigh.. 2014-12-13 21:53:28 +01:00
Henrik Rydgard db5478135b Typo fix 2014-12-13 21:26:13 +01:00
Henrik Rydgard 05a8e2e35d Some work towards being able to build two JITs together
This will be useful for testing/debugging, but not there yet.
2014-12-13 21:13:54 +01:00
Henrik Rydgard 8ad1ea4c84 Split JitCommon.h so that you can include it without getting the "NativeJit" definition 2014-12-13 21:13:28 +01:00
Henrik Rydgard 75a9420b21 Reduce the number of places we include JitCommon.h. Update native. 2014-12-12 23:49:08 +01:00
Unknown W. Brackets afc779a824 jit: Add IN_RT to lwl/lwr and re-enable clobbering. 2014-12-08 21:17:01 -08:00
Unknown W. Brackets bfe5f9276e jit: Re-disable clobbered thing.
No idea what's wrong...
2014-12-08 02:06:25 -08:00
Unknown W. Brackets 7734a4c912 jit: Re-enable clobbering with movz/movn support.
Oops, these should be the only ones that take rd "in".
2014-12-08 01:29:41 -08:00
Unknown W. Brackets 119c1ef83e jit: Disable clobber detection for now.
Should still spill better.  Something is wrong with flags detection, a
clobber to rd is incorrectly discarding outside a delay slot.  Don't have
time now to look into it further.
2014-12-08 01:24:17 -08:00
Unknown W. Brackets f817d49dfb jit: Discard clobbered registers on spill.
If we're spilling anyway, discard rather than saving.
2014-12-07 23:08:21 -08:00
Unknown W. Brackets eeff110c0f jit: Improve and unify GPR spill logic.
Now the same logic on x86 and ARM, and handles HI/LO/etc. better.
2014-12-07 21:10:28 -08:00
Unknown W. Brackets 487e175cf9 Fix a sign comparison warning.
This isn't really negative anyway.
2014-12-07 21:08:03 -08:00
Unknown W. Brackets 9dd6bb56bb jit: Make available js_ and jo_ in regcaches. 2014-12-07 21:07:23 -08:00
Henrik Rydgard 50bb3e1e05 Minor fixes 2014-12-08 00:18:13 +01:00
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