Commit ed1dda53d073acdb52889aa30f9d251061b053bd

Authored by aurel32
1 parent aa4b8180

target-alpha: bug fix: 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.

Signed-off-by: Tristan Gingold <gingold@adacore.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6930 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 3 additions and 3 deletions
target-alpha/translate.c
@@ -2379,10 +2379,10 @@ static always_inline void gen_intermediate_code_internal (CPUState *env, @@ -2379,10 +2379,10 @@ static always_inline void gen_intermediate_code_internal (CPUState *env,
2379 lj++; 2379 lj++;
2380 while (lj < j) 2380 while (lj < j)
2381 gen_opc_instr_start[lj++] = 0; 2381 gen_opc_instr_start[lj++] = 0;
2382 - gen_opc_pc[lj] = ctx.pc;  
2383 - gen_opc_instr_start[lj] = 1;  
2384 - gen_opc_icount[lj] = num_insns;  
2385 } 2382 }
  2383 + gen_opc_pc[lj] = ctx.pc;
  2384 + gen_opc_instr_start[lj] = 1;
  2385 + gen_opc_icount[lj] = num_insns;
2386 } 2386 }
2387 if (num_insns + 1 == max_insns && (tb->cflags & CF_LAST_IO)) 2387 if (num_insns + 1 == max_insns && (tb->cflags & CF_LAST_IO))
2388 gen_io_start(); 2388 gen_io_start();