Commit Graph

91 Commits

Author SHA1 Message Date
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
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
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
6f602d120a Adding thread ID to trace lines and cleaning up their formatting. 2013-06-30 06:09:08 -07:00
Ben Vanik
b3e93a0d1d srad.
Probably right.
2013-06-02 11:33:07 -07:00
Ben Vanik
e00e665a09 Basic command buffer processing. 2013-06-01 21:49:14 -07:00
Ben Vanik
ef0032ecff Wiring up register read/write from JIT -> GPU. 2013-05-31 21:23:26 -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
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
Ben Vanik
1d0ec64d40 Adding srd/srw. Fixing shamts in other shifts. 2013-05-27 05:35:41 -07:00
Ben Vanik
778efdb276 fcfid(z), fctid(z) -- both largely untested. 2013-05-27 05:22:38 -07:00
Ben Vanik
84fb802166 fadd(s), fdiv(s), fmul(s), fsub(s), fsel, frsp, fabs, fmr, fneg, fnmsubs. 2013-05-27 04:09:07 -07:00
Ben Vanik
c10d719d53 Floating point loads/stores.
Seem correct. Maybe not.
2013-05-26 17:59:11 -07:00
Ben Vanik
a09170b2c6 Fixing bad EA write order. 2013-05-26 17:49:37 -07:00
Ben Vanik
a6db12b48f ldx/ldux. 2013-05-26 17:43:37 -07:00
Ben Vanik
b5e729f89e sld. 2013-05-26 16:30:52 -07:00
Ben Vanik
924b08b264 cntlzd and fixing broken cntlzwx. 2013-05-26 16:30:43 -07:00
Ben Vanik
86396816f5 rldicl, rldicr. 2013-05-26 16:10:25 -07:00
Ben Vanik
82159b2b9d Adding lfd. 2013-05-26 07:19:09 -07:00
Ben Vanik
9d63eb7499 Fixing condition updates for unsigned compares. 2013-05-26 04:21:07 -07:00
Ben Vanik
5d83465ce4 Fixing branches via the indirection block.
Also disabling the local indirection optimization until it's implemented.
2013-05-26 03:59:32 -07:00
Ben Vanik
22f186d713 Better asserts/checks around bad function addresses. 2013-05-26 03:26:49 -07:00
Ben Vanik
7febbe0f86 Fixing <8b memory accesses. 2013-05-26 00:44:20 -07:00
Rick Gibbed
0855fe7014 addicx 2013-05-26 00:27:36 -07:00
Ben Vanik
4073028188 Very basic, super slow, nasty indirection. 2013-05-25 20:32:58 -07:00
Ben Vanik
2986a0be82 Removing debug int3. 2013-05-25 17:20:52 -07:00
Ben Vanik
ce27fb333b Fixing rlwimix. 2013-05-25 17:08:31 -07:00
Ben Vanik
bd8376e231 Making xenia-test run on Windows. 2013-05-25 05:20:28 -07:00
Ben Vanik
a5da226617 cntlzwx. 2013-05-25 03:23:33 -07:00
Ben Vanik
de85adea2e divwx/divwux. 2013-05-25 02:49:44 -07:00
Ben Vanik
9f3f5d2c0e mullw. 2013-05-25 01:56:42 -07:00
Ben Vanik
e29de199ff srawix. 2013-05-25 01:50:46 -07:00
Ben Vanik
8207bb8088 negx 2013-05-25 01:35:19 -07:00
Ben Vanik
07d0dd98b6 slwx, ignoring twi. 2013-05-25 01:31:38 -07:00
Ben Vanik
ed401449b7 Only create the shared return block if required. 2013-05-25 00:45:16 -07:00
Ben Vanik
da62ec56f9 Adding the ret required for tail calls. 2013-05-25 00:41:01 -07:00
Ben Vanik
fb22aeb5ac Fixing assertion warnings from asmjit. 2013-05-25 00:40:30 -07:00
Ben Vanik
eac03765db Adding addx. Whoops. 2013-05-25 00:07:35 -07:00