X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=deps%2Flightrec%2Femitter.c;h=206a45ca6fbd62d03d6747e7a49c27d3433ca2ff;hb=89b1d73d6009cbd561f00f452fc055fcb0e62c33;hp=b09dc94927b810f20ac125ef52adfa2067febc62;hpb=0adc619b5a5705d16cc6caea64951776ababbb96;p=pcsx_rearmed.git diff --git a/deps/lightrec/emitter.c b/deps/lightrec/emitter.c index b09dc949..206a45ca 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] = {