<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 7, 2015 at 5:16 PM, JF Bastien <span dir="ltr"><<a href="mailto:jfb@chromium.org" target="_blank">jfb@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":15r" class="a3s" style="overflow:hidden">Hi chandlerc, jvoung,<br>
<br>
The resulting code is shorter and simpler to optimize. The existing code was more general, and still serves as the fallback case when the incoming vector type and the outgoing scalar are incompatible. This code should trigger more often than through type punning, but that's the user code I saw it trigger on.</div></blockquote></div><br>Not sure this is the right approach. It is a lot of complexity, and we still have the fallback.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Have you looked at teaching instcombine to transform the code produced by SROA today into the element extract? That would seem a better layering at the least, although I'm still on the fence about whether we want to in general perform this operation.</div></div>