diff --git a/src/dynarmic/backend/arm64/emit_arm64_vector.cpp b/src/dynarmic/backend/arm64/emit_arm64_vector.cpp index 803f7b55..4024299e 100644 --- a/src/dynarmic/backend/arm64/emit_arm64_vector.cpp +++ b/src/dynarmic/backend/arm64/emit_arm64_vector.cpp @@ -201,8 +201,8 @@ static void EmitThreeOpArrangedLower(oaknut::CodeGenerator& code, EmitContext& c template static void EmitSaturatedAccumulate(oaknut::CodeGenerator&, EmitContext& ctx, IR::Inst* inst, EmitFn emit) { auto args = ctx.reg_alloc.GetArgumentInfo(inst); - auto Qaccumulator = ctx.reg_alloc.ReadWriteQ(args[0], inst); - auto Qoperand = ctx.reg_alloc.ReadQ(args[1]); + auto Qaccumulator = ctx.reg_alloc.ReadWriteQ(args[1], inst); // NB: Swapped + auto Qoperand = ctx.reg_alloc.ReadQ(args[0]); // NB: Swapped RegAlloc::Realize(Qaccumulator, Qoperand); ctx.fpsr.Load();