On Mon, Sep 05, 2016 at 12:02:14PM -0700, Richard Henderson wrote: > On 09/05/2016 04:54 AM, Rabin Vincent wrote: > >From: "Edgar E. Iglesias" <ed...@axis.com> > > > >Icount may choose to abort and recompile a TB at any load/store. We > >need to sync the CC state at these insns. > > > >Signed-off-by: Edgar E. Iglesias <ed...@axis.com> > >Signed-off-by: Rabin Vincent <rab...@axis.com> > >--- > > target-cris/translate.c | 9 +++++++++ > > target-cris/translate_v10.c | 3 +++ > > 2 files changed, 12 insertions(+) > > > >diff --git a/target-cris/translate.c b/target-cris/translate.c > >index f4a8d7d..c280e24 100644 > >--- a/target-cris/translate.c > >+++ b/target-cris/translate.c > >@@ -1098,6 +1098,9 @@ static void gen_load64(DisasContext *dc, TCGv_i64 dst, > >TCGv addr) > > { > > int mem_index = cpu_mmu_index(&dc->cpu->env, false); > > > >+ /* Due to icount, we need to update the CC flags on load/stores. */ > >+ cris_evaluate_flags(dc); > >+ > > This is not the proper way to handle this. You should arrange to sync the > CC flags in restore_state_to_opc. There are plenty of examples in the tree > you can examine. It looks like there's plenty of room for cleanup for cris > here. >
Thanks, agreed. Rabin, most of the CRIS patches that I left in the AXIS tree without upstreaming need more work. I don't mind you posting them but keep in mind that there's not much that can go up without tidy up. Best regards, Edgar