Hi all, I am trying to understand what the difference should be between DISAS_JUMP and DISAS_UPDATE. Actually, these macros have comments in include/exec/exec-all.h which say that DISAS_JUMP should be used when only PC was modified dynamically whereas DISAS_UPDATE should be used when some other CPU state was (in addition to PC?) modified dynamically. In fact, every target except ARM AArch64 does not distinguish between them. As I can see ARM AArch64 seems to suppose that: (1) PC was not modified when DISAS_UPDATE is used and should be updated with dc->pc when finishing translation; (2) DISAS_JUMP can be used to indicate that a new PC value was set and it should be preserved when finishing translation.
So I'm a bit confused... What the difference should be? Maybe something should be fixed/clarified to make the comments and the code consistent. Best regards, Sergey