<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 5, 2014 at 8:02 AM, Robert Lougher <span dir="ltr"><<a href="mailto:rob.lougher@gmail.com" target="_blank">rob.lougher@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="im HOEnZb">On 5 December 2014 at 06:49, Sean Silva <<a href="mailto:chisophugis@gmail.com">chisophugis@gmail.com</a>> wrote:<br>
><br>
><br>
</span><span class="im HOEnZb">> On Wed, Dec 3, 2014 at 4:23 AM, Robert Lougher <<a href="mailto:rob.lougher@gmail.com">rob.lougher@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Hi,<br>
>><br>
>> In feedback from game studios a common issue is the replacement of<br>
>> loops with calls to memcpy/memset.  These loops are often<br>
>> hand-optimised, and highly-efficient and the developers strongly want<br>
>> a way to control the compiler (i.e. leave my loop alone).<br>
><br>
><br>
> Please provide examples of such "hand-optimised, and highly-efficient"<br>
> routines and test cases (and execution conditions) that demonstrate a<br>
> performance improvement.<br>
><br>
<br>
</span><span class="im HOEnZb">This sounds like a cop-out, but we can't share customer code (even if<br>
we could get a small runnable example).</span></blockquote><div><br></div><div>I doubt a reduced and sanitized example would violate any policy. If even a reduced and sanitized example violates your policy, then you may want to start an internal discussion regarding this policy because it is difficult to collaborate with such a policy. (it's not like you're being asked to post a reduced example of a trade-secret algorithm; it's just a memcpy loop).</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="im HOEnZb">  But this is all getting<br>
beside the point.  I discussed performance issues to try and justify<br>
why the user should have control.  That was probably a mistake as it<br>
has subverted the conversation.  The blunt fact is that game<br>
developers don't like their loops being replaced and they want user<br>
control.</span></blockquote><div><br></div><div>I'm not convinced. If the compiler produced code that was faster than what they wrote, they would not be complaining.</div><div><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="im HOEnZb">  The real conversation I wanted was what form should this<br>
user control take.  To be honest, I am surprised at the level of<br>
resistance to giving users *any* control over their codegen.<br>
</span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br></div></div>