projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a8a5546
)
target/arm: Hoist pc_next to a local variable in aarch64_tr_translate_insn
author
Richard Henderson
<richard.henderson@linaro.org>
Wed, 3 Nov 2021 04:03:43 +0000
(
00:03
-0400)
committer
Peter Maydell
<peter.maydell@linaro.org>
Wed, 15 Dec 2021 10:35:26 +0000
(10:35 +0000)
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/translate-a64.c
patch
|
blob
|
history
diff --git
a/target/arm/translate-a64.c
b/target/arm/translate-a64.c
index cec672f2296cd032fe70e22cca9c2523c48c4320..9c4258ccac2845c5217da067a581fa93f99ac6f1 100644
(file)
--- a/
target/arm/translate-a64.c
+++ b/
target/arm/translate-a64.c
@@
-14750,6
+14750,7
@@
static void aarch64_tr_translate_insn(DisasContextBase *dcbase, CPUState *cpu)
{
DisasContext *s = container_of(dcbase, DisasContext, base);
CPUARMState *env = cpu->env_ptr;
+ uint64_t pc = s->base.pc_next;
uint32_t insn;
if (s->ss_active && !s->pstate_ss) {
@@
-14769,10
+14770,10
@@
static void aarch64_tr_translate_insn(DisasContextBase *dcbase, CPUState *cpu)
return;
}
- s->pc_curr =
s->base.pc_next
;
- insn = arm_ldl_code(env, &s->base,
s->base.pc_next
, s->sctlr_b);
+ s->pc_curr =
pc
;
+ insn = arm_ldl_code(env, &s->base,
pc
, s->sctlr_b);
s->insn = insn;
- s->base.pc_next
+=
4;
+ s->base.pc_next
= pc +
4;
s->fp_access_checked = false;
s->sve_access_checked = false;