Displaying 3 results from an estimated 3 matches for "x86_sse_rcp_p".
Did you mean:
x86_sse_rcp_ps
2008 May 20
0
[LLVMdev] Making use of SSE intrinsics
...pps(x) // FIXME
> StoreInst *storeResult = new StoreInst(y, ptr_y, false, basicBlock);
Using an IRBuilder, something like the following (uncompiled, but it's
at least approximately right):
Value* x = Builder.CreateLoad(ptr_x);
Function* rcpps = Intrinsic::getDeclaration(Module, Intrinsic::x86_sse_rcp_ps);
Value* y = Builder.CreateCall(rcpps, x);
Builder.CreateStore(y, ptr_y);
> Somewhat related to this, I'd also like to know how to 'reinterpret_cast'
> values. It can be quite useful to sometimes interpret a vector of
> floating-point values as a vector of integers (for insta...
2008 May 20
2
[LLVMdev] Making use of SSE intrinsics
Hi all,
I'd like to make use of some specific x86 Streaming SIMD Extension
instructions, but I don't know where to start. For instance the 'rcpps'
instructions computes a low precision but fast reciprocal. I've noticed that
LLVM supports intrinsics, but I couldn't find any information on how to use
them. I've tried digging through the LLVM-GCC code but it's just
2008 May 22
4
[LLVMdev] SSE intrinsic alignment bug?
...BasicBlock *entryBlock = new BasicBlock("", function, 0);
LLVMBuilder *builder = new LLVMBuilder(entryBlock);
{
Value *out_arg = args++;
Value *in_arg = args++;
Function *rcpps = Intrinsic::getDeclaration(module,
Intrinsic::x86_sse_rcp_ps);
Value *in = builder->Insert(new LoadInst(in_arg, "", false, 1));
Value *out = builder->CreateCall(rcpps, in);
builder->Insert(new StoreInst(out, out_arg, false, 1));
builder->CreateRetVoid();
}...