search for: x86_sse_rcp_p

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(); }...