[LLVMdev] Clang 3.1 __builtin_ia32_pcmpeqd128 doesn't work anymore
Duncan Sands
baldrick at free.fr
Mon Jun 4 04:29:56 PDT 2012
Hi Christophe,
> 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?
I think so, though I don't know much about clang's support for such intrinsics,
just what's in http://clang.llvm.org/compatibility.html#vector_builtins
Ciao, Duncan.
>
>
> 2012/6/4 Duncan Sands <baldrick at free.fr <mailto: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 <mailto:LLVMdev at cs.uiuc.edu> http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
More information about the llvm-dev
mailing list