target/rx: update PC correctly in wait instruction
`cpu_pc` at this point does not necessary point to the current instruction (i.e., the wait instruction being translated), so it's incorrect to calculate the new value of `cpu_pc` based on this. It must be updated with `ctx->base.pc_next`, which contains the correct address of the next instruction. This change fixes the wait instruction skipping the subsequent branch when used in an idle loop like this: 0: wait bra.b 0b brk // should be unreachable Signed-off-by:Tomoaki Kawada <i@yvt.jp> Reviewed-by:
Yoshinori Sato <ysato@users.sourceforge.jp> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220417060224.2131788-1-i@yvt.jp> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
Loading
Please register or sign in to comment