Re: [Qemu-devel] [PATCH 09/10] target/i386: optimize indirect branches with TCG's jr op

2017-04-13 Thread Paolo Bonzini
> 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 th

Re: [Qemu-devel] [PATCH 09/10] target/i386: optimize indirect branches with TCG's jr op

2017-04-12 Thread Emilio G. Cota
On Wed, Apr 12, 2017 at 11:43:45 +0800, Paolo Bonzini wrote: > > > On 12/04/2017 09:17, Emilio G. Cota wrote: > > > > The fact that NBench is not very sensitive to changes here is a > > little surprising, especially given the significant improvements for > > ARM shown in the previous commit. I w

Re: [Qemu-devel] [PATCH 09/10] target/i386: optimize indirect branches with TCG's jr op

2017-04-11 Thread Paolo Bonzini
On 12/04/2017 09:17, Emilio G. Cota wrote: > > The fact that NBench is not very sensitive to changes here is a > little surprising, especially given the significant improvements for > ARM shown in the previous commit. I wonder whether the compiler is doing > a better job compiling the x86_64 ver

[Qemu-devel] [PATCH 09/10] target/i386: optimize indirect branches with TCG's jr op

2017-04-11 Thread Emilio G. Cota
Speed up indirect branches by adding a helper to look for the TB in tb_jmp_cache. The helper returns either the corresponding host address or NULL. Measurements: - NBench, x86_64-linux-user. Host: Intel i7-4790K @ 4.00GHz Y axis: Speedup over 95b31d70