aboutsummaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-29 01:18:03 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2009-03-29 01:18:03 +0000
commitaf4b6c54c141c1e2d3637fc15b912e82b88828cf (patch)
treed3d8895036656ebde5a1527bacd25afd2fbc4ce2 /target-ppc
parented1dda53d073acdb52889aa30f9d251061b053bd (diff)
downloadqemu-af4b6c54c141c1e2d3637fc15b912e82b88828cf.zip
qemu-af4b6c54c141c1e2d3637fc15b912e82b88828cf.tar.gz
qemu-af4b6c54c141c1e2d3637fc15b912e82b88828cf.tar.bz2
target-ppc: avoid nop to override next instruction
While searching PC, always store the pc of a new instruction. Instructions that didn't generate tcg code (such as nop) prevented the next one to be referenced. Based on patch for target-alpha, r6930. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6931 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc')
-rw-r--r--target-ppc/translate.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 952ee99..870aec5 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -8213,10 +8213,10 @@ static always_inline void gen_intermediate_code_internal (CPUState *env,
lj++;
while (lj < j)
gen_opc_instr_start[lj++] = 0;
- gen_opc_pc[lj] = ctx.nip;
- gen_opc_instr_start[lj] = 1;
- gen_opc_icount[lj] = num_insns;
}
+ gen_opc_pc[lj] = ctx.nip;
+ gen_opc_instr_start[lj] = 1;
+ gen_opc_icount[lj] = num_insns;
}
LOG_DISAS("----------------\n");
LOG_DISAS("nip=" ADDRX " super=%d ir=%d\n",