aboutsummaryrefslogtreecommitdiff
path: root/deps/lightrec/emitter.c
diff options
context:
space:
mode:
authornegativeExponent2020-05-21 00:16:51 +0800
committernegativeExponent2020-05-21 00:17:25 +0800
commita59e553648d65481f8a85822bdd4749fe70371ad (patch)
treee6ef9eb4c614871732bec1e9127395b973e73817 /deps/lightrec/emitter.c
parent5c00ea32a0eab812299b08acd14c25bf6ba4ca7a (diff)
downloadpcsx_rearmed-a59e553648d65481f8a85822bdd4749fe70371ad.tar.gz
pcsx_rearmed-a59e553648d65481f8a85822bdd4749fe70371ad.tar.bz2
pcsx_rearmed-a59e553648d65481f8a85822bdd4749fe70371ad.zip
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"
Diffstat (limited to 'deps/lightrec/emitter.c')
-rw-r--r--deps/lightrec/emitter.c5
1 files changed, 3 insertions, 2 deletions
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] = {