From a59e553648d65481f8a85822bdd4749fe70371ad Mon Sep 17 00:00:00 2001 From: negativeExponent Date: Thu, 21 May 2020 00:16:51 +0800 Subject: Update deps/lightrec git subrepo clone --branch=master --force https://github.com/pcercuei/lightrec.git deps/lightrec subrepo: subdir: "deps/lightrec" merged: "2081869" upstream: origin: "https://github.com/pcercuei/lightrec.git" branch: "master" commit: "2081869" git-subrepo: version: "0.4.1" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "a04d8c2" --- deps/lightrec/emitter.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'deps/lightrec/emitter.c') diff --git a/deps/lightrec/emitter.c b/deps/lightrec/emitter.c index b09dc94..206a45c 100644 --- a/deps/lightrec/emitter.c +++ b/deps/lightrec/emitter.c @@ -1250,7 +1250,8 @@ static void rec_mtc(const struct block *block, const struct opcode *op, u32 pc) lightrec_regcache_mark_live(reg_cache, _jit); - if (op->i.op == OP_CP0 && (op->r.rd == 12 || op->r.rd == 13)) + if (op->i.op == OP_CP0 && !(op->flags & LIGHTREC_NO_DS) && + (op->r.rd == 12 || op->r.rd == 13)) lightrec_emit_end_of_block(block, op, pc, -1, pc + 4, 0, 0, true); } @@ -1427,7 +1428,7 @@ static void rec_meta_sync(const struct block *block, op->offset << 2); target = &state->targets[state->nb_targets++]; target->offset = op->offset; - target->label = jit_label(); + target->label = jit_indirect(); } static const lightrec_rec_func_t rec_standard[64] = { -- cgit v1.2.3