Helper function is not called for some instructions
===

Friends, I am confused with a simple query. If I have inserted a helper function in the disas_insn function (disassembly function), is it necessary that it will be called for each instruction ??

I am writing a helper function that prints the pc of the instruction. I have put my helper function at the end of the disas_insn function in the translate.c file of i386 guest. 

In a nutshell, I am doing this,

    disas_insn func()
    {
    ....
    printf("translate.c : %u\n", s->pc);
    gen_helper_qqq(tcg_const_i32(s->pc));
    }

My helper function is like this :

    void helper_qqq(target_ulong pc)
    {
      printf("op_helper.c : %u\n", pc);
    }
As expected, the printf in translate.c is called for each instruction. But surprisingly, the helper function (in op_helper.c) is not being called for every instruction. Can somebody tell me the reason for this ??