reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
5254 if (!Ty) 5277 return EmitNeonCall(CGM.getIntrinsic(Intrinsic::fabs, Ty), Ops, "vabs"); 5278 return EmitNeonCall(CGM.getIntrinsic(LLVMIntrinsic, Ty), Ops, "vabs"); 5326 return EmitAArch64CompareBuiltinExpr(Ops[0], Ty, ICmpInst::FCMP_OEQ, 5330 return EmitAArch64CompareBuiltinExpr(Ops[0], Ty, ICmpInst::FCMP_OGE, 5334 return EmitAArch64CompareBuiltinExpr(Ops[0], Ty, ICmpInst::FCMP_OLE, 5338 return EmitAArch64CompareBuiltinExpr(Ops[0], Ty, ICmpInst::FCMP_OGT, 5342 return EmitAArch64CompareBuiltinExpr(Ops[0], Ty, ICmpInst::FCMP_OLT, 5352 Ops[0] = Builder.CreateBitCast(Ops[0], Ty); 5353 Ty = GetNeonType(this, NeonTypeFlags(NeonTypeFlags::Float32, false, Quad), 5355 return Usgn ? Builder.CreateUIToFP(Ops[0], Ty, "vcvt") 5356 : Builder.CreateSIToFP(Ops[0], Ty, "vcvt"); 5359 Ops[0] = Builder.CreateBitCast(Ops[0], Ty); 5360 Ty = GetNeonType(this, NeonTypeFlags(NeonTypeFlags::Float16, false, Quad), 5362 return Usgn ? Builder.CreateUIToFP(Ops[0], Ty, "vcvt") 5363 : Builder.CreateSIToFP(Ops[0], Ty, "vcvt"); 5370 llvm::Type *Tys[2] = { GetFloatNeonType(this, Type), Ty }; 5387 llvm::Type *Tys[2] = { Ty, GetFloatNeonType(this, Type) }; 5404 return Usgn ? Builder.CreateFPToUI(Ops[0], Ty, "vcvt") 5405 : Builder.CreateFPToSI(Ops[0], Ty, "vcvt"); 5455 llvm::Type *Tys[2] = { Ty, GetFloatNeonType(this, Type) }; 5465 Ops[0] = Builder.CreateBitCast(Ops[0], Ty); 5466 Ops[1] = Builder.CreateBitCast(Ops[1], Ty); 5471 Function *F = CGM.getIntrinsic(Intrinsic::fma, Ty); 5472 Ops[0] = Builder.CreateBitCast(Ops[0], Ty); 5473 Ops[1] = Builder.CreateBitCast(Ops[1], Ty); 5474 Ops[2] = Builder.CreateBitCast(Ops[2], Ty); 5481 llvm::Type *Tys[] = {Ty, Int8PtrTy}; 5496 Ty = llvm::PointerType::getUnqual(Ops[1]->getType()); 5497 Ops[0] = Builder.CreateBitCast(Ops[0], Ty); 5512 llvm::Type *Tys[] = {Ty, Int8PtrTy}; 5516 Ty = llvm::PointerType::getUnqual(Ops[1]->getType()); 5517 Ops[0] = Builder.CreateBitCast(Ops[0], Ty); 5522 Value *V = UndefValue::get(Ty); 5523 Ty = llvm::PointerType::getUnqual(VTy->getElementType()); 5524 PtrOp0 = Builder.CreateBitCast(PtrOp0, Ty); 5536 llvm::Type *Tys[] = {Ty, Int8PtrTy}; 5539 Ops[I] = Builder.CreateBitCast(Ops[I], Ty); 5542 Ty = llvm::PointerType::getUnqual(Ops[1]->getType()); 5543 Ops[0] = Builder.CreateBitCast(Ops[0], Ty); 5550 return Builder.CreateZExt(Ops[0], Ty, "vmovl"); 5551 return Builder.CreateSExt(Ops[0], Ty, "vmovl"); 5556 return Builder.CreateTrunc(Ops[0], Ty, "vmovn"); 5566 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmull"); 5575 llvm::Type *Tys[2] = { Ty, NarrowTy }; 5585 llvm::Type *Tys[2] = { Ty, NarrowTy }; 5592 EmitNeonCall(CGM.getIntrinsic(LLVMIntrinsic, Ty), MulOps, "vqdmlal"); 5594 return EmitNeonCall(CGM.getIntrinsic(AltLLVMIntrinsic, Ty), Ops, NameHint); 5598 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshl_n", 5602 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshlu_n", 5608 Int = Ty->isFPOrFPVectorTy() ? LLVMIntrinsic : AltLLVMIntrinsic; 5609 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, NameHint); 5613 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, NameHint); 5616 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrshr_n", 5620 Ops[1] = EmitNeonShiftVector(Ops[1], Ty, false); 5621 return Builder.CreateShl(Builder.CreateBitCast(Ops[0],Ty), Ops[1], 5641 return Builder.CreateTrunc(Ops[0], Ty, "vshrn_n"); 5645 return EmitNeonRShiftImm(Ops[0], Ops[1], Ty, Usgn, "vshr_n"); 5660 llvm::Type *Tys[] = {Int8PtrTy, Ty}; 5700 Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(Ty)); 5701 Ops[1] = Builder.CreateBitCast(Ops[1], Ty); 5702 Ops[2] = Builder.CreateBitCast(Ops[2], Ty); 5711 Value *Addr = Builder.CreateConstInBoundsGEP1_32(Ty, Ops[0], vi); 5719 Ops[0] = Builder.CreateBitCast(Ops[0], Ty); 5720 Ops[1] = Builder.CreateBitCast(Ops[1], Ty); 5723 ConstantAggregateZero::get(Ty)); 5724 return Builder.CreateSExt(Ops[0], Ty, "vtst"); 5728 Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(Ty)); 5729 Ops[1] = Builder.CreateBitCast(Ops[1], Ty); 5730 Ops[2] = Builder.CreateBitCast(Ops[2], Ty); 5738 Value *Addr = Builder.CreateConstInBoundsGEP1_32(Ty, Ops[0], vi); 5746 Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(Ty)); 5747 Ops[1] = Builder.CreateBitCast(Ops[1], Ty); 5748 Ops[2] = Builder.CreateBitCast(Ops[2], Ty); 5757 Value *Addr = Builder.CreateConstInBoundsGEP1_32(Ty, Ops[0], vi); 5766 llvm::VectorType::get(Int8Ty, Ty->getPrimitiveSizeInBits() / 8); 5767 llvm::Type *Tys[2] = { Ty, InputTy }; 5774 llvm::VectorType::get(HalfTy, Ty->getPrimitiveSizeInBits() / 16); 5775 llvm::Type *Tys[2] = { Ty, InputTy }; 5781 llvm::VectorType::get(HalfTy, Ty->getPrimitiveSizeInBits() / 16); 5782 llvm::Type *Tys[2] = { Ty, InputTy }; 5788 llvm::VectorType::get(HalfTy, Ty->getPrimitiveSizeInBits() / 16); 5789 llvm::Type *Tys[2] = { Ty, InputTy }; 5795 llvm::VectorType::get(HalfTy, Ty->getPrimitiveSizeInBits() / 16); 5796 llvm::Type *Tys[2] = { Ty, InputTy }; 5804 Function *F = LookupNeonLLVMIntrinsic(Int, Modifier, Ty, E);