[LLVMdev] Clang 3.1 __builtin_ia32_pcmpeqd128 doesn't work anymore

Christophe Duvernois christophe.duvernois at gmail.com
Mon Jun 4 04:28:22 PDT 2012


Thanks for the answer,

So if i understand right, i can't directly compile the c code using clang.
And i need to manually generate some llvm ir to replace the builtin
function.

Is that right?


2012/6/4 Duncan Sands <baldrick at free.fr>

> Hi Christophe,
>
> > I recently migrate from llvm/clang 2.8 to 3.1.
> > The builtin __builtin_ia32_pcmpeqd128 compile and works perfectly with
> clang 2.8.
> > But with clang 3.1, i get the compilation error :
> >
> > use of unknown builtin '__builtin_ia32_pcmpeqd128'
> [-Wimplicit-function-declaration]
> >         __v4i comp = __builtin_ia32_pcmpeqd128(vectTag, vectTag2);
> >
> > (cf dummy.c -> clang -c dummy.c -o dummy.o)
> >
> > Is that normal? Is there an other way to do it?
>
> I think it was removed because you can get the same effect using generic
> IR:
> a "icmp eq" of the vectors, followed by a "sext" to the result type.
>
> Ciao, Duncan.
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120604/0d36f140/attachment.html>


More information about the llvm-dev mailing list