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
Update lightrec 20220912 (#688)
[pcsx_rearmed.git]
/
deps
/
lightrec
/
optimizer.c
diff --git
a/deps/lightrec/optimizer.c
b/deps/lightrec/optimizer.c
index
2eba60e
..
0190722
100644
(file)
--- a/
deps/lightrec/optimizer.c
+++ b/
deps/lightrec/optimizer.c
@@
-635,6
+635,10
@@
static u32 lightrec_propagate_consts(const struct opcode *op,
if (OPT_FLAG_MULT_DIV && c.r.imm)
known &= ~BIT(c.r.imm);
break;
if (OPT_FLAG_MULT_DIV && c.r.imm)
known &= ~BIT(c.r.imm);
break;
+ case OP_SPECIAL_MFLO:
+ case OP_SPECIAL_MFHI:
+ known &= ~BIT(c.r.rd);
+ break;
default:
break;
}
default:
break;
}
@@
-1645,6
+1649,9
@@
static int lightrec_flag_io(struct lightrec_state *state, struct block *block)
pr_debug("Flagging opcode %u as direct I/O access\n",
i);
list->flags |= LIGHTREC_IO_MODE(LIGHTREC_IO_DIRECT_HW);
pr_debug("Flagging opcode %u as direct I/O access\n",
i);
list->flags |= LIGHTREC_IO_MODE(LIGHTREC_IO_DIRECT_HW);
+
+ if (no_mask)
+ list->flags |= LIGHTREC_NO_MASK;
break;
}
fallthrough;
break;
}
fallthrough;