[LLVMdev] problem compiling x86 intrinsic function

Chris Lattner clattner at apple.com
Tue Dec 29 13:06:59 PST 2009


On Dec 29, 2009, at 12:47 PM, fima rabin wrote:

> Thanks for your advice.
> 
> I am not sure that I understood your comment "If you need something, there should be a __builtin that corresponds to the intrinsic." Is that a better way to define an intrinsic function in C? How do you do it?
> 
> I am actually trying to add several intrinsic functions for my target machine so I am looking for a simple and workable way of doing it.

Ah ok.  The 'right' way to do this is to add a builtin that correponds to the intrinsic.  In the case of the one you listed, the builtin is __builtin_ia32_cmpsd.  Depending on what frontend you're using, there are different ways to add the intrinsic.  In clang, you can grep for __builtin_ia32_cmpsd in lib/codegen for an example.  Another simpler way is to make the builtin correspond directly to the intrinsic with the 'GCCBuiltin' annotation in the intrinsic .td file.

-Chris





More information about the llvm-dev mailing list