Commit Graph

172 Commits

Author SHA1 Message Date
Ben Vanik
1fecb95512 Switching altivec disasm to die on failure. 2013-10-06 12:35:24 -07:00
Ben Vanik
debf21437e Untested emulated stvlx/stvrx. 2013-10-06 11:22:35 -07:00
Ben Vanik
e5ca996a08 Xmm read/write cleanup. 2013-10-06 11:21:50 -07:00
Ben Vanik
9ebbc3535f vsldoi. 2013-10-06 11:21:38 -07:00
Ben Vanik
cdb13775e2 Alignment option in xmm read/write. 2013-10-06 10:25:41 -07:00
Ben Vanik
26e22e2b16 Untested and nasty emulated vperm. 2013-10-06 10:25:30 -07:00
Ben Vanik
2b798df631 lvsl/lvsr/lvlx/lvrx 2013-10-06 09:48:42 -07:00
Ben Vanik
e8429b75e0 Significantly faster byte swapping on xmm read/write. 2013-10-04 22:29:19 -07:00
Ben Vanik
d3bf7813ea Improve perf of vcmp cr6 update. 2013-10-04 13:32:11 -07:00
Ben Vanik
e2842ea4b4 fmaddsx, fmsubx, fmsubsx, fcmpu. 2013-10-04 10:30:57 -07:00
Ben Vanik
091957e72e Untested srawx/sradix (makes things run further, at least). 2013-10-04 09:34:36 -07:00
Ben Vanik
0f5d0d992d vupkd3d d3dcolor (untested). 2013-10-03 21:06:40 -07:00
Ben Vanik
611902a97e Fixing vspltw and vrlimi. 2013-10-03 20:19:11 -07:00
Ben Vanik
bdb5b0eae2 Fixing alignment of xmm load/store. 2013-10-03 20:18:56 -07:00
Ben Vanik
6d46b51ed4 A few vcmp*'s, float_16_to_32 bit of vupkd3d128 (untested). 2013-10-02 23:25:05 -07:00
Ben Vanik
21d273e85b Tracing FPRs and random fixes. 2013-09-30 22:43:29 -07:00
Ben Vanik
37caa5cea1 vnmsubfp, fixing vrlimi128. 2013-09-30 21:14:23 -07:00
Ben Vanik
f5b99d7448 Fixing some altivec instruction decode issues. 2013-09-30 17:54:49 -07:00
Ben Vanik
26ec76ef35 A lot of progress on altivec instructions.
Some bad results, still, and some instructions are not decoding right.
2013-09-29 21:05:48 -07:00
Ben Vanik
3662118246 vmaddfp/vmaddcfp/vmulfp/vsubfp. 2013-09-29 00:02:25 -07:00
Ben Vanik
5652a150e1 vand/vnor/vor/vxor. 2013-09-28 23:45:16 -07:00
Ben Vanik
526b1a85b7 Simple altivec loads/stores. 2013-09-28 23:14:43 -07:00
Ben Vanik
f398ccba56 Skeleton emitter file. 2013-09-28 19:52:33 -07:00
Ben Vanik
51184f73ea Disassembling a few instructions. 2013-09-28 19:37:34 -07:00
Ben Vanik
f4f66ff7f1 Beginning Altivec disassembly/emitting. 2013-09-28 09:14:04 -07:00
Ben Vanik
3e0d9af57e Placeholders for memory access breakpoints. 2013-09-25 20:13:43 -07:00
Ben Vanik
03a68d4c49 PerformanceCounter. 2013-09-25 18:36:34 -07:00
Ben Vanik
91f62918f6 Adding vblank interrupt. 2013-09-25 00:46:09 -07:00
Ben Vanik
998467ce05 Fixing cntlzd. 2013-09-25 00:21:41 -07:00
Ben Vanik
d5b8a2091a Switching tracing order to prevent skipping traces of branch instructions. 2013-09-06 23:21:08 -07:00
Ben Vanik
39ef8d8263 Properly using XapiThreadStartup routines, if present. 2013-06-30 10:27:06 -07:00
Ben Vanik
c9a39a8b62 Dumping module info on startup and logging unimplemented kernel calls. 2013-06-30 07:53:17 -07:00
Ben Vanik
6f602d120a Adding thread ID to trace lines and cleaning up their formatting. 2013-06-30 06:09:08 -07:00
Ben Vanik
052c70efce Fixing broken opcode 63 stuff. 2013-06-02 12:01:43 -07:00
Ben Vanik
b3e93a0d1d srad.
Probably right.
2013-06-02 11:33:07 -07:00
Rick Gibbed
fbaaebdb41 Oops. Tab! 2013-06-02 09:43:27 -07:00
Rick Gibbed
b97b8226b2 Fixed a crash when adding a FunctionSymbol with a NULL address. 2013-06-02 07:57:38 -07:00
Rick Gibbed
105aee506d dcbf disasm. 2013-06-02 07:56:17 -07:00
Ben Vanik
e00e665a09 Basic command buffer processing. 2013-06-01 21:49:14 -07:00
Rick Gibbed
3667821be3 ldarx & stdcx disasm. 2013-05-31 22:01:35 -07:00
Ben Vanik
ef0032ecff Wiring up register read/write from JIT -> GPU. 2013-05-31 21:23:26 -07:00
Rick Gibbed
edf3a9155b The stack address needs to start at the end of the allocated memory for the stack, not the beginning. 2013-05-31 20:55:52 -07:00
Ben Vanik
38efd3837d Adding support for detecting the save/rest fpr and vmx blocks. 2013-05-31 01:53:30 -07:00
Ben Vanik
e6195c4086 fmadd, orc, extsh, extsw. 2013-05-31 01:00:00 -07:00
Ben Vanik
9bb36c7404 Fixing decoding of the rld* instructions. 2013-05-31 00:38:26 -07:00
Ben Vanik
dc16653164 Fixing decoding of some of the opcode 63 instructions. 2013-05-31 00:09:10 -07:00
Ben Vanik
14c3b8a382 Adding a case for tail calls.
Still missing the forward tail call case, as there is legit code that
does weird branches like that.
2013-05-30 23:41:25 -07:00
Ben Vanik
e7665c11eb Adding basic constant checks and updates to memory instructions.
Only those instructions likely to have immediate values have been updated.
It'd be nice to go further than this and a) centralize the ea calculations
b) move this all to the analysis pass c) generate mov's in Read/WriteMemory
using the immediates as bases instead of all the register work.

Also fixing a broken stwcx that was causing crashes.
2013-05-30 23:20:05 -07:00
Ben Vanik
78086684c6 Now tracking constant values for most operations.
This will make it easier to enable memory access optimizations and hacks.
Not all operations are updating the constant registers, only those that
are likely to participate in constant value building. Constant values are
cleared on every basic block, though this may be too zealous it prevents
weird fall-through cases.
2013-05-30 22:50:32 -07:00
Ben Vanik
f307bc9eb1 Adding --target= and --trace_registers flags.
--target=[xex|iso] makes it possible to specify the thing to run from a
flagfile.
2013-05-29 21:45:54 -07:00