On 6/13/15 21:21, Chen Gang wrote: > +static void gen_st_add(struct DisasContext *dc, > + uint8_t rsrc, uint8_t rsrcb, uint8_t imm8,
It needs int8_t instead of uint8_t for imm8, or it will cause memmove() of glibc generates incorrect result with -O1/2/s optimization. And tilegx linux-user still has another issues (at least 1 another bug), I shall continue analyzing, hope I can finish them within this month. Thanks. > + TCGMemOp ops, const char *code) > +{ > + qemu_log_mask(CPU_LOG_TB_IN_ASM, "%s r%d, r%d, %d\n", > + code, rsrc, rsrcb, imm8); > + tcg_gen_qemu_st_i64(load_gr(dc, rsrcb), load_gr(dc, rsrc), > + MMU_USER_IDX, ops); > + tcg_gen_addi_i64(dest_gr(dc, rsrc), load_gr(dc, rsrc), imm8); > +} > + Thanks. -- Chen Gang Open, share, and attitude like air, water, and life which God blessed