diff options
| author | Léo Lam <leo@leolam.fr> | 2021-03-16 10:40:10 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-16 10:40:10 +0100 |
| commit | 3fcc018fa7173e80b52758ca81b5d00eef018ac6 (patch) | |
| tree | 031bb0c7fe8ded8a84d1ca77ee2e7f2860d52d02 /Source/Core | |
| parent | f36b1cbb2a5ae9c60c42204b2ecc290496be0e11 (diff) | |
| parent | c0f840525fad31c5d8a883613dbe4dc99105ce34 (diff) | |
Merge pull request #9588 from JosJuice/jitarm64-srawx-a-s
JitArm64: Improve srawx special case carry calculation
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp index 6a4600d67c..04319a49e0 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp @@ -1401,13 +1401,14 @@ void JitArm64::srawx(UGeckoInstruction inst) { gpr.BindToRegister(a, a == s); - ASR(gpr.R(a), gpr.R(s), 31); - if (js.op->wantsCA) { + // Set the carry flag to the sign bit of s CMN(gpr.R(s), gpr.R(s)); ComputeCarry(); } + + ASR(gpr.R(a), gpr.R(s), 31); } else if (amount == 0) { |
