aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-02-11 23:13:40 +0100
committercrueter <crueter@eden-emu.dev>2026-02-11 23:13:40 +0100
commitf6547fac8ccd75c8b9d15db21cc189d57e4fefa6 (patch)
tree38bfcb8648a611416da8502143e2f958def7e147 /src
parent9c685c144947690eb549160686e44616137912fc (diff)
[dynarmic] Define LSW on the same argument/use scratch gpr (#3520)
Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3520 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src')
-rw-r--r--src/dynarmic/src/dynarmic/backend/x64/emit_x64_data_processing.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/dynarmic/src/dynarmic/backend/x64/emit_x64_data_processing.cpp b/src/dynarmic/src/dynarmic/backend/x64/emit_x64_data_processing.cpp
index e7fdef2696..3c7058230b 100644
--- a/src/dynarmic/src/dynarmic/backend/x64/emit_x64_data_processing.cpp
+++ b/src/dynarmic/src/dynarmic/backend/x64/emit_x64_data_processing.cpp
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
/* This file is part of the dynarmic project.
@@ -57,10 +57,9 @@ void EmitX64::EmitLeastSignificantWord(EmitContext& ctx, IR::Inst* inst) {
auto args = ctx.reg_alloc.GetArgumentInfo(inst);
// TODO: DefineValue directly on Argument
- const Xbyak::Reg64 result = ctx.reg_alloc.ScratchGpr(code);
- const Xbyak::Reg64 source = ctx.reg_alloc.UseGpr(code, args[0]);
- code.mov(result.cvt32(), source.cvt32());
- ctx.reg_alloc.DefineValue(code, inst, result);
+ const Xbyak::Reg64 res = ctx.reg_alloc.UseScratchGpr(code, args[0]);
+ code.mov(res.cvt32(), res.cvt32());
+ ctx.reg_alloc.DefineValue(code, inst, res);
}
void EmitX64::EmitMostSignificantWord(EmitContext& ctx, IR::Inst* inst) {