[LLVMdev] Other Intrinsics?

Chris Lattner sabre at nondot.org
Tue Nov 27 10:22:22 PST 2007

On Tue, 27 Nov 2007, Jon Sargeant wrote:
> Do you have plans to add other intrinsics?  I'm curious as to why there
> is an llvm.sin intrinsic and an llvm.cos intrinsic, but no llvm.atan
> intrinsic.  Why is there an llvm.pow intrinsic but no llvm.log
> intrinsic?

Intrinsics get added on demand.  Generally there has to be a good reason 
to add them.  llvm.sin was implemented (for example) to allow generation 
of code that uses vector sin operations.

To be honest, I'm not sure I understand why it exists anymore.  Maybe Dan 
can comment on that.

> Also, have you thought about integer intrinsics like
> multiprecision multiply (u32xu32->u64) and multiprecision divide
> (u64/u32->(dividend:u32,remainder:u32))?

We don't need anything fancy for these, see this recent thread:



More information about the llvm-dev mailing list