diff options
-rw-r--r-- | target-alpha/translate.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/target-alpha/translate.c b/target-alpha/translate.c index 1e224a2152..fb2e9e5f60 100644 --- a/target-alpha/translate.c +++ b/target-alpha/translate.c @@ -2721,8 +2721,16 @@ static ExitStatus translate_one(DisasContext *ctx, uint32_t insn) break; case 0xC000: /* RPCC */ - if (ra != 31) - gen_helper_load_pcc(cpu_ir[ra]); + if (ra != 31) { + if (use_icount) { + gen_io_start(); + gen_helper_load_pcc(cpu_ir[ra]); + gen_io_end(); + ret = EXIT_PC_STALE; + } else { + gen_helper_load_pcc(cpu_ir[ra]); + } + } break; case 0xE000: /* RC */ |