notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "clear Index0 data FIFO flag (#241)"
[pcsx_rearmed.git]
/
deps
/
lightrec
/
emitter.c
diff --git
a/deps/lightrec/emitter.c
b/deps/lightrec/emitter.c
index
b09dc94
..
0cf75c3
100644
(file)
--- a/
deps/lightrec/emitter.c
+++ b/
deps/lightrec/emitter.c
@@
-900,7
+900,7
@@
static void rec_store_direct(const struct block *block, const struct opcode *op,
struct lightrec_state *state = block->state;
struct regcache *reg_cache = state->reg_cache;
jit_state_t *_jit = block->_jit;
struct lightrec_state *state = block->state;
struct regcache *reg_cache = state->reg_cache;
jit_state_t *_jit = block->_jit;
- jit_node_t *to_not_ram, *to_end;
+ jit_node_t *to_not_ram, *to_end
= 0
;
u8 tmp, tmp2, tmp3, rs, rt;
jit_note(__FILE__, __LINE__);
u8 tmp, tmp2, tmp3, rs, rt;
jit_note(__FILE__, __LINE__);
@@
-1016,7
+1016,7
@@
static void rec_load_direct(const struct block *block, const struct opcode *op,
struct lightrec_state *state = block->state;
struct regcache *reg_cache = state->reg_cache;
jit_state_t *_jit = block->_jit;
struct lightrec_state *state = block->state;
struct regcache *reg_cache = state->reg_cache;
jit_state_t *_jit = block->_jit;
- jit_node_t *to_not_ram, *to_not_bios, *to_end, *to_end2;
+ jit_node_t *to_not_ram, *to_not_bios
= 0
, *to_end, *to_end2;
u8 tmp, rs, rt, addr_reg;
s16 imm;
u8 tmp, rs, rt, addr_reg;
s16 imm;
@@
-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);
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);
}
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;
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] = {
}
static const lightrec_rec_func_t rec_standard[64] = {