Commit graph

110 commits

Author SHA1 Message Date
Richard Goedeken
a961c711bf fix few more warnings 2020-05-27 21:13:21 -07:00
Julian Sikorski
ec4bfd62bc Merge remote-tracking branch 'upstream/master' 2019-08-09 20:39:35 +02:00
Iconoclast
3e3034988b re-ordered XOR before AND in DMA bounds check
A sample micro-optimization that saves one instruction.
2019-08-06 23:12:55 -04:00
Julian Sikorski
e4ae22295e Merge remote-tracking branch 'upstream/master' 2019-07-15 20:51:11 +02:00
Iconoclast
b3f3736b54 fixed unused symbol warnings 2018-12-18 19:51:51 -05:00
Zapeth
5b17225175 Merge branch 'master' of https://github.com/cxd4/rsp 2018-08-19 14:20:38 +02:00
Iconoclast
d0454d86c6 Disable signal-catching on _WIN32 since Project64's SEH clashes with it. 2018-03-19 00:33:50 -04:00
Iconoclast
226e7ef26e fixed [LS]WC2 sign mismatch warning #ifndef ARCH_MIN_SSE2 2018-03-18 17:37:37 -04:00
Iconoclast
c49c767b2c We don't care about the details of reserved ops.
Tracing the operands of an invalid LWC2 or SWC2 operation was just done to solve unused parameter warnings, which can be dodged without having to hack out a custom sprintf() replacement in the process.
2018-03-17 16:21:49 -04:00
Iconoclast
e1735b7131 Segregate bit-wise SP_STATUS_REG sets after clears.
This obfuscates the readable documentation of the SP_STATUS_REG bit resolutions in exchange for making it obvious how the bit patterns could be optimized (i.e., do all clears in one static operation and all sets in the next).  As said optimization would result in further obfuscation in exchange for micro-optimizing an infrequent scalar unit system control command, said optimization will not be done in this file.
2018-03-17 14:25:50 -04:00
Iconoclast
2c9f98a8d4 Allocate register files with enumerations, not macros. 2018-03-17 13:56:18 -04:00
Iconoclast
a9670d1e0e Infer available RDRAM allocated by emulator. 2018-03-17 12:28:31 -04:00
Iconoclast
0c16b5ae0a Allow the semaphore hack to try without full LLE. 2017-06-15 15:32:23 -06:00
Iconoclast
b03a098b85 Allow the semaphore hack to try without full LLE. 2017-06-10 21:42:34 -04:00
Francisco Zurita
cc6b8833e3 Add libretro NEON optimizations
credits: https://github.com/libretro/parallel-n64/tree/master/mupen64plus-rsp-cxd4
2017-03-04 23:36:21 -05:00
Charlemagne Lasse
136d15a68a Merge branch 'master' of https://github.com/cxd4/rsp into upstream-updates 2016-12-16 23:17:10 +01:00
Iconoclast
5af7b5a63c Remove extra check before calling RDP lists. 2016-11-05 23:14:51 -04:00
cxd4
837d40bd4e Update su.c 2016-11-05 22:53:30 -04:00
Iconoclast
20f4758083 rephrased immediate signedness decoder in SLTI[U] 2016-11-05 22:35:10 -04:00
Francisco Zurita
e86432df61 Update to latest CXD4 2016-07-28 08:27:07 -04:00
69ae479f86 fixed LP64 segfault in LSV
Recent pulls to my_types.h involved a change to the HALFWORD_ADDR_XOR mask to an unsigned constant (i.e., 02u instead of 02 signed int).  LSV in particular did multiplication of HES(0x000) which translated to (0 ^ 2u) which is not the same as (0 ^ 2).  Effectively, 64-bit systems did 0x00000000FFFFFFFFul * correction instead of 0xFFFFFFFFFFFFFFFFul * correction, which causes immediate crashing when (correction == 0) on valid implementations of the LP64 ABI.
2016-03-26 14:44:19 -04:00
2d04d3660f fixed remaining strict -Wshadow warning messages 2016-03-23 22:39:57 -04:00
e9edb921cf warning: declaration of inst shadows a global declaration [-Wshadow] 2016-03-23 22:31:38 -04:00
a6c5118152 style fixes 2016-03-05 18:31:57 -05:00
9cf9089a51 Remove the pointer relation requirement between DMEM and IMEM. 2016-03-05 18:24:56 -05:00
no
32b939f8da moved MFC0 SP_STATUS timer counts outside to DoRspCycles 2015-12-19 20:53:25 -05:00
no
d44b4462c3 moved task recovery and scheduling outside to DoRspCycles 2015-12-19 20:50:11 -05:00
cd5aae032d deleted old, unused source[] and target[] temp vectors 2015-12-19 14:33:26 -05:00
816be996dc deleted my old vector_op function pointer experiment 2015-12-18 22:31:19 -05:00
no
06586a444a Instead of PINSRW, try non-SSE for a pre-buffer. 2015-12-12 19:54:43 -05:00
unknown
730deb7667 finished restoring old VU scheduler optimizations 2015-12-11 23:16:51 -05:00
unknown
4618eca411 removed extra debugging statement I used while testing 2015-12-11 22:58:20 -05:00
no
243d41febb restored quarter-scalar vector optimizations 2015-12-11 20:59:28 -05:00
no
be090aa1a0 deleted global variable CPU_running 2015-12-11 08:44:39 -05:00
no
04e20c4370 removed unnecessary SP_STATUS_HALT constant CPU loop checks 2015-12-11 08:28:17 -05:00
unknown
e4bf8b360c Delete the inline function: R4000_fetch_decode_execute(). 2015-12-10 16:25:14 -05:00
no
8d2e63d64a Restore in-lined state to scalar vector ops. 2015-12-04 19:44:36 -05:00
no
d888e2af86 Restore in-lined state to plain vector ops. 2015-12-04 19:07:55 -05:00
unknown
639b98772e new IW_RD() #define to restore missing rd decode micro-opt. 2015-12-01 01:32:46 -05:00
unknown
14dfd31088 ~1.2% speed gain from not using LUT for shuffling 2015-11-30 23:02:04 -05:00
unknown
09342718ab deleted old sign- and zero-extension macro functions 2015-11-30 16:02:19 -05:00
unknown
88ffa325da moved the MMX recovery stuff out of SU unit to task dispatcher 2015-11-30 14:33:44 -05:00
unknown
c41883e6ee caught some remaining missed uses for FIT_IMEM() 2015-11-30 14:29:03 -05:00
unknown
4ae03a2bac restored old LW micro-optimizations using SR_B() macro 2015-11-30 13:32:37 -05:00
unknown
6b96e7e581 restored old SH and SW optimizations using SR_B() macro 2015-11-29 21:07:25 -05:00
unknown
a4a786954b rewrote COP2 to its own function for profiling/debugging 2015-11-28 23:08:43 -05:00
unknown
f9e20f9b37 rewrote COP0 to its own function for profiling/debugging 2015-11-28 22:16:35 -05:00
unknown
3675adb814 rewrote REGIMM to a separate function for profiling/debugging 2015-11-28 21:02:48 -05:00
unknown
d41ab3c4eb rewrote LWC2 and SWC2 2015-11-28 20:44:17 -05:00
unknown
b6d69ecd10 rewrote SPECIAL to its own function for profiling/debugging 2015-11-28 20:29:11 -05:00