<div dir="ltr">Hi Craig,<br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 3, 2015 at 8:27 PM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Sorry I missed this earlier.<br>
<br>
I'm all for removing unnecessary builtins. Does the backend lower these shuffles to the same instruction the builtin does? Do we have tests for that in the llvm side?<br></blockquote><div><br></div><div>In llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll there's the shuffle_v16i8_zz_zz_19_zz_zz_zz_zz_zz_zz_zz_zz_zz_zz_zz_zz_zz and 2 or 3 functions following it which have shuffle masks in this shape (with some undefs). Are those enough? If now, do you want me to add some more?</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Do you plan to remove the intrinsics from llvm in favor of the shuffles?<br></blockquote><div>I'll update the patch to do it, if there's nothing else using it.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
The casts inside the diagnostic pragmas seem inconsistent between the two macros. Was that intentional.<br></blockquote><div>Updating the patch.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Is there already an emmintrin test file this could be added to? Maybe just put them in sse-builtins.c<br></blockquote><div>There's no emmintrin test file. I started to add them outside sse-builtins.c because two of these tests need to have optimizations on, since they want the shufflevector to disappear (test_mm_srli_si128_0 and test_mm_srli_si128_16). I can split them and add the last two tests somewhere else, if you'd prefer it that way.</div><div><br></div><div>Thanks,</div><div><br></div><div> Filipe</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><div class="h5"><br>
<br>
<a href="http://reviews.llvm.org/D7199" target="_blank">http://reviews.llvm.org/D7199</a><br>
<br>
EMAIL PREFERENCES<br>
<a href="http://reviews.llvm.org/settings/panel/emailpreferences/" target="_blank">http://reviews.llvm.org/settings/panel/emailpreferences/</a><br>
<br>
<br>
</div></div></blockquote></div><br></div></div>