Commit graph

  • 6e474a3251 Implement a neat optimization in the VR4300 core. Tyler Stachecki 2014-11-12 13:57:57 -05:00
  • e4fbc9831d Increase VR4300_BUSY_WAIT_DETECTION performance. Tyler Stachecki 2014-11-12 12:54:36 -05:00
  • a00af95ce1 os/unix: Remove stray character from window title. Tyler Stachecki 2014-11-12 07:38:27 -05:00
  • 0fb96ebedd Revamp the CMake generator file. Tyler Stachecki 2014-11-11 22:33:58 -05:00
  • 7ce889135c Catch SIGINT when passed -nointerface. Tyler Stachecki 2014-11-11 17:44:43 -05:00
  • 538e344442 Add a -nointerface switch, remove spare '\t's. Tyler Stachecki 2014-11-11 17:21:25 -05:00
  • 71a126e425 Don't hangup the UI when the VI doesn't ack. Tyler Stachecki 2014-11-11 17:01:27 -05:00
  • 33d2e15278 Reduce size of rsp_vload_dmem dynarec code. Tyler Stachecki 2014-11-10 22:50:05 -05:00
  • fc22ab18ba Fix some corner-case bugs in the last commit. Tyler Stachecki 2014-11-10 19:04:23 -05:00
  • b4b95d1f21 Fix SS2 RSP vector loads/stores implementation. Tyler Stachecki 2014-11-10 18:32:12 -05:00
  • 2794b1c2a0 Don't flag os/main as cold. Tyler Stachecki 2014-11-10 14:39:33 -05:00
  • 316214d82d (Finally) permit SSE2-only builds. Tyler Stachecki 2014-11-10 14:29:13 -05:00
  • 3a24a67f1f Fix poor SSE2-based RSP performance. Tyler Stachecki 2014-11-10 11:02:21 -05:00
  • f66894935b Mark more initialization functions as cold. Tyler Stachecki 2014-11-09 19:11:09 -05:00
  • f70c1a5fc5 More _mm_set_s* over _mm_load_s* stuff. Tyler Stachecki 2014-11-09 18:54:07 -05:00
  • a0f1eb5d7c Move intrinsics to a common location. Tyler Stachecki 2014-11-09 18:51:54 -05:00
  • ffe40c4c20 Mark VR4300 exception handlers as cold. Tyler Stachecki 2014-11-09 18:38:58 -05:00
  • 1513f3cac2 arch/x86_64: Prefer _mm_set_s* over _mm_load_s*. Tyler Stachecki 2014-11-09 18:26:59 -05:00
  • e3d1934855 Enable non-standard-conforming optimizations. Tyler Stachecki 2014-11-09 17:49:58 -05:00
  • 9b3ce2134b Aggressively optimize loops when using GCC. Tyler Stachecki 2014-11-09 17:19:23 -05:00
  • 2f0e33263d Add RSP reciprocal ROM contents. Tyler Stachecki 2014-11-09 13:20:10 -05:00
  • 380577dfe3 Remove an assertion from VSAR... Tyler Stachecki 2014-11-08 21:27:45 -05:00
  • 4cfb7275a9 Fix and optimize rsp_uclamp_acc (once again). Tyler Stachecki 2014-11-08 19:07:08 -05:00
  • 9f8a9f9d62 Add implementations of VMADH and VMUDH. Tyler Stachecki 2014-11-08 13:48:03 -05:00
  • 007d72eda1 Add implementations of VMADL and VMADM. Tyler Stachecki 2014-11-08 11:37:17 -05:00
  • e4da36ef72 Fix debug builds. Tyler Stachecki 2014-11-05 19:22:40 -05:00
  • 16a7c434da Fix/optimize the RSP accumulator clamp LO algorithm. Tyler Stachecki 2014-11-05 16:58:59 -05:00
  • 6a0604eaca Fix the RSP accumulator clamping algorithm. Tyler Stachecki 2014-11-05 15:09:16 -05:00
  • e89f054674 Optimize extremely aggressively. Tyler Stachecki 2014-11-04 12:45:58 -05:00
  • b668296589 Add implementations of VADD and VSUB. Tyler Stachecki 2014-11-03 18:06:32 -05:00
  • 083ad75286 arch/x86_64: Cache RSP accumulator regs in host CPU. Tyler Stachecki 2014-11-03 16:48:38 -05:00
  • f741923329 AVX seems to help now; enable it again. Tyler Stachecki 2014-11-02 23:06:47 -05:00
  • da0436cbe1 Fix SSE preprocessor macro mistake. Tyler Stachecki 2014-11-02 22:50:06 -05:00
  • 716410d7b0 Remove an extra newline. Tyler Stachecki 2014-11-02 22:48:31 -05:00
  • d4a8f82b10 Change the RSP vector calling convention. Tyler Stachecki 2014-11-02 22:45:33 -05:00
  • b5ff809881 Add an implementation of VMADN. Tyler Stachecki 2014-11-02 22:31:37 -05:00
  • 89ecd417d8 Pack RSP results into a result structure. Tyler Stachecki 2014-11-02 13:40:49 -05:00
  • bf197cf3bd Implement VMUDL, VMUDM, VMUDN. Tyler Stachecki 2014-11-02 12:33:16 -05:00
  • c4612418ed Implement VINV, fixup INV. Tyler Stachecki 2014-11-02 11:57:26 -05:00
  • f6c77de8ea Fix an annoying little load-aligner bug. Tyler Stachecki 2014-11-02 11:53:39 -05:00
  • 6f54353825 Fix another incorrect RSP branch target. Tyler Stachecki 2014-11-02 10:28:29 -05:00
  • 87e856634f Undo changes from 1a90e6981e. Tyler Stachecki 2014-11-02 10:00:22 -05:00
  • fae5dcca5d Get rid of some undefined behavior warnings. Tyler Stachecki 2014-11-02 09:55:45 -05:00
  • 1a90e6981e Make sure SP_PC_REG returns an address in IMEM. Tyler Stachecki 2014-11-02 09:36:44 -05:00
  • aaf56a0928 Make sure RSP branch targets don't escape IMEM. Tyler Stachecki 2014-11-02 09:35:50 -05:00
  • 3f79c50369 Prevent wrap-arounds due to \t spillover. Tyler Stachecki 2014-11-02 00:34:47 -04:00
  • a5b380c925 Couple temporary fixes for Windows/MSVC. Tyler Stachecki 2014-11-01 23:53:54 -04:00
  • 321c81b208 Start restoring the Windows/MSVC build. Tyler Stachecki 2014-11-01 23:37:26 -04:00
  • 1394c48f6b Cleanup vi/controller.c. Tyler Stachecki 2014-11-01 23:37:17 -04:00
  • 2bb8fa3b83 os/unix: Output VI/s in window title. Tyler Stachecki 2014-11-01 21:49:58 -04:00
  • 238d61d32e Cleanup hairy edges from the last commit. Tyler Stachecki 2014-11-01 21:25:08 -04:00
  • 9c9bdbe8bd os/unix: Thread the renderer and event system. Tyler Stachecki 2014-11-01 20:08:55 -04:00
  • 08439c0f5f Remove some calls to malloc(...). Tyler Stachecki 2014-11-01 16:59:12 -04:00
  • 1d339f8f74 Restructure a lot of OS-dependent stuff. Tyler Stachecki 2014-11-01 14:22:07 -04:00
  • 5b0297d777 More performance optimizations. Tyler Stachecki 2014-10-28 00:10:14 -04:00
  • d45cab877a Add a -printsimstats switch. Tyler Stachecki 2014-10-27 19:23:34 -04:00
  • 4ec470fed7 Cleanup CMakeLists, add support for ICC (on Unix). Tyler Stachecki 2014-10-27 11:34:17 -04:00
  • 79d24aa1ed Revert Clang optimization level to -O2. Tyler Stachecki 2014-10-27 10:09:50 -04:00
  • 56e3ed8408 Don't use AVX on processors that support it. Tyler Stachecki 2014-10-26 17:08:00 -04:00
  • e3700274a9 Fix Clang compiler warnings. Tyler Stachecki 2014-10-26 16:34:11 -04:00
  • c522b7cab0 Some minor tweaks/fixes to the SU pipeline. Tyler Stachecki 2014-10-25 17:11:45 -04:00
  • 6a6f4174ca Fix edge cases for some LWC2 operations. Tyler Stachecki 2014-10-25 16:46:18 -04:00
  • 304f667674 Implement several LWC2/SWC2 opcodes. Tyler Stachecki 2014-10-25 13:59:53 -04:00
  • b9b989131f More peephole optimizations. Tyler Stachecki 2014-10-25 13:25:07 -04:00
  • 0c64ae620b Combine SLL, SLLV function logic. Tyler Stachecki 2014-10-25 13:01:20 -04:00
  • 87986a5037 Cut some instructions from execution functions. Tyler Stachecki 2014-10-25 12:52:08 -04:00
  • 85a21616cc Micro-optimization: faster li emulation. Tyler Stachecki 2014-10-25 12:40:27 -04:00
  • e698bfe1d1 Improving accuracy of RSP LWC2/SWC2 operations. Tyler Stachecki 2014-10-25 02:06:30 -04:00
  • 74327ef79e Compress LQV/SQV into one function. Tyler Stachecki 2014-10-24 23:56:42 -04:00
  • c027d75198 Fix a typo leading to an unnecessarily large array. Tyler Stachecki 2014-10-24 23:44:36 -04:00
  • ba2ca6f427 Fix more byte-ordering issues. This was hard. Tyler Stachecki 2014-10-24 23:43:24 -04:00
  • 2a90218af5 Require SSSE3 until we get SSE2 back in order. Tyler Stachecki 2014-10-24 21:38:19 -04:00
  • 1292220694 Fix a byte-ordering issue in the x86_64 RSP backend. Tyler Stachecki 2014-10-24 21:27:00 -04:00
  • e63b13605e Various LWC2/SWC2 fixes, add VSAR. Tyler Stachecki 2014-10-24 21:07:25 -04:00
  • 97587e3811 Add guards around SSSE3 version of rsp_vstore_dmem. Tyler Stachecki 2014-10-24 18:34:36 -04:00
  • f395be631e Start adding in support for LWC2/SWC2 ops: LQV/SQV. Tyler Stachecki 2014-10-24 18:31:13 -04:00
  • d0eb4d4532 Optimize (and fix a bug in) uncached reads. Tyler Stachecki 2014-10-23 09:40:47 -04:00
  • 5b49bb470d More branch folding: this time, loads. Tyler Stachecki 2014-10-22 18:47:27 -04:00
  • e9e82b9b22 Fix a compilation error in the last commit. Tyler Stachecki 2014-10-22 18:17:30 -04:00
  • 519f59f429 Start implementing some vector operators. Tyler Stachecki 2014-10-21 22:07:55 -04:00
  • 1061cec86b Lots of branch folding in the LD/ST aligner. Tyler Stachecki 2014-10-22 18:11:50 -04:00
  • 620c1cbec5 Add SSE2 support to arch/x86_64/rsp. Tyler Stachecki 2014-10-21 18:39:26 -04:00
  • 8ccf4eca32 Add writes to RDP space from RSP CP0. Tyler Stachecki 2014-10-20 13:20:09 -04:00
  • 62ebbd8c54 Fix a typo (wrong enumeration). Tyler Stachecki 2014-10-20 12:58:06 -04:00
  • b9ed6920c4 Implement multicycle instruction delays. Tyler Stachecki 2014-10-20 12:53:30 -04:00
  • b245149f3e Optimize out a store, add a safety net. Tyler Stachecki 2014-10-20 08:41:04 -04:00
  • 2079549cc5 Hoist assignment/store to assist optimizations. Tyler Stachecki 2014-10-20 08:26:27 -04:00
  • 4c2b49c779 Assist optimizations by changing a macro'd value. Tyler Stachecki 2014-10-20 08:10:32 -04:00
  • ab8687e263 Remove an unnecessary pair of RF writes. Tyler Stachecki 2014-10-20 07:42:07 -04:00
  • 715f075088 Micro-optimization: Make LDI checks cheaper. Tyler Stachecki 2014-10-19 14:15:49 -04:00
  • 4f359d3ded Restructure main loop to assist in optimization. Tyler Stachecki 2014-10-19 14:06:52 -04:00
  • 69b810cfaa Silence an unused variable warning. Tyler Stachecki 2014-10-18 12:31:28 -04:00
  • 9dc2a36313 Remove some RSP debugging code and sloppyness. Tyler Stachecki 2014-10-18 12:30:36 -04:00
  • 749b3906c9 Fix RSP DMEM endian issues and load-use code. Tyler Stachecki 2014-10-18 12:26:03 -04:00
  • 421b0e0519 Implement some RSP DMEM reads and writes. Tyler Stachecki 2014-10-18 11:26:51 -04:00
  • 4ff41a0e34 Fix DMA/interrupt issues with the RSP. Tyler Stachecki 2014-10-18 10:36:06 -04:00
  • df68d13733 FIx some PC-related bugs in the RSP. Tyler Stachecki 2014-10-18 10:21:15 -04:00
  • f5dc940dee Prevent the RSP from hanging the IPL. Tyler Stachecki 2014-10-17 15:27:32 -04:00
  • 0eea4f213e Start fleshing out the RSP backend. Tyler Stachecki 2014-10-17 10:30:25 -04:00
  • f021614648 Make sure LDI is triggered under the correct conditions. Tyler Stachecki 2014-10-17 10:12:50 -04:00