On 11 October 2017 at 03:52, Richard Henderson <richard.hender...@linaro.org> wrote: > On 10/09/2017 06:48 AM, Peter Maydell wrote: >> - if (dc->condexec_mask) { >> + if (dc->condexec_mask && !thumb_insn_is_unconditional(dc, insn)) { >> uint32_t cond = dc->condexec_cond; >> >> if (cond != 0x0e) { /* Skip conditional when condition is AL. */ > > Don't you still need to advance the condexec_mask?
Yes -- that happens after we've called disas_thumb{,2}_insn() in thumb_tr_translate_insn(). This patch just makes always-unconditional insns behave as if the condition is AL. thanks -- PMM