<div dir="ltr">Ah, I hadn't thought of that.<div>But it seems that the gcc manual explicitly says they're functions and that they're available: <a href="http://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/X86-Built-in-Functions.html#X86-Built-in-Functions">http://gcc.gnu.org/onlinedocs/gcc-4.9.0/gcc/X86-Built-in-Functions.html#X86-Built-in-Functions</a></div>
<div>I'm not sure, but I suppose we should keep them if they're documented as available, right? Or are we not maintaining compatibility here (our manual doesn't mention these builtins, AFAICT)?</div><div><br></div>
<div>I also don't see any other intrinsic doing the same (which doesn't mean we can't start now, obviously).</div><div><br></div><div>  Filipe</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Tue, May 6, 2014 at 2:01 PM, Rafael Ávila de Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="">Should code that is directly using the builtins themselves (like<br>
__builtin_ia32_pblendw256) be optimized too? If so wouldn't it be<br>
better to, for example, leave _mm256_blend_epi16 as is, remove<br>
__builtin_ia32_pblendw256 from  BuiltinsX86.def and make it a #define<br>
to shufflevector?<br>
<br>
</div><a href="http://reviews.llvm.org/D3601" target="_blank">http://reviews.llvm.org/D3601</a><br>
<br>
<br>
</blockquote></div><br></div>