<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 16, 2015, at 3:04 PM, Chandler Carruth <<a href="mailto:chandlerc@google.com" class="">chandlerc@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Fri, Jan 16, 2015 at 2:40 PM, Quentin Colombet <span dir="ltr" class=""><<a href="mailto:qcolombet@apple.com" target="_blank" class="">qcolombet@apple.com</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">Well, that may be the conclusion: The performance impact may be within the noise.</div><div class="">Since this kind of patterns are very specific, this is not surprising.</div><div class="">For the record, I tend to ignore the tests that run for less than 1 second (too noisy). Then, the noise level is usually around 1% on a quiet computer with fixed frequency, which is not too bad. </div></blockquote></div><br class="">Numbers would mostly be nice because I don't know if other targets have the thing that makes this such a huge win on x86 -- implicit concat with undef to form 2x-wide vectors.</div><div class="gmail_extra"><br class=""></div><div class="gmail_extra">This may be an x86-specific win, in which case it should just be added as a target-specific combine.</div></div></div></blockquote><div><br class=""></div><div><br class=""></div><div>We are filling half of a vector (v8), and we have to choose between concat two v4 to v8 and then shuffle, or shuffle in v4 and then concat with undef to have a v8.</div><div>I’m not sure I necessarily see the “target specific part” here, isn’t it a sort of canonicalization in the DAG? </div><div><br class=""></div><div>— </div><div>Mehdi</div><div><br class=""></div><div><br class=""></div><div> </div></div></body></html>