Henrik Rydgard
ee215cc316
ARMJIT: Fix eatprefix, add DirtyInInV mapping, misc stuff
2013-07-30 18:15:48 +02:00
Henrik Rydgard
d8294f025f
More VFPU stuff (nothing new activated)
2013-07-30 01:09:11 +02:00
Henrik Rydgard
3b9e6243eb
Only flush the required registers on function calls (only implemented for real on ARM)
2013-07-28 22:21:43 +02:00
Henrik Rydgard
3341e7e7fc
Fix VROT on 32-bit x86
2013-07-28 22:20:32 +02:00
Henrik Rydgard
6ecd0194fa
Implement VROT in both JITs, as it's heavily used by a few games.
...
Another ~1-3% in FF:CC.
2013-07-28 18:22:12 +02:00
Henrik Rydgard
daaed2183f
Jit x86: Implement vhdp
2013-07-28 18:22:11 +02:00
Henrik Rydgard
8feeaf2e7a
Jit: Implement vidt in both, plus translate a couple easy ones to ARM.
2013-07-28 16:14:21 +02:00
Henrik Rydgard
59644ad59b
Jit: Implement VMMUL for ARM, optimize the x86 implementation. Also add VCST.
2013-07-28 12:14:35 +02:00
Unknown W. Brackets
b307d77b61
Oops, need to still rewind on breakpoint.
2013-07-27 15:05:16 -07:00
Unknown W. Brackets
1a9b190188
Treat CORE_NEXTFRAME like CORE_RUNNING is bps.
...
Fixes some cases where breakpoints skip instructions incorrectly.
2013-07-27 13:26:43 -07:00
Henrik Rydgard
afcb5add51
Minor code cleanup/reindent around ARM jit
2013-07-27 22:14:01 +02:00
Unknown W. Brackets
286c153c6a
Fix memchecks for halfwords and bytes.
...
Before it was doing the range on a 4 byte read, which would trip a
memcheck that wasn't actually being hit if the byte of halfword was
unaligned.
2013-07-06 13:15:48 -07:00
Unknown W. Brackets
25cc09b81b
Improve perf when ignore illegal is off.
...
Most users will have it on, but this improves perf a bit when it isn't.
2013-07-06 13:04:19 -07:00
Unknown W. Brackets
77670876cd
Fix memcheck range intersect check.
2013-07-06 12:08:34 -07:00
Unknown W. Brackets
2b4344f61d
Don't rewind the PC on memcheck w/ CORE_NEXTFRAME.
...
If the memcheck doesn't hit, we'll still rewind the PC, causing weirdness.
This is likely if you try to memcheck an address hit first thing in a
vblank interrupt handler or something.
2013-07-06 03:30:21 -07:00
Unknown W. Brackets
2d15eb2acd
Re-enable lwl/lwr/swl/swr on the x86 jit.
...
Now correctly handling ECX on x64.
2013-07-06 01:21:52 -07:00
Unknown W. Brackets
662ae77214
Save regs before/after 3-arg func calls on x86.
...
This fixes bugs only on x64 when ABI_CallFunctionACC and etc. were used.
This was breaking things since R8 was not being saved (arg 3.)
2013-07-06 00:54:53 -07:00
Unknown W. Brackets
19f2b35679
Keep the stack aligned when tripping memchecks.
2013-07-06 00:22:09 -07:00
Unknown W. Brackets
1c9086617a
DISABLE the swr/swl and friends for now.
...
Broke Disgaea on x64 only, not sure why right now.
2013-07-05 02:53:15 -07:00
Henrik Rydgård
abc03520b4
Merge pull request #2625 from unknownbrackets/debugger
...
Fix some memcheck bugs
2013-07-05 02:26:13 -07:00
Unknown W. Brackets
5271f36d78
Output less code per memcheck.
...
Somehow this also fixed a bug with memchecks that didn't hit, but I don't
know why. Reverting and making them far jumps doesn't help.... strange.
Anyway, this should be less code which is good.
2013-07-05 01:33:39 -07:00
Unknown W. Brackets
c64f6c3f39
Don't just forget other memchecks, arg.
2013-07-05 01:26:02 -07:00
Unknown W. Brackets
540bd13222
Correctly match ranges in memchecks with ends.
2013-07-05 01:16:57 -07:00
Unknown W. Brackets
3278b5e373
Handle the immediate case of clz/clo.
2013-07-04 23:07:42 -07:00
Unknown W. Brackets
d823989330
Implement vmone/vmzero/vmidt for the x86 jit.
2013-07-04 18:16:57 -07:00
Unknown W. Brackets
654490566f
Implement clz/clo in x86 jit.
2013-07-04 18:01:17 -07:00
Unknown W. Brackets
e27ab6fa11
Add swl/swr to the x86 jit.
2013-07-04 17:34:56 -07:00
Unknown W. Brackets
203daf955b
Implement lwl/lwr in the x86 jit.
2013-07-04 17:30:36 -07:00
Unknown W. Brackets
2d25d1eb05
Add a way to force alignment in JitSafeMem().
2013-07-04 15:59:12 -07:00
Unknown W. Brackets
942d50d521
When hitting go on a memcheck, also skip it.
...
If you hit go you most likely want it to continue past the instruction you
were on.
2013-06-30 16:35:48 -07:00
Unknown W. Brackets
8ee88ae5a2
Don't skip memcheck'd op when illegal reads is off.
2013-06-30 16:35:48 -07:00
Unknown W. Brackets
9209a30d9b
Add skeleton for conditional breakpoints.
2013-06-30 16:35:47 -07:00
Unknown W. Brackets
6bd4383a8a
Give memchecks/breakpoints a consistent interface.
...
Removes the limit on max breakpoints, and makes everything use accessors
for both that look roughly the same.
2013-06-30 15:16:58 -07:00
Unknown W. Brackets
c9c3bc83e4
Log more info about branches in delay slots.
2013-06-30 13:19:27 -07:00
Unknown W. Brackets
84f65dc961
Save flags around conditional breakpoint check.
2013-06-29 11:45:29 -07:00
Unknown W. Brackets
609f8d6340
Allow hitting Go on a breakpoint to continue.
...
Doesn't work for branches though, because of delay slots.
2013-06-29 11:23:24 -07:00
Unknown W. Brackets
aaafd372e9
Clear temp breakpoints off the CPU thread.
...
This should make it possible to actually clear them. Fixes #2519 .
2013-06-29 10:54:33 -07:00
Henrik Rydgard
ce2c18d2fe
Remove redundant vmov instructions (seen in wipeout)
2013-06-15 00:19:48 +02:00
Sacha
a26b48fc0b
Stub wsbh/wsbw for x86.
2013-06-05 14:55:01 +10:00
Unknown W. Brackets
2cd8f928a7
Just disable the this constructor warning here.
2013-05-31 23:14:27 -07:00
Unknown W. Brackets
5595146f56
Add reporting for jumps in delay slots.
2013-05-26 20:30:14 -07:00
Henrik Rydgard
f20e00315d
Add basic support for the second analog stick present in the PS3 PSP emu for HD remakes.
...
Make vi2f safer.
2013-04-28 22:15:33 +02:00
Henrik Rydgard
b603214777
Also implement vcst in x86 jit
2013-04-27 22:00:09 +02:00
Henrik Rydgard
bac7e87125
Add support for vi2f to x86 JIT
2013-04-27 21:46:00 +02:00
Henrik Rydgard
1a1c161a0d
Implement vmin/vmax in x86 jit, slots right into VecDo3
2013-04-27 20:52:42 +02:00
Henrik Rydgard
6f4ad05582
Remove some unused code, add some stubs to vfpu jit, some cleanup
2013-04-27 19:35:42 +02:00
Henrik Rydgard
2a39a3b972
JIT: Get rid of one memory access per dispatch, and get rid of blockcodepointers.
2013-04-27 01:32:03 +02:00
Henrik Rydgard
9eace8a80e
Combine the two JitCache implementations (x86, ARM) into one.
2013-04-27 01:32:03 +02:00
Henrik Rydgard
8a904fe478
Some JIT cleanup
2013-04-27 01:32:02 +02:00
Unknown W. Brackets
3bb5651ca7
Initial x86 jit for vtfm/vhtfm.
2013-04-20 01:52:06 -07:00