Rd = Rs - Rt (Exception on Integer Overflow)
| 354 | |
| 355 | // Rd = Rs - Rt (Exception on Integer Overflow) |
| 356 | void DSUB() |
| 357 | { |
| 358 | s64 result; |
| 359 | bool overflow = _add64_Overflow( cpuRegs.GPR.r[_Rs_].SD[0], -cpuRegs.GPR.r[_Rt_].SD[0], result ); |
| 360 | if (overflow || !_Rd_) return; |
| 361 | cpuRegs.GPR.r[_Rd_].SD[0] = result; |
| 362 | } |
| 363 | |
| 364 | void ADDU() { if (!_Rd_) return; cpuRegs.GPR.r[_Rd_].UD[0] = u64(s64(s32(cpuRegs.GPR.r[_Rs_].UL[0] + cpuRegs.GPR.r[_Rt_].UL[0]))); } // Rd = Rs + Rt |
| 365 | void DADDU() { if (!_Rd_) return; cpuRegs.GPR.r[_Rd_].UD[0] = cpuRegs.GPR.r[_Rs_].UD[0] + cpuRegs.GPR.r[_Rt_].UD[0]; } |
nothing calls this directly
no test coverage detected