> Any other instructions I should look into? Perhaps lret/lret im? Possibly (for completeness), but they are extremely rare in 32- and 64-bit code.
You also didn't cover any of syscall/sysret and sysenter/sysexit in your patch, which would be on a relatively slow path but not _that_ slow. But that probably should be a separate patch, moving the env->eip assignment from seg_helper.c to translate.c and using the resulting TCGv as the argument for jr. Paolo > Anyway, nbench does not improve much with the above. The reason seems to be > that it's full of direct jumps (visible with -d in_asm). Also tried softmmu > to see whether these jumps are in-page or not: peak improvement is ~8%, so > I guess most of them are in-page. See http://imgur.com/EKRrYUz > > I'm running new tests on a server with no other users and which has > frequency scaling disabled. This should help get less noisy numbers, > since I'm having trouble replicating my own results :> (I used my desktop > machine until now). Will post these numbers tomorrow (running overnight > SPECint both train and set sizes). > > Thanks, > > Emilio >