From 307e1351dfceb01b14227f3acb3ad805a6557a5b Mon Sep 17 00:00:00 2001 From: Eladash Date: Wed, 21 Jun 2023 11:30:09 +0300 Subject: [PATCH] asm.hpp: Fix mul_saturate --- rpcs3/util/asm.hpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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.