diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2023-06-05 13:17:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-06-05 13:17:54 +0200 |
| commit | e3aaf230e69fe80c0a7fdd60f80fa869ee4e7c22 (patch) | |
| tree | 978dc2fe2765641d2c3717c0f2fed6487844c583 | |
| parent | 252d3f353aa74b06a1c67daa65eb60f786608a6a (diff) | |
| parent | c1580ebf30164557af29200fbe4941026681883a (diff) | |
Merge pull request #11890 from shuffle2/msvc-opt
msvc: workaround optimizer bug
| -rw-r--r-- | Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp index 26848d8d9c..46b246c910 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp @@ -326,7 +326,17 @@ void JitArm64::boolX(UGeckoInstruction inst) else if ((gpr.IsImm(s) && (gpr.GetImm(s) == 0 || gpr.GetImm(s) == 0xFFFFFFFF)) || (gpr.IsImm(b) && (gpr.GetImm(b) == 0 || gpr.GetImm(b) == 0xFFFFFFFF))) { - const auto [i, j] = gpr.IsImm(s) ? std::pair(s, b) : std::pair(b, s); + int i, j; + if (gpr.IsImm(s)) + { + i = s; + j = b; + } + else + { + i = b; + j = s; + } bool is_zero = gpr.GetImm(i) == 0; bool complement_b = (inst.SUBOP10 == 60 /* andcx */) || (inst.SUBOP10 == 412 /* orcx */); |
