reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
8369 Int = Intrinsic::fma; 8370 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "fmla"); 8422 Int = usgn ? Intrinsic::aarch64_neon_umull : Intrinsic::aarch64_neon_smull; 8423 if (Type.isPoly()) Int = Intrinsic::aarch64_neon_pmull; 8424 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmull"); 8428 Int = usgn ? Intrinsic::aarch64_neon_umax : Intrinsic::aarch64_neon_smax; 8429 if (Ty->isFPOrFPVectorTy()) Int = Intrinsic::aarch64_neon_fmax; 8430 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmax"); 8433 Int = Intrinsic::aarch64_neon_fmax; 8434 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vmax"); 8439 Int = usgn ? Intrinsic::aarch64_neon_umin : Intrinsic::aarch64_neon_smin; 8440 if (Ty->isFPOrFPVectorTy()) Int = Intrinsic::aarch64_neon_fmin; 8441 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmin"); 8444 Int = Intrinsic::aarch64_neon_fmin; 8445 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vmin"); 8450 Int = usgn ? Intrinsic::aarch64_neon_uabd : Intrinsic::aarch64_neon_sabd; 8451 if (Ty->isFPOrFPVectorTy()) Int = Intrinsic::aarch64_neon_fabd; 8452 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vabd"); 8461 Int = usgn ? Intrinsic::aarch64_neon_uaddlp : Intrinsic::aarch64_neon_saddlp; 8464 Function *F = CGM.getIntrinsic(Int, Tys); 8472 Int = usgn ? Intrinsic::aarch64_neon_uminp : Intrinsic::aarch64_neon_sminp; 8473 if (Ty->isFPOrFPVectorTy()) Int = Intrinsic::aarch64_neon_fminp; 8474 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpmin"); 8478 Int = usgn ? Intrinsic::aarch64_neon_umaxp : Intrinsic::aarch64_neon_smaxp; 8479 if (Ty->isFPOrFPVectorTy()) Int = Intrinsic::aarch64_neon_fmaxp; 8480 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpmax"); 8483 Int = Intrinsic::aarch64_neon_fminnm; 8484 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vminnm"); 8487 Int = Intrinsic::aarch64_neon_fminnm; 8488 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vminnm"); 8491 Int = Intrinsic::aarch64_neon_fmaxnm; 8492 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmaxnm"); 8495 Int = Intrinsic::aarch64_neon_fmaxnm; 8496 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vmaxnm"); 8511 Int = Intrinsic::aarch64_neon_sqshrun; 8512 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshrun_n"); 8514 Int = Intrinsic::aarch64_neon_sqrshrun; 8515 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqrshrun_n"); 8517 Int = usgn ? Intrinsic::aarch64_neon_uqshrn : Intrinsic::aarch64_neon_sqshrn; 8518 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqshrn_n"); 8520 Int = Intrinsic::aarch64_neon_rshrn; 8521 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrshrn_n"); 8523 Int = usgn ? Intrinsic::aarch64_neon_uqrshrn : Intrinsic::aarch64_neon_sqrshrn; 8524 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vqrshrn_n"); 8527 Int = Intrinsic::round; 8528 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrnda"); 8532 Int = Intrinsic::round; 8533 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrnda"); 8537 Int = Intrinsic::nearbyint; 8538 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndi"); 8542 Int = Intrinsic::floor; 8543 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndm"); 8547 Int = Intrinsic::floor; 8548 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndm"); 8552 Int = Intrinsic::aarch64_neon_frintn; 8553 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndn"); 8557 Int = Intrinsic::aarch64_neon_frintn; 8558 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndn"); 8562 Int = Intrinsic::aarch64_neon_frintn; 8563 return EmitNeonCall(CGM.getIntrinsic(Int, FloatTy), Ops, "vrndn"); 8567 Int = Intrinsic::ceil; 8568 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndp"); 8572 Int = Intrinsic::ceil; 8573 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndp"); 8577 Int = Intrinsic::rint; 8578 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndx"); 8582 Int = Intrinsic::rint; 8583 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndx"); 8587 Int = Intrinsic::trunc; 8588 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vrndz"); 8592 Int = Intrinsic::trunc; 8593 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrndz"); 8646 Int = usgn ? Intrinsic::aarch64_neon_fcvtau : Intrinsic::aarch64_neon_fcvtas; 8648 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vcvta"); 8662 Int = usgn ? Intrinsic::aarch64_neon_fcvtmu : Intrinsic::aarch64_neon_fcvtms; 8664 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vcvtm"); 8678 Int = usgn ? Intrinsic::aarch64_neon_fcvtnu : Intrinsic::aarch64_neon_fcvtns; 8680 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vcvtn"); 8694 Int = usgn ? Intrinsic::aarch64_neon_fcvtpu : Intrinsic::aarch64_neon_fcvtps; 8696 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vcvtp"); 8700 Int = Intrinsic::aarch64_neon_fmulx; 8701 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vmulx"); 8710 Int = Intrinsic::aarch64_neon_fmulx; 8711 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vmulx"); 8733 Int = Intrinsic::aarch64_neon_fmaxnmp; 8734 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpmaxnm"); 8738 Int = Intrinsic::aarch64_neon_fminnmp; 8739 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vpminnm"); 8743 Int = Intrinsic::sqrt; 8744 return EmitNeonCall(CGM.getIntrinsic(Int, HalfTy), Ops, "vsqrt"); 8748 Int = Intrinsic::sqrt; 8750 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vsqrt"); 8754 Int = Intrinsic::aarch64_neon_rbit; 8755 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vrbit"); 8762 Int = usgn ? Intrinsic::aarch64_neon_uaddv : Intrinsic::aarch64_neon_saddv; 8767 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddv"); 8774 Int = usgn ? Intrinsic::aarch64_neon_uaddv : Intrinsic::aarch64_neon_saddv; 8779 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddv"); 8786 Int = usgn ? Intrinsic::aarch64_neon_uaddv : Intrinsic::aarch64_neon_saddv; 8791 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddv"); 8798 Int = usgn ? Intrinsic::aarch64_neon_uaddv : Intrinsic::aarch64_neon_saddv; 8803 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddv"); 8807 Int = Intrinsic::aarch64_neon_umaxv; 8812 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv"); 8816 Int = Intrinsic::aarch64_neon_umaxv; 8821 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv"); 8825 Int = Intrinsic::aarch64_neon_umaxv; 8830 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv"); 8834 Int = Intrinsic::aarch64_neon_umaxv; 8839 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv"); 8843 Int = Intrinsic::aarch64_neon_smaxv; 8848 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv"); 8852 Int = Intrinsic::aarch64_neon_smaxv; 8857 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv"); 8861 Int = Intrinsic::aarch64_neon_smaxv; 8866 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv"); 8870 Int = Intrinsic::aarch64_neon_smaxv; 8875 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv"); 8879 Int = Intrinsic::aarch64_neon_fmaxv; 8884 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv"); 8888 Int = Intrinsic::aarch64_neon_fmaxv; 8893 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxv"); 8897 Int = Intrinsic::aarch64_neon_uminv; 8902 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv"); 8906 Int = Intrinsic::aarch64_neon_uminv; 8911 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv"); 8915 Int = Intrinsic::aarch64_neon_uminv; 8920 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv"); 8924 Int = Intrinsic::aarch64_neon_uminv; 8929 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv"); 8933 Int = Intrinsic::aarch64_neon_sminv; 8938 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv"); 8942 Int = Intrinsic::aarch64_neon_sminv; 8947 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv"); 8951 Int = Intrinsic::aarch64_neon_sminv; 8956 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv"); 8960 Int = Intrinsic::aarch64_neon_sminv; 8965 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv"); 8969 Int = Intrinsic::aarch64_neon_fminv; 8974 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv"); 8978 Int = Intrinsic::aarch64_neon_fminv; 8983 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminv"); 8987 Int = Intrinsic::aarch64_neon_fmaxnmv; 8992 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxnmv"); 8996 Int = Intrinsic::aarch64_neon_fmaxnmv; 9001 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vmaxnmv"); 9005 Int = Intrinsic::aarch64_neon_fminnmv; 9010 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminnmv"); 9014 Int = Intrinsic::aarch64_neon_fminnmv; 9019 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vminnmv"); 9028 Int = Intrinsic::aarch64_neon_uaddlv; 9033 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv"); 9037 Int = Intrinsic::aarch64_neon_uaddlv; 9042 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv"); 9045 Int = Intrinsic::aarch64_neon_uaddlv; 9050 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv"); 9054 Int = Intrinsic::aarch64_neon_uaddlv; 9059 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv"); 9062 Int = Intrinsic::aarch64_neon_saddlv; 9067 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv"); 9071 Int = Intrinsic::aarch64_neon_saddlv; 9076 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv"); 9079 Int = Intrinsic::aarch64_neon_saddlv; 9084 Ops[0] = EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv"); 9088 Int = Intrinsic::aarch64_neon_saddlv; 9093 return EmitNeonCall(CGM.getIntrinsic(Int, Tys), Ops, "vaddlv"); 9097 Int = Intrinsic::aarch64_neon_vsri; 9098 llvm::Function *Intrin = CGM.getIntrinsic(Int, Ty); 9103 Int = Intrinsic::aarch64_neon_vsli; 9104 llvm::Function *Intrin = CGM.getIntrinsic(Int, Ty); 9114 Int = usgn ? Intrinsic::aarch64_neon_urshl : Intrinsic::aarch64_neon_srshl; 9118 Function* F = CGM.getIntrinsic(Int, Ty); 9421 Int = Intrinsic::aarch64_neon_usqadd; 9422 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vsqadd"); 9426 Int = Intrinsic::aarch64_neon_suqadd; 9427 return EmitNeonCall(CGM.getIntrinsic(Int, Ty), Ops, "vuqadd");