Commit graph

  • f80d494723 Convert AIO's VABS optimization to AVX. Tyler Stachecki 2014-12-30 17:49:19 -05:00
  • 4fdf41cb61 Fix a mask typo in the last commit. Tyler Stachecki 2014-12-30 17:36:06 -05:00
  • 9804d16330 Fix a buggy accumulator clamp algorithm. Tyler Stachecki 2014-12-30 17:26:35 -05:00
  • 31577f57e6 Enable register-caching on MinGW. Tyler Stachecki 2014-12-30 11:37:08 -05:00
  • a4201f4435 Unbreak Windows builds (again). Tyler Stachecki 2014-12-30 10:40:11 -05:00
  • b36574e5bd Commit AIO's VLT optimizations. Tyler Stachecki 2014-12-30 10:32:55 -05:00
  • 84544d9521 Work in AIO's optimizations for VABS. Tyler Stachecki 2014-12-28 22:11:38 -05:00
  • b4c83e8d4b Set initial values for VCC/VCO/VCE. Tyler Stachecki 2014-12-29 17:23:29 -05:00
  • 2585daa532 Move around and patch bugs in new functions. Tyler Stachecki 2014-12-28 15:18:47 -05:00
  • b8fb829e1c Prevent register-caching on MinGW. Tyler Stachecki 2014-12-28 13:13:05 -05:00
  • dda369c888 Add support PE/COFF executable formats. Tyler Stachecki 2014-12-28 11:18:36 -05:00
  • 25670f76e7 Update toolchains with GNU AS references. Tyler Stachecki 2014-12-28 10:37:06 -05:00
  • 7e6293684e Optimize register-caching version of VMRG. Tyler Stachecki 2014-12-28 10:17:23 -05:00
  • 9077006d24 Only use VEX-encoded SSE where it helps us. Tyler Stachecki 2014-12-28 10:11:14 -05:00
  • d9d9eabf50 Fix register-caching version of VABS. Tyler Stachecki 2014-12-28 10:05:43 -05:00
  • 86967b828e Actually enable the register caching... Tyler Stachecki 2014-12-27 17:32:57 -05:00
  • fb3c395277 Implement register-caching version of VLT. Tyler Stachecki 2014-12-27 16:35:20 -05:00
  • ed1e354c68 Change RSP calling convention. Tyler Stachecki 2014-12-27 15:45:17 -05:00
  • d551d2b631 Implement register-caching version of VMRG. Tyler Stachecki 2014-12-27 14:58:09 -05:00
  • 9c43cf65ac Minor tweaks to VEQ/VNE register-cached versions. Tyler Stachecki 2014-12-27 14:32:50 -05:00
  • c979744c1a Implement register-caching versions of VGE. Tyler Stachecki 2014-12-27 13:16:15 -05:00
  • 8915df71d8 Implement register-caching versions of VEQ/VNE. Tyler Stachecki 2014-12-27 12:19:31 -05:00
  • ef997fe107 Prepare to register-cache RSP flags. Tyler Stachecki 2014-12-27 10:55:31 -05:00
  • 41eba75bc7 Register-caching variations of bitwise functions. Tyler Stachecki 2014-12-27 10:13:23 -05:00
  • 2efca0d94c Implement register-caching versions of VABS. Tyler Stachecki 2014-12-27 09:45:03 -05:00
  • 532dd87223 Actually optimize RelWithDebInfo builds. Tyler Stachecki 2014-12-27 08:15:10 -05:00
  • 4d55c15721 Actually optimize RelWithDebInfo builds. Tyler Stachecki 2014-12-27 08:15:10 -05:00
  • 4c9d129173 Fix SSSE3 builds/regex mistake in CMakeLists. Tyler Stachecki 2014-12-26 14:45:08 -05:00
  • 502e412dd7 Fix SSSE3 builds/regex mistake in CMakeLists. Tyler Stachecki 2014-12-26 14:45:08 -05:00
  • b0469d8c97 Commit latest fork of angrylion/MAME RDP. Tyler Stachecki 2014-12-26 14:26:17 -05:00
  • 3a582f81ac Clamp VMOV/VRCP/VRSQ in/outputs to full elements. Tyler Stachecki 2014-12-26 13:44:19 -05:00
  • c1f4ddd911 Fix MFC2/MTC2 odd-element byte indexing. Tyler Stachecki 2014-12-26 13:10:05 -05:00
  • 71db976759 Fix a typo in the VMOV implementation. Tyler Stachecki 2014-12-26 12:34:28 -05:00
  • bc8300c7de Fix a pair RSP flag-related bugs. Tyler Stachecki 2014-12-26 12:30:34 -05:00
  • 574c85ad37 Add some missing flag clears to VCL. Tyler Stachecki 2014-12-26 11:22:12 -05:00
  • 8f17a516bc Fix a stray memory copy. Tyler Stachecki 2014-12-26 09:11:54 -05:00
  • 6d0af5d89a Cleanup SSSE3+ loads and stores. Tyler Stachecki 2014-12-26 07:51:06 -05:00
  • ee526c543c Commit AIO's VCR optimizations. Tyler Stachecki 2014-12-26 07:04:12 -05:00
  • 3a969b2379 Do some general cleanup/optimization. Tyler Stachecki 2014-12-25 15:11:00 -05:00
  • b740c9a5b3 Optimize RSP CP2 register transfers. Tyler Stachecki 2014-12-25 14:40:38 -05:00
  • fea458e70c Add (partial) implementations for LPV/LUV/SPV/SUV. Tyler Stachecki 2014-12-25 14:03:52 -05:00
  • 03f04c1b82 Add implementation for MTC2. Tyler Stachecki 2014-12-25 12:09:01 -05:00
  • 9f9e3ebf80 Sort out a pair of RSP bugs. Tyler Stachecki 2014-12-25 11:33:01 -05:00
  • b33f2800ae Add implementation for MFC2. Tyler Stachecki 2014-12-25 11:22:38 -05:00
  • a2f87f843c Optimize VRCP* and VRSQ* functions. Tyler Stachecki 2014-12-25 10:38:01 -05:00
  • 824131db6b Use a union for RSP vectors to force alignment. Tyler Stachecki 2014-12-25 10:17:50 -05:00
  • dc008abe77 Fix more show-stopping RSP bugs. Tyler Stachecki 2014-12-24 17:34:17 -05:00
  • 173815ed63 Another bug: make sure memory requests get filled. Tyler Stachecki 2014-12-23 18:26:50 -05:00
  • 1e059e3f71 Fix a potentially disasterous RSP bug. Tyler Stachecki 2014-12-23 18:05:24 -05:00
  • 645f4b06ea Minor cleanup to the RSP pipeline. Tyler Stachecki 2014-12-23 17:54:06 -05:00
  • 6faca60054 Start reworking RSP vector loads and stores. Tyler Stachecki 2014-12-23 17:28:09 -05:00
  • f1929a056c Commit AIO's VMACF implementation. Tyler Stachecki 2014-12-24 15:18:59 -05:00
  • ae714715fb Commit AIO's VABS optimization. Tyler Stachecki 2014-12-23 01:13:50 -05:00
  • ab8dde80e9 Add AIO's implementation for VMULU. Tyler Stachecki 2014-12-23 01:10:15 -05:00
  • 2ee295a671 Fix RSP DMEM accesses. Tyler Stachecki 2014-12-22 23:53:13 -05:00
  • 3f2329be5b Fix a bug in VRCP/VRSQ precision selection. Tyler Stachecki 2014-12-22 21:06:17 -05:00
  • e52e031ce3 Add implementations for VRSQ, VRSQL, and VRSQH. Tyler Stachecki 2014-12-22 20:47:48 -05:00
  • 4b6904240e Add implementations for VRCP, VRCPL, and VRCPH. Tyler Stachecki 2014-12-22 20:29:16 -05:00
  • 73709f4c45 Add implementation for VCR. Tyler Stachecki 2014-12-22 13:01:03 -05:00
  • d3938056a4 Add a CONTRIBUTORS file. Tyler Stachecki 2014-12-22 11:32:20 -05:00
  • 88310a8104 Add AIO's implementation for VMULF. Tyler Stachecki 2014-12-22 09:49:39 -05:00
  • f268795da5 Add implementation for VMRG. Tyler Stachecki 2014-12-21 15:49:44 -05:00
  • 9f4664a4b6 Add implementation for VADDC. Tyler Stachecki 2014-12-21 15:29:16 -05:00
  • a955bf1e2c Add implementation for VSUBC. Tyler Stachecki 2014-12-21 15:07:00 -05:00
  • bea9f197c0 Upgrade POSIX_C_SOURCE so we get snprintf. Tyler Stachecki 2014-12-21 14:04:08 -05:00
  • f199c7bac8 Add implementation for VABS. Tyler Stachecki 2014-12-21 12:55:53 -05:00
  • de5b5b0f96 Commit AIO's VSUB optimizations, fix carry/borrow issue. Tyler Stachecki 2014-12-21 12:55:21 -05:00
  • 0be40f4358 Add implementations for VGE and VLT. Tyler Stachecki 2014-12-21 11:08:00 -05:00
  • dc50279609 Add implementations for VEQ and VNE. Tyler Stachecki 2014-12-21 10:38:59 -05:00
  • 579fb317a8 Formatting/consistency fixes (remove tabs). Tyler Stachecki 2014-12-21 10:20:45 -05:00
  • bd899f5034 Unbreak SSE2 builds. Tyler Stachecki 2014-12-21 09:48:01 -05:00
  • e1de6cd92d Add implementations for VCH. Tyler Stachecki 2014-12-21 09:29:58 -05:00
  • 0c556f5d25 Fix a last minute SSE4.1->SSE2 change. Tyler Stachecki 2014-12-20 17:01:31 -05:00
  • 145141225e Add implementations for VCL and CFC2. Tyler Stachecki 2014-12-20 11:44:00 -05:00
  • 7c83dcb0d3 Prevent GCC from eliding global register var writes. Tyler Stachecki 2014-12-20 10:21:41 -05:00
  • affb4bb746 Add a patch job fix for SSE2 RSP builds. Tyler Stachecki 2014-12-19 22:03:25 -05:00
  • cd9e41e54f Add a list of TODO for the VR4300. Tyler Stachecki 2014-12-19 21:16:18 -05:00
  • c72f2c5028 Fix RSP alignment issues once and for all. Tyler Stachecki 2014-12-19 20:03:03 -05:00
  • 78b4c78757 Add support for cross-compiling with mingw64. Tyler Stachecki 2014-12-18 00:37:44 -05:00
  • 369d33c2d1 Windows fixes as reported by magumagu. Tyler Stachecki 2014-12-07 10:38:47 -05:00
  • 8b363895d1 Add missing #include for snprintf. Tyler Stachecki 2014-11-19 10:42:15 -05:00
  • 8b45d7eab5 Fix padding around SSE register types. Tyler Stachecki 2014-11-16 14:27:43 -05:00
  • b1ada90657 Fix incorrect return value on successful exit. Tyler Stachecki 2014-11-16 14:21:00 -05:00
  • 10a5983c0c Add support for SSE4 FPU acceleration. Tyler Stachecki 2014-11-16 14:06:10 -05:00
  • 9e9114d2fa Cleanup the CMakeLists a little. Tyler Stachecki 2014-11-16 13:35:40 -05:00
  • 459aed5e8d Generate two binaries. Tyler Stachecki 2014-11-16 13:32:04 -05:00
  • 11afa4123d Give os/unix's UI thread a good waxing. Tyler Stachecki 2014-11-16 11:51:49 -05:00
  • c90e55a05d Lock around input reads. Tyler Stachecki 2014-11-16 10:19:56 -05:00
  • c1dc7cba08 Refactor for another major performance boost. Tyler Stachecki 2014-11-15 18:13:00 -05:00
  • d17db4cc18 Make sure keep rsp_vect_t aligned to 16 bytes. Tyler Stachecki 2014-11-15 15:58:35 -05:00
  • 4b806c5601 Remove some "experimental" code that got replaced. Tyler Stachecki 2014-11-15 15:55:26 -05:00
  • 061a04e216 Change width of fpu_state_t for x86_64. Tyler Stachecki 2014-11-15 15:43:00 -05:00
  • 172203eb70 Rework VR4300 CP1. Tyler Stachecki 2014-11-15 15:40:15 -05:00
  • 0d4a5de2f6 Remove some comments about SSE4 intrinsics. Tyler Stachecki 2014-11-15 14:31:57 -05:00
  • 31443e65c5 Mark another function as cen64_cold. Tyler Stachecki 2014-11-14 22:21:35 -05:00
  • 01df3de520 Aggressively push more code into the cold section. Tyler Stachecki 2014-11-14 21:28:34 -05:00
  • 4d46108cff Fix 8912b4cc50. Tyler Stachecki 2014-11-14 21:11:52 -05:00
  • 85654a891f Delay computing accurate value of count. Tyler Stachecki 2014-11-14 21:04:03 -05:00
  • 8912b4cc50 IC stage should never fault... I think. Tyler Stachecki 2014-11-14 20:39:33 -05:00
  • 0a9b8c2367 Make read_acc_* return a value. Tyler Stachecki 2014-11-13 19:54:33 -05:00