<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 18, 2015 at 12:57 PM, Pablo Barrio <span dir="ltr"><<a href="mailto:Pablo.Barrio@arm.com" target="_blank">Pablo.Barrio@arm.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Also, virtually all processors beyond a certain level of sophistication (let's say, meant to run an OS) feature a return-stack prediction mechanism. This results in highly-efficient branch prediction for calls+returns. Since we are transforming the "call jumps" into "switch jumps", we are probably misusing that piece of hardware.</blockquote></div><br>Yes, it will be critical to use a branching pattern that similarly fits modern predictors. I don't think this will be hard though. Again, I'm continuing to work on a prototype actual pass.</div></div>