reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGBuiltin.cpp
 8316   if (!Ty)
 8346     return Builder.CreateBitCast(Ops[0], Ty);
 8370     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "fmla");
 8373     llvm::VectorType *VTy = cast<llvm::VectorType>(Ty);
 8384       return Builder.CreateBitCast(Result, Ty);
 8386     Function *F = CGM.getIntrinsic(Intrinsic::fma, Ty);
 8387     Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
 8388     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
 8400     Function *F = CGM.getIntrinsic(Intrinsic::fma, Ty);
 8401     Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
 8402     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
 8404     Ops[2] = Builder.CreateBitCast(Ops[2], Ty);
 8424     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmull");
 8429     if (Ty->isFPOrFPVectorTy()) Int = Intrinsic::aarch64_neon_fmax;
 8430     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmax");
 8440     if (Ty->isFPOrFPVectorTy()) Int = Intrinsic::aarch64_neon_fmin;
 8441     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmin");
 8451     if (Ty->isFPOrFPVectorTy()) Int = Intrinsic::aarch64_neon_fabd;
 8452     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vabd");
 8473     if (Ty->isFPOrFPVectorTy()) Int = Intrinsic::aarch64_neon_fminp;
 8474     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpmin");
 8479     if (Ty->isFPOrFPVectorTy()) Int = Intrinsic::aarch64_neon_fmaxp;
 8480     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpmax");
 8484     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vminnm");
 8492     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmaxnm");
 8512     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshrun_n");
 8515     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqrshrun_n");
 8518     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshrn_n");
 8521     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrshrn_n");
 8524     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqrshrn_n");
 8533     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrnda");
 8548     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndm");
 8558     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndn");
 8573     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndp");
 8583     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndx");
 8593     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndz");
 8597     Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
 8598     Ty = GetNeonType(this, NeonTypeFlags(NeonTypeFlags::Float64, false, quad));
 8599     return usgn ? Builder.CreateUIToFP(Ops[0], Ty, "vcvt")
 8600                 : Builder.CreateSIToFP(Ops[0], Ty, "vcvt");
 8607     return Builder.CreateFPExt(Ops[0], Ty, "vcvt");
 8615     return Builder.CreateFPTrunc(Ops[0], Ty, "vcvt");
 8631       return Builder.CreateFPToUI(Ops[0], Ty);
 8632     return Builder.CreateFPToSI(Ops[0], Ty);
 8647     llvm::Type *Tys[2] = { Ty, GetFloatNeonType(this, Type) };
 8663     llvm::Type *Tys[2] = { Ty, GetFloatNeonType(this, Type) };
 8679     llvm::Type *Tys[2] = { Ty, GetFloatNeonType(this, Type) };
 8695     llvm::Type *Tys[2] = { Ty, GetFloatNeonType(this, Type) };
 8701     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmulx");
 8725     return Builder.CreateBitCast(Result, Ty);
 8734     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpmaxnm");
 8739     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpminnm");
 8749     Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
 8750     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vsqrt");
 8755     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrbit");
 8763     Ty = Int32Ty;
 8765     llvm::Type *Tys[2] = { Ty, VTy };
 8775     Ty = Int32Ty;
 8777     llvm::Type *Tys[2] = { Ty, VTy };
 8787     Ty = Int32Ty;
 8789     llvm::Type *Tys[2] = { Ty, VTy };
 8799     Ty = Int32Ty;
 8801     llvm::Type *Tys[2] = { Ty, VTy };
 8808     Ty = Int32Ty;
 8810     llvm::Type *Tys[2] = { Ty, VTy };
 8817     Ty = Int32Ty;
 8819     llvm::Type *Tys[2] = { Ty, VTy };
 8826     Ty = Int32Ty;
 8828     llvm::Type *Tys[2] = { Ty, VTy };
 8835     Ty = Int32Ty;
 8837     llvm::Type *Tys[2] = { Ty, VTy };
 8844     Ty = Int32Ty;
 8846     llvm::Type *Tys[2] = { Ty, VTy };
 8853     Ty = Int32Ty;
 8855     llvm::Type *Tys[2] = { Ty, VTy };
 8862     Ty = Int32Ty;
 8864     llvm::Type *Tys[2] = { Ty, VTy };
 8871     Ty = Int32Ty;
 8873     llvm::Type *Tys[2] = { Ty, VTy };
 8880     Ty = HalfTy;
 8882     llvm::Type *Tys[2] = { Ty, VTy };
 8889     Ty = HalfTy;
 8891     llvm::Type *Tys[2] = { Ty, VTy };
 8898     Ty = Int32Ty;
 8900     llvm::Type *Tys[2] = { Ty, VTy };
 8907     Ty = Int32Ty;
 8909     llvm::Type *Tys[2] = { Ty, VTy };
 8916     Ty = Int32Ty;
 8918     llvm::Type *Tys[2] = { Ty, VTy };
 8925     Ty = Int32Ty;
 8927     llvm::Type *Tys[2] = { Ty, VTy };
 8934     Ty = Int32Ty;
 8936     llvm::Type *Tys[2] = { Ty, VTy };
 8943     Ty = Int32Ty;
 8945     llvm::Type *Tys[2] = { Ty, VTy };
 8952     Ty = Int32Ty;
 8954     llvm::Type *Tys[2] = { Ty, VTy };
 8961     Ty = Int32Ty;
 8963     llvm::Type *Tys[2] = { Ty, VTy };
 8970     Ty = HalfTy;
 8972     llvm::Type *Tys[2] = { Ty, VTy };
 8979     Ty = HalfTy;
 8981     llvm::Type *Tys[2] = { Ty, VTy };
 8988     Ty = HalfTy;
 8990     llvm::Type *Tys[2] = { Ty, VTy };
 8997     Ty = HalfTy;
 8999     llvm::Type *Tys[2] = { Ty, VTy };
 9006     Ty = HalfTy;
 9008     llvm::Type *Tys[2] = { Ty, VTy };
 9015     Ty = HalfTy;
 9017     llvm::Type *Tys[2] = { Ty, VTy };
 9029     Ty = Int32Ty;
 9031     llvm::Type *Tys[2] = { Ty, VTy };
 9038     Ty = Int32Ty;
 9040     llvm::Type *Tys[2] = { Ty, VTy };
 9046     Ty = Int32Ty;
 9048     llvm::Type *Tys[2] = { Ty, VTy };
 9055     Ty = Int32Ty;
 9057     llvm::Type *Tys[2] = { Ty, VTy };
 9063     Ty = Int32Ty;
 9065     llvm::Type *Tys[2] = { Ty, VTy };
 9072     Ty = Int32Ty;
 9074     llvm::Type *Tys[2] = { Ty, VTy };
 9080     Ty = Int32Ty;
 9082     llvm::Type *Tys[2] = { Ty, VTy };
 9089     Ty = Int32Ty;
 9091     llvm::Type *Tys[2] = { Ty, VTy };
 9098     llvm::Function *Intrin = CGM.getIntrinsic(Int, Ty);
 9104     llvm::Function *Intrin = CGM.getIntrinsic(Int, Ty);
 9109     Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
 9110     Ops[1] = EmitNeonRShiftImm(Ops[1], Ops[2], Ty, usgn, "vsra_n");
 9118     Function* F = CGM.getIntrinsic(Int, Ty);
 9137     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
 9138     Ty = llvm::PointerType::getUnqual(VTy->getElementType());
 9139     Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
 9148     Value *V = UndefValue::get(Ty);
 9149     Ty = llvm::PointerType::getUnqual(VTy->getElementType());
 9150     Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
 9161     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
 9163     Ty = llvm::PointerType::getUnqual(Ops[1]->getType());
 9165                                              Builder.CreateBitCast(Ops[0], Ty));
 9241     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
 9242     Ops[2] = Builder.CreateBitCast(Ops[2], Ty);
 9245     Ty = llvm::PointerType::getUnqual(Ops[1]->getType());
 9246     Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
 9255     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
 9256     Ops[2] = Builder.CreateBitCast(Ops[2], Ty);
 9257     Ops[3] = Builder.CreateBitCast(Ops[3], Ty);
 9260     Ty = llvm::PointerType::getUnqual(Ops[1]->getType());
 9261     Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
 9270     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
 9271     Ops[2] = Builder.CreateBitCast(Ops[2], Ty);
 9272     Ops[3] = Builder.CreateBitCast(Ops[3], Ty);
 9273     Ops[4] = Builder.CreateBitCast(Ops[4], Ty);
 9276     Ty = llvm::PointerType::getUnqual(Ops[1]->getType());
 9277     Ops[0] = Builder.CreateBitCast(Ops[0], Ty);
 9333     Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(Ty));
 9334     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
 9335     Ops[2] = Builder.CreateBitCast(Ops[2], Ty);
 9344       Value *Addr = Builder.CreateConstInBoundsGEP1_32(Ty, Ops[0], vi);
 9352     Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(Ty));
 9353     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
 9354     Ops[2] = Builder.CreateBitCast(Ops[2], Ty);
 9362       Value *Addr = Builder.CreateConstInBoundsGEP1_32(Ty, Ops[0], vi);
 9370     Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(Ty));
 9371     Ops[1] = Builder.CreateBitCast(Ops[1], Ty);
 9372     Ops[2] = Builder.CreateBitCast(Ops[2], Ty);
 9381       Value *Addr = Builder.CreateConstInBoundsGEP1_32(Ty, Ops[0], vi);
 9388     return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbl1, Ty),
 9392     return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbl2, Ty),
 9396     return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbl3, Ty),
 9400     return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbl4, Ty),
 9404     return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbx1, Ty),
 9408     return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbx2, Ty),
 9412     return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbx3, Ty),
 9416     return EmitNeonCall(CGM.getIntrinsic(Intrinsic::aarch64_neon_tbx4, Ty),
 9422     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vsqadd");
 9427     return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vuqadd");