diff --git a/rpcs3/util/asm.hpp b/rpcs3/util/asm.hpp index 8abf17879a..a0a9e30d66 100644 --- a/rpcs3/util/asm.hpp +++ b/rpcs3/util/asm.hpp @@ -401,11 +401,10 @@ namespace utils return minuend < subtrahend ? T{0} : static_cast(minuend - subtrahend); } - template constexpr T mul_saturate(T factor1, T factor2) { - return T{umax} / factor1 < factor2 ? T{umax} : static_cast(factor1 * factor2); + return factor1 > 0 && T{umax} / factor1 < factor2 ? T{umax} : static_cast(factor1 * factor2); } // Hack. Pointer cast util to workaround UB. Use with extreme care.