From e581d970d620732018da2511b2373b4afb9eb42a Mon Sep 17 00:00:00 2001 From: JosJuice Date: Tue, 29 Jun 2021 10:39:15 +0200 Subject: [PATCH] JitArm64: Fix MSVC warning '~': zero extending 'u32' to 'u64' While the third parameter of ANDI2R is u64, the upper half of it does not get read if we're emitting a 32-bit instruction (which we are doing here). --- Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp index 49f6e1bb3b..b88db80bcc 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp @@ -714,7 +714,8 @@ void JitArm64::mcrfs(UGeckoInstruction inst) if (mask != 0) { - ANDI2R(WA, WA, ~mask); + const u32 inverted_mask = ~mask; + ANDI2R(WA, WA, inverted_mask); STR(IndexType::Unsigned, WA, PPC_REG, PPCSTATE_OFF(fpscr)); }