<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Right now we're shying towards having a re-association helper in codegen-prepare that will re-associate expressions (if allowed). This would allow fast-isel to more easily spot FMA opportunities, and form better code.<div><br><div><div>On Dec 12, 2012, at 5:11 PM, Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>You hit send right when I did!</div>
<div>For your example, do you mean that it's grouped like:</div><div>(fadd (fadd (fmul a b) (fmul c d)) e)</div><div><br></div><div>How would your pass go about handling these patterns and is that something that would be too complicated for fast-isel to do on the fly?</div>
</div><br></blockquote></div><br></div><div class="gmail_extra">Depends on how they're grouped, but if the formation happens prior to codegen then fast-isel will just handle whatever new instruction you've got. An example of IR would be useful though :)</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">-eric</div>
</blockquote></div><br></div></body></html>