Commit Graph

585 Commits

Author SHA1 Message Date
gibbed 4a796627f2 Added --break_condition_gpr, --break_condition_value, --break_condition_truncate for use with --break_on_instruction. 2015-06-07 17:50:43 -05:00
Ben Vanik 889f29c18a Fixing CFG to remove unreachable blocks and properly maintain dominators. 2015-06-07 15:14:14 -07:00
Ben Vanik 10e8d0bd9b Fixing constant comparison. 2015-06-07 11:42:20 -07:00
Ben Vanik 338456f7e4 Adding missing test files. 2015-06-07 11:22:42 -07:00
gibbed 0772eec4b1 Fixing branches to the test function in the jumptable constants test. 2015-06-07 13:15:36 -05:00
gibbed 32ca1d1953 @ha @h. 2015-06-07 12:52:16 -05:00
gibbed be7900614b Basic tests for td, tdi, tw, twi. 2015-06-07 12:51:36 -05:00
gibbed 43b0cd6eae Added test reproducing an issue with constants, jumptables and traps. 2015-06-07 06:48:23 -05:00
Ben Vanik 6edf4f898f Gracefully skipping noaccess constant loads. 2015-06-06 22:56:53 -07:00
Ben Vanik 429698c2ec Replacing DidCarry with manual calculation and fixing compares. 2015-06-06 15:24:46 -07:00
Ben Vanik 6b52f6715a Adding tests for branch/carry and logging disasm on test failure. 2015-06-06 10:59:43 -07:00
Dr. Chat 4c3297441c Log debugprint traps to the debugger, if attached 2015-06-06 00:50:51 -05:00
gibbed 54e8868160 Some (hopefully correct) constant fixes for MUL_ADD_V128, MUL_SUB_V128, and SWIZZLE V128. Needs extra work on AVX2 side. 2015-06-05 23:29:31 -05:00
Ben Vanik a9e2ba16fb Optimizing page allocation (still shit) and adding MmSetAddressProtect. 2015-06-03 21:24:09 -07:00
Dr. Chat 809c327041 Emulate PACK/UNPACK for non-F16C CPUs 2015-06-03 22:33:45 -05:00
Ben Vanik 40a6a12800 Attempting to inline a lot of MMIO operations. Works for GPU stuff mainly. 2015-06-02 20:15:43 -07:00
Ben Vanik c516447ae1 Misc stubs. 2015-06-02 00:14:24 -07:00
Ben Vanik 19cb13692b Fixing undefined export names. 2015-06-01 22:12:11 -07:00
Ben Vanik 5c34b0a73e Fixing printfs and fixing exports. link.exe is too good. 2015-06-01 21:40:53 -07:00
Ben Vanik 23826fa957 Initial experiment with new kernel export format. 2015-06-01 18:19:42 -07:00
Ben Vanik ce3359389b Allow new-style export registration. 2015-05-31 17:54:44 -07:00
Ben Vanik 08770a4ec0 Mass renaming. I love clang-format. 2015-05-31 16:58:12 -07:00
Ben Vanik 9c3d2b54fb Cleanup before kernel export refactor. 2015-05-31 16:31:19 -07:00
Ben Vanik fccab79a7a Adding kernel state pointer to PPCContext. Still needs larger cleanup. 2015-05-31 14:35:56 -07:00
Ben Vanik d816d80190 StringBuffer cleanup. 2015-05-31 14:35:30 -07:00
Ben Vanik c97b462d8d Fix assert. 2015-05-30 18:04:31 -07:00
Ben Vanik d97a6d1929 NtReadFile APC, somewhat. 2015-05-29 21:24:23 -07:00
gibbed d1dbee2052 Consistency in memset calls. 2015-05-28 05:28:59 -05:00
Ben Vanik a93325434a Minor audio tweeks + profiling. 2015-05-28 00:19:17 -07:00
Ben Vanik 8244409501 Refactoring to enable future time scaling, coordinated clocks, etc. 2015-05-26 22:20:58 -07:00
Shawn Hoffman b6d51d86ee vs2015 supports constexpr 2015-05-26 14:25:45 -07:00
Ben Vanik dcb78cc640 Pretty sure I have mtmsrd wrong. This likely isn't correct. 2015-05-25 21:20:38 -07:00
Ben Vanik 41cee3d337 Switching vsync to custom thread. 2015-05-25 21:12:27 -07:00
gibbed f2685dbb1d Fixed SPLAT_F32 for non-AVX2 branch. 2015-05-25 14:32:38 -05:00
Ben Vanik 148c40554b Adding vmsum4fp128 test. 2015-05-25 12:28:32 -07:00
Ben Vanik c616104574 Tracing help. 2015-05-25 11:09:00 -07:00
Ben Vanik f5a2b85d42 Switching to xe::mutex. 2015-05-25 00:52:21 -07:00
Ben Vanik 1104f8e687 Header cleanups and prep. 2015-05-25 00:51:25 -07:00
Ben Vanik e55be7d2c9 Fleshing out debugger types. 2015-05-25 00:51:23 -07:00
Ben Vanik 576d6492dc Basic debugger networking. 2015-05-25 00:51:22 -07:00
gibbed 05081fa030 Fixed some constant loads. 2015-05-24 16:18:06 -05:00
gibbed 33d40bee95 More tests for rlwinm. 2015-05-24 12:32:23 -05:00
Riley Labrecque 23c91b2eff Remove test binaries now that they can be created on Windows 2015-05-24 01:23:14 -06:00
Dr. Chat a4b950f1e9 Fix vmaddfp test 2015-05-23 18:14:07 -05:00
Dr. Chat f7a8dc3748 Change OPCODE_SPLAT instructions from SSE->AVX 2015-05-23 17:27:26 -05:00
gibbed 8b7f6c8e0c Tests for vmaddfp. 2015-05-22 01:32:22 -05:00
gibbed c3082381c5 Tests for fmadds. 2015-05-22 01:31:50 -05:00
gibbed 45cd0e4f8f Adjustments to fmadd tests. 2015-05-22 01:30:44 -05:00
Ben Vanik bac3f8c3bd Fixing tests. 2015-05-21 07:51:56 -07:00
Ben Vanik fc4727c339 Changing calls/jmps to use the indirection table. Most games seem faster. 2015-05-21 00:12:28 -07:00
Ben Vanik ad72c193a6 Fixing stack traces, making lr BC... to diff from stack scribble BE... 2015-05-20 23:28:34 -07:00
Ben Vanik 5e5eb47789 Rewriting code cache to put everything at fixed addresses. 2015-05-20 19:23:46 -07:00
Ben Vanik 2328b34308 Cleaning up some old flags. 2015-05-19 22:28:01 -07:00
Ben Vanik 7a82ad839a Merge branch 'memory' 2015-05-19 20:29:00 -07:00
Ben Vanik 8bfc43bb0d Trying to do MMIO protects on allocation granularity. 2015-05-18 20:47:41 -07:00
Ben Vanik 92f5fe3b88 Changing page_size to allocation granularity. 2015-05-18 20:47:40 -07:00
Ben Vanik 7796f5cb60 Fixing page guards to work at system page granularity. 2015-05-18 20:25:15 -07:00
Ben Vanik bb5466d7b2 Fixing undefined exports to error out right. 2015-05-18 19:58:51 -07:00
Ben Vanik 1c96941236 Handling imports when modules aren't found. 2015-05-18 19:34:06 -07:00
Dr. Chat 589e672d20 XexModule: Resolve user library imports 2015-05-18 01:31:59 -05:00
Ben Vanik c1a0f46ea8 Implementing dcbz. 2015-05-17 16:40:38 -07:00
Ben Vanik 50b84203c5 Fixing test. 2015-05-17 13:47:20 -07:00
Ben Vanik 3f7da258fc Adjusting stack padding on executes. 2015-05-17 13:35:12 -07:00
Ben Vanik b44a7a7730 Allocating stacks in the right place. 2015-05-17 13:10:02 -07:00
Ben Vanik 37804d692c Fixing stack allocation alignment. 2015-05-17 10:17:32 -07:00
Ben Vanik da630cc159 Starting to clean up thread state. 2015-05-16 16:34:14 -07:00
Ben Vanik 147a70b9c1 Rewriting memory manager. 2015-05-17 00:16:56 +01:00
gibbed 59d4847542 More tests for cntlzw. 2015-05-16 16:44:27 -05:00
Ben Vanik 3a7d1f21e8 Merge pull request #209 from DrChat/muladdsub_cleanup
Rewrite FMA mul sub/add to avoid register shuffling
2015-05-16 13:25:28 -07:00
Ben Vanik 504b855c20 Adding frsqrte and fixing fsqrt o_o 2015-05-16 13:22:49 -07:00
Dr. Chat 5dbec09818 Change SSE opcodes back to AVX (mixing is bad) 2015-05-16 14:10:28 -05:00
Dr. Chat 65ff862495 Whoops (typo) 2015-05-16 13:41:33 -05:00
Dr. Chat 8e35ec0620 Rewrite FMA mul sub/add to avoid register shuffling
Also downgrade some AVX opcodes to SSE
2015-05-16 13:31:42 -05:00
Ben Vanik 8d4f54e240 Thread state updates. 2015-05-16 01:45:56 -07:00
Rick Gibbed 11ea5c5b10 Merge pull request #208 from DrChat/stack_size_fix
Increase audio worker thread and cpu interrupt thread stack size
2015-05-15 18:23:34 -05:00
Dr. Chat 420d4e43b6 Increase audio worker thread and cpu interrupt thread stack size 2015-05-15 18:12:44 -05:00
Rick Gibbed 7546cca936 Merge pull request #207 from DrChat/mul_8_fix
Fix 8bit multiply instructions
2015-05-15 10:22:30 -05:00
Dr. Chat dbdf3271fb Fix 8bit multiply instructions 2015-05-15 10:21:07 -05:00
Dr. Chat a46b63558e Clean up mul sub/mul add code and fix a minor bug in mulsub f64 2015-05-15 10:09:19 -05:00
Ben Vanik a1fb99f1d3 Adding new test binaries. 2015-05-14 16:21:27 -07:00
Dr. Chat 88e3ef9884 fmadd test 2015-05-14 18:07:30 -05:00
Dr. Chat 5c10d1cdaa Tests: fadd/fmul 2015-05-14 18:07:24 -05:00
Ben Vanik df600a105a Fixing constant compare. 2015-05-14 14:42:54 -07:00
gibbed ac4337cabf CR1 tests for fabs (disabled). 2015-05-14 16:02:44 -05:00
gibbed cfaa72cae6 Tests for extsb, extsh, extsw. 2015-05-14 15:56:25 -05:00
gibbed a5483ced29 Tests for cmpl, cmpli. 2015-05-14 15:36:39 -05:00
gibbed 95b6f0ac46 Tests for cmpi. 2015-05-14 15:30:35 -05:00
gibbed 4122bce07c Tests for cmp. 2015-05-14 15:24:03 -05:00
gibbed 6edc3b1c55 Tests for andis. 2015-05-14 14:57:43 -05:00
gibbed fa5e34ce19 Tests for andi. 2015-05-14 14:55:02 -05:00
gibbed a3621fd11b Experimental stack allocation. 2015-05-14 10:12:33 -05:00
gibbed 5660d348ea Tests for andc. 2015-05-14 02:06:58 -05:00
gibbed 5ec6b7973b Tests for and. 2015-05-14 02:06:41 -05:00
gibbed 30f4556baf CR0 tests for addze. 2015-05-14 01:43:18 -05:00
gibbed e4f8818d07 CR0 tests for addme. 2015-05-14 01:27:33 -05:00
gibbed ad9b2c792e Tests for addis. 2015-05-14 01:27:32 -05:00
gibbed eb5fcd5228 CR0 tests for adde. 2015-05-14 01:27:32 -05:00
gibbed 59fb08adaa CR0 tests for addc, addic. 2015-05-14 01:27:31 -05:00
gibbed 081fc63fbd Enabled the constant tests for addc and addic. 2015-05-14 00:34:24 -05:00
Ben Vanik 00b79d66ff Fixing sub carry flag. 2015-05-13 18:04:33 -07:00
gibbed b819c992ed CR0 tests for add. 2015-05-13 17:07:29 -05:00
gibbed bb947c6819 Value::MulHi and constant propagation for OPCODE_MUL_HI. Could maybe be reworked? 2015-05-13 16:13:06 -05:00
gibbed 9714018fbb Constant tests for srw, stvew, stvl, stvr, subf, subfc, subfe, subfic, subfme, subfze. 2015-05-13 06:38:31 -05:00
gibbed 0cf3e8c3f5 Simplify some register setup in the cntlzd and cntlzw tests. 2015-05-13 06:36:00 -05:00
gibbed 96e549d301 Constant tests for rldicr, rlwimi, rlwinm, rlwnm, sld, slw, srad, sradi, sraw, srawi, srd. 2015-05-13 03:14:06 -05:00
gibbed 5ebd4984ba Constant tests for mulhdu, mulhw, mulhwu, mulld, mulli, mullw, neg, nor, ori, rldicl. 2015-05-13 02:39:09 -05:00
Ben Vanik 0d3e79ad2c Supporting const src1 mul_hi. 2015-05-13 00:19:07 -07:00
Ben Vanik 6fd7e35deb Fixing subfme. 2015-05-13 00:15:42 -07:00
gibbed 3ba6598caf Constant tests for eqv, lvexx, lvl, lvr, lssl, lvsr, mulhd. 2015-05-13 01:53:07 -05:00
Ben Vanik 4248268b4f Fixing divd constant. 2015-05-12 23:38:02 -07:00
gibbed 4327724f77 Constant tests for divw, divwu. 2015-05-13 01:27:27 -05:00
Ben Vanik 398b37dc5f Fixing addze. 2015-05-12 23:26:21 -07:00
Ben Vanik 56bd2eee2e Fixing divdu by constant -1. 2015-05-12 23:09:32 -07:00
gibbed e7b03042ba Constant tests for addic, addme, addze, divd, divdu. 2015-05-13 01:01:12 -05:00
Ben Vanik 91c6ad8715 Fixing adde_constant. 2015-05-12 22:53:20 -07:00
gibbed dda6f3b6bd sldi is not srdi. 2015-05-13 00:35:35 -05:00
gibbed dc1b1ca638 Constant tests for add, addc, adde. 2015-05-13 00:21:57 -05:00
Ben Vanik a72dc93b92 'xb gentest' to generate test binaries on Windows. 2015-05-12 21:41:44 -07:00
Ben Vanik cbdfd09e0f Fixing SHR constant prop and new cntlz tests. 2015-05-12 18:59:45 -07:00
Ben Vanik 48ae4b65fb Fixing CountLeadingZeros constant prop. 2015-05-12 18:51:01 -07:00
Ben Vanik acfb5b5722 fnabsx 2015-05-12 18:43:16 -07:00
Dr. Chat 82eecb752b Fix 8bit and 16bit mul instructions and clean up some code 2015-05-12 13:35:13 -05:00
gibbed ff2c00e220 Just in case. 2015-05-12 06:51:31 -05:00
gibbed 19e733cff7 Added constant tests for cntlzd and cntlzw. 2015-05-12 01:20:26 -05:00
gibbed 24b13b03f5 Fixing more cpu feature guards. 2015-05-12 00:26:45 -05:00
Ben Vanik 497e5a9f69 Fixing cpu feature guards. 2015-05-11 22:13:55 -07:00
Ben Vanik ad7efa964f Adding --enable_haswell_instructions=false to disable modern instructions. 2015-05-11 21:42:10 -07:00
Ben Vanik fc02a0c404 Switching up std::vector use in register allocator. 2015-05-11 21:01:48 -07:00
Ben Vanik 7a00b76a6e Debugger stuff, and changing to vcproj's/sln. 2015-05-09 17:48:12 -07:00
Ben Vanik 4411a4499d XEX-style exports, dumping exports, and prepping kernel export lookup. 2015-05-09 00:59:03 -07:00
Ben Vanik 23eb343484 Calling DllMain, fixing ref count, and fixing module search. 2015-05-09 00:56:42 -07:00
Ben Vanik 0c646f4bc2 Prevent some stack overflows in MMIO handler. 2015-05-09 00:53:28 -07:00
Ben Vanik 94c62b91d0 --trace_functions and --trace_function_coverage 2015-05-05 22:44:36 -07:00
Ben Vanik ade5388728 bool-ifying xe::cpu 2015-05-05 18:52:54 -07:00
Ben Vanik 499bed21c0 Moving debugger. 2015-05-05 18:52:53 -07:00
Dr. Chat 2e9aec194f Ctrl+C Ctrl+V 2015-05-05 16:00:41 -05:00
Dr. Chat 26d8858684 Emulated vector shr 2015-05-05 15:58:51 -05:00
Dr. Chat cb127ae9ba Emulate some vector arithmetic opcodes (until we get a native implementation) 2015-05-05 15:39:37 -05:00
Dr. Chat cff09a4509 OPCODE_VECTOR_SHA and SPLAT_I16 for non-AVX2 CPUs 2015-05-05 14:35:37 -05:00
gibbed 3249f84700 It's vpblendw. 2015-05-05 13:58:21 -05:00
gibbed 6694461698 Fixed ecx restore in EmitShlXX/EmitShrXX/EmitShaXX. 2015-05-05 13:58:03 -05:00
Ben Vanik 743e01209b Update x64_sequences.cc 2015-05-05 10:23:04 -07:00
Dr. Chat c3f1e74814 And actually use vpblendw 2015-05-05 12:16:38 -05:00
Dr. Chat c1f9952cbd PERMUTE_I32 Alternative instructions 2015-05-05 12:16:31 -05:00
Dr. Chat 0e836f2eec Fix CNTLZ (I think)
SAR alt. instruction
2015-05-05 08:53:41 -05:00
Ben Vanik 442e5f2840 clang-format 2015-05-04 20:24:02 -07:00
Ben Vanik 0f14575592 Shrinking debug info. 2015-05-04 20:24:02 -07:00
Dr. Chat bb398f32ca Guard test code with __try __except 2015-05-04 20:12:02 -05:00
Ben Vanik 78921c1a7e Merging Runtime into Processor. 2015-05-03 22:28:25 -07:00
Ben Vanik 4c8f3501ad Removing xdb and old tracing code before rewrite. 2015-05-03 22:01:31 -07:00