<div class="gmail_quote">On 20 June 2012 11:14, deadalnix <span dir="ltr"><<a href="mailto:deadalnix@gmail.com" target="_blank">deadalnix@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Le 20/06/2012 09:58, Manu a écrit :<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
On 20 June 2012 10:42, deadalnix <<a href="mailto:deadalnix@gmail.com" target="_blank">deadalnix@gmail.com</a><br></div><div class="im">
<mailto:<a href="mailto:deadalnix@gmail.com" target="_blank">deadalnix@gmail.com</a>>> wrote:<br>
<br>
    Le 19/06/2012 22:58, Manu a écrit :<br>
<br></div><div class="im">
        This would almost entirely eliminate the usefulness of an inline<br>
        assembler.<br>
        Better yet, this could use the 'new' attribute syntax, which<br>
        most agree<br>
        will support arguments:<br>
        @register(rsp) int x;<br>
<br>
<br>
    Choosing registers is something the compiler is better at than us<br>
    most of the time.<br>
<br>
    For this very reason, I think we want to go in the exact opposite<br>
    direction : asm with compiler choosen register when possible.<br>
<br>
<br></div><div class="im">
...I think you've missed the entire point of my suggestion.<br>
But that's okay. I give up ;)<br>
</div></blockquote>
<br>
We presented you example code where your approach isn't going to do the trick. You are free to ignore them.<br>
</blockquote></div><br><div>No, the entire point of my suggestion IS to allow seamless mixing with conventional code, which includes compiler register assignment.</div><div>The main problem with IA is it's interference with the optimiser, and it's inability to make automatic register selection.</div>
<div><br></div><div>Walter claimed push/pop intrinsics wouldn't work due to alignment issues, but I think that's a moot argument, since it's identical to writing your code in asm anyway. If the asm works, then it'll work using an intrinsic exactly the same.</div>
<div>The neat bonus is, you can interleave it with structured code, any non-critical variables can be automatically assigned by the compiler as usual... and if the compiler feels comfortable to reorder the code, it can do so.</div>