search for: vecty

Displaying 7 results from an estimated 7 matches for "vecty".

Did you mean: vect
2015 Apr 16
3
[LLVMdev] double* to <2 x double>*
...ntptr inbounds [100 x double]* @main.B, i32 0, i32 %i.021 %1 = bitcast double* %arrayidx1 to <2 x double>* %2 = load <2 x double>* %1, align 4 what I right now doing is: *Assume pInst is *%1 = load double* %arrayidx1, align 4, !tbaa !0 Value *loadValue = pInst->getOperand(0); Type *vecTy = VectorType::get(Type::getDoublePtrTy(currF->getContext()), 2); Value *emptyVec = UndefValue::get(vecTy); Type* u32Ty = Type::getInt32Ty(currF->getContext()); Value *index0 = ConstantInt::get(u32Ty, 0); Value *index1 = ConstantInt::get(u32Ty, 1); Instruction *InsertVal = InsertElementInst...
2012 Nov 28
0
[LLVMdev] [llvm-commits] [dragonegg] r168787 - in /dragonegg/trunk: src/x86/Target.cpp src/x86/x86_builtins test/validator/c/copysignp.c
...65,29 @@ > case addpd256: > Result = Builder.CreateFAdd(Ops[0], Ops[1]); > return true; > + case copysignpd: > + case copysignpd256: > + case copysignps: > + case copysignps256: { > + if (Ops.size() != 2) > + return false; > + VectorType *VecTy = dyn_cast<VectorType>(Ops[0]->getType()); > + if (Ops[1]->getType() != VecTy) > + return false; > + Type *EltTy = VecTy->getElementType(); > + unsigned EltBitWidth = EltTy->getPrimitiveSizeInBits(); > + Type *IntEltTy = IntegerType::get(Context, El...
2015 Apr 17
2
[LLVMdev] how to use "new instruction()"
...what I am trying to implement as the following. But it seems I still only get the constant value not the instruction. Could you please go over the following instruction and see what wrong with it? Thanks for your time again. Value *vecVal = NULL; IRBuilder<> builder(&*pInst); Type *vecTy = VectorType::get(Type::getDoubleTy(ctxt), 2); Value *emptyVec = UndefValue::get(vecTy); Type* u32Ty = Type::getInt32Ty(currF->getContext()); Value *index0 = ConstantInt::get(u32Ty, 0); Value *index1 = ConstantInt::get(u32Ty, 1); Instruction *InsertVal = InsertElementInst::Create(e...
2015 Apr 17
2
[LLVMdev] how to use "new instruction()"
...the scalar version FADD. I want to have an instruction like: >> *%2 = fadd <2 x double> undef, <2 x double> undef. *The following is the >> way I used to create the vectorized FADD instruction: >> >> //pInst is a double type instruction >> >> Type *vecTy = VectorType::get(pInst->getType(), 2); >> Value *emptyVec = UndefValue::get(vecTy); >> IRBuilder<> builder(&*pInst); >> Value *dupVal = builder.CreateFAdd(emptyVec, emptyVec, instName); >> std::cout << " dupVal " << *dupVal <&l...
2015 Apr 17
2
[LLVMdev] how to use "new instruction()"
...ype FADD instruction. It works if I use it to create the scalar version FADD. I want to have an instruction like: *%2 = fadd <2 x double> undef, <2 x double> undef. *The following is the way I used to create the vectorized FADD instruction: //pInst is a double type instruction Type *vecTy = VectorType::get(pInst->getType(), 2); Value *emptyVec = UndefValue::get(vecTy); IRBuilder<> builder(&*pInst); Value *dupVal = builder.CreateFAdd(emptyVec, emptyVec, instName); std::cout << " dupVal " << *dupVal << "\n"; It outputs: dup...
2012 Nov 14
4
[LLVMdev] About a problem in SROA
...Any idea? diff --git a/lib/Transforms/Scalar/SROA.cpp b/lib/Transforms/Scalar/SROA.cpp index d95c855..696107a 100644 --- a/lib/Transforms/Scalar/SROA.cpp +++ b/lib/Transforms/Scalar/SROA.cpp @@ -2608,8 +2608,6 @@ private: assert(OldOp == OldPtr); IRBuilder<> IRB(&SI); - if (VecTy) - return rewriteVectorizedStoreInst(IRB, SI, OldOp); Type *ValueTy = SI.getValueOperand()->getType(); uint64_t Size = EndOffset - BeginOffset; @@ -2644,6 +2642,9 @@ private: return IsConvertable; } + if (VecTy) + return rewriteVectorizedStoreInst(IRB, SI, Ol...
2015 Apr 17
2
[LLVMdev] how to use "new instruction()"
Value * is the instruction. use dyn_cast<Instruction> to get to it. On Thu, Apr 16, 2015 at 11:39 PM zhi chen <zchenhn at gmail.com> wrote: > But IRBuilder.CreateXYZ only returns a "VALUE" type. Can I get the > instruction created by it? For example, > > IRBuilder<> builder(&*pinst); > Value *val = builder.CreateFAdd(LV, RV, ""); >