Lines Matching refs:BuiltinID
99 unsigned BuiltinID) { in getBuiltinLibFunction() argument
100 assert(Context.BuiltinInfo.isLibFunction(BuiltinID)); in getBuiltinLibFunction()
153 F128Builtins.contains(BuiltinID)) in getBuiltinLibFunction()
154 Name = F128Builtins[BuiltinID]; in getBuiltinLibFunction()
158 AIXLongDouble64Builtins.contains(BuiltinID)) in getBuiltinLibFunction()
159 Name = AIXLongDouble64Builtins[BuiltinID]; in getBuiltinLibFunction()
161 Name = Context.BuiltinInfo.getName(BuiltinID).substr(10); in getBuiltinLibFunction()
695 if (unsigned BuiltinID = FD->getBuiltinID()) { in emitLibraryCall() local
697 switch (BuiltinID) { in emitLibraryCall()
1142 static BitTest decodeBitTestBuiltin(unsigned BuiltinID);
1147 BitTest BitTest::decodeBitTestBuiltin(unsigned BuiltinID) { in decodeBitTestBuiltin() argument
1148 switch (BuiltinID) { in decodeBitTestBuiltin()
1256 unsigned BuiltinID, in EmitBitTestIntrinsic() argument
1261 BitTest BT = BitTest::decodeBitTestBuiltin(BuiltinID); in EmitBitTestIntrinsic()
1332 unsigned BuiltinID, in emitPPCLoadReserveIntrinsic() argument
1340 switch (BuiltinID) { in emitPPCLoadReserveIntrinsic()
1477 translateArmToMsvcIntrin(unsigned BuiltinID) { in translateArmToMsvcIntrin() argument
1479 switch (BuiltinID) { in translateArmToMsvcIntrin()
1623 translateAarch64ToMsvcIntrin(unsigned BuiltinID) { in translateAarch64ToMsvcIntrin() argument
1625 switch (BuiltinID) { in translateAarch64ToMsvcIntrin()
1777 translateX86ToMsvcIntrin(unsigned BuiltinID) { in translateX86ToMsvcIntrin() argument
1779 switch (BuiltinID) { in translateX86ToMsvcIntrin()
1811 Value *CodeGenFunction::EmitMSVCBuiltinExpr(MSVCIntrin BuiltinID, in EmitMSVCBuiltinExpr() argument
1813 switch (BuiltinID) { in EmitMSVCBuiltinExpr()
1840 if (BuiltinID == MSVCIntrin::_BitScanForward) { in EmitMSVCBuiltinExpr()
2254 unsigned BuiltinID, WidthAndSignedness Op1Info, WidthAndSignedness Op2Info, in isSpecialUnsignedMultiplySignedResult() argument
2256 return BuiltinID == Builtin::BI__builtin_mul_overflow && in isSpecialUnsignedMultiplySignedResult()
2295 static bool isSpecialMixedSignMultiply(unsigned BuiltinID, in isSpecialMixedSignMultiply() argument
2299 return BuiltinID == Builtin::BI__builtin_mul_overflow && in isSpecialMixedSignMultiply()
2446 static unsigned mutateLongDoubleBuiltin(unsigned BuiltinID) { in mutateLongDoubleBuiltin() argument
2447 switch (BuiltinID) { in mutateLongDoubleBuiltin()
2513 return BuiltinID; in mutateLongDoubleBuiltin()
2517 static Value *tryUseTestFPKind(CodeGenFunction &CGF, unsigned BuiltinID, in tryUseTestFPKind() argument
2522 CGF.getTargetHooks().testFPKind(V, BuiltinID, CGF.Builder, CGF.CGM)) in tryUseTestFPKind()
2541 RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID, in EmitBuiltinExpr() argument
2564 BuiltinID = mutateLongDoubleBuiltin(BuiltinID); in EmitBuiltinExpr()
2571 FD->hasAttr<AsmLabelAttr>() ? 0 : BuiltinID; in EmitBuiltinExpr()
2601 getContext().BuiltinInfo.isConst(BuiltinID); in EmitBuiltinExpr()
2608 switch (BuiltinID) { in EmitBuiltinExpr()
2626 getContext().BuiltinInfo.isConstWithoutErrnoAndExceptions(BuiltinID); in EmitBuiltinExpr()
2628 getContext().BuiltinInfo.isConstWithoutExceptions(BuiltinID); in EmitBuiltinExpr()
3107 EmitVAStartEnd(BuiltinID == Builtin::BI__va_start in EmitBuiltinExpr()
3110 BuiltinID != Builtin::BI__builtin_va_end); in EmitBuiltinExpr()
3564 bool IsDynamic = BuiltinID == Builtin::BI__builtin_dynamic_object_size; in EmitBuiltinExpr()
3665 switch (BuiltinID) { in EmitBuiltinExpr()
3693 if (Value *Result = tryUseTestFPKind(*this, BuiltinID, V)) in EmitBuiltinExpr()
3711 if (Value *Result = tryUseTestFPKind(*this, BuiltinID, V)) in EmitBuiltinExpr()
3727 if (Value *Result = tryUseTestFPKind(*this, BuiltinID, V)) in EmitBuiltinExpr()
4145 if (BuiltinID != Builtin::BI__builtin_alloca_uninitialized) in EmitBuiltinExpr()
4167 if (BuiltinID != Builtin::BI__builtin_alloca_with_align_uninitialized) in EmitBuiltinExpr()
4214 if (BuiltinID == Builtin::BImempcpy || in EmitBuiltinExpr()
4215 BuiltinID == Builtin::BI__builtin_mempcpy) in EmitBuiltinExpr()
4234 BuiltinID = Builtin::BI__builtin_memchr; in EmitBuiltinExpr()
4759 if (BuiltinID == Builtin::BI__atomic_is_lock_free) in EmitBuiltinExpr()
4919 if (BuiltinID == Builtin::BI__atomic_signal_fence || in EmitBuiltinExpr()
4920 BuiltinID == Builtin::BI__c11_atomic_signal_fence) in EmitBuiltinExpr()
5064 switch (BuiltinID) { in EmitBuiltinExpr()
5114 if (isSpecialMixedSignMultiply(BuiltinID, LeftInfo, RightInfo, ResultInfo)) in EmitBuiltinExpr()
5119 if (isSpecialUnsignedMultiplySignedResult(BuiltinID, LeftInfo, RightInfo, in EmitBuiltinExpr()
5134 switch (BuiltinID) { in EmitBuiltinExpr()
5218 switch (BuiltinID) { in EmitBuiltinExpr()
5313 BuiltinID == Builtin::BI_InterlockedCompareExchangePointer_nf ? in EmitBuiltinExpr()
5378 return RValue::get(EmitBitTestIntrinsic(*this, BuiltinID, E)); in EmitBuiltinExpr()
5412 switch (BuiltinID) { in EmitBuiltinExpr()
5436 switch (BuiltinID) { in EmitBuiltinExpr()
5455 if (BuiltinID != Builtin::BI__builtin_ptrauth_sign_generic_data && in EmitBuiltinExpr()
5456 BuiltinID != Builtin::BI__builtin_ptrauth_blend_discriminator && in EmitBuiltinExpr()
5552 const char *Name = (BuiltinID == Builtin::BIread_pipe) ? "__read_pipe_2" in EmitBuiltinExpr()
5566 const char *Name = (BuiltinID == Builtin::BIread_pipe) ? "__read_pipe_4" in EmitBuiltinExpr()
5595 if (BuiltinID == Builtin::BIreserve_read_pipe) in EmitBuiltinExpr()
5597 else if (BuiltinID == Builtin::BIreserve_write_pipe) in EmitBuiltinExpr()
5599 else if (BuiltinID == Builtin::BIwork_group_reserve_read_pipe) in EmitBuiltinExpr()
5601 else if (BuiltinID == Builtin::BIwork_group_reserve_write_pipe) in EmitBuiltinExpr()
5603 else if (BuiltinID == Builtin::BIsub_group_reserve_read_pipe) in EmitBuiltinExpr()
5635 if (BuiltinID == Builtin::BIcommit_read_pipe) in EmitBuiltinExpr()
5637 else if (BuiltinID == Builtin::BIcommit_write_pipe) in EmitBuiltinExpr()
5639 else if (BuiltinID == Builtin::BIwork_group_commit_read_pipe) in EmitBuiltinExpr()
5641 else if (BuiltinID == Builtin::BIwork_group_commit_write_pipe) in EmitBuiltinExpr()
5643 else if (BuiltinID == Builtin::BIsub_group_commit_read_pipe) in EmitBuiltinExpr()
5668 if (BuiltinID == Builtin::BIget_pipe_num_packets) in EmitBuiltinExpr()
5948 BuiltinID == Builtin::BIget_kernel_max_sub_group_size_for_ndrange in EmitBuiltinExpr()
6083 BuiltinID == Builtin::BI__builtin_ms_va_start)); in EmitBuiltinExpr()
6113 if (getContext().BuiltinInfo.isLibFunction(BuiltinID)) in EmitBuiltinExpr()
6115 CGM.getBuiltinLibFunction(FD, BuiltinID)); in EmitBuiltinExpr()
6119 if (getContext().BuiltinInfo.isPredefinedLibFunction(BuiltinID)) in EmitBuiltinExpr()
6129 if (unsigned VectorWidth = getContext().BuiltinInfo.getRequiredVectorWidth(BuiltinID)) in EmitBuiltinExpr()
6133 StringRef Name = getContext().BuiltinInfo.getName(BuiltinID); in EmitBuiltinExpr()
6156 getContext().GetBuiltinType(BuiltinID, Error, &ICEArguments); in EmitBuiltinExpr()
6233 if (Value *V = EmitTargetBuiltinExpr(BuiltinID, E, ReturnValue)) { in EmitBuiltinExpr()
6249 if (Value *V = EmitHLSLBuiltinExpr(BuiltinID, E)) in EmitBuiltinExpr()
6262 unsigned BuiltinID, const CallExpr *E, in EmitTargetArchBuiltinExpr() argument
6280 return CGF->EmitARMBuiltinExpr(BuiltinID, E, ReturnValue, Arch); in EmitTargetArchBuiltinExpr()
6284 return CGF->EmitAArch64BuiltinExpr(BuiltinID, E, Arch); in EmitTargetArchBuiltinExpr()
6287 return CGF->EmitBPFBuiltinExpr(BuiltinID, E); in EmitTargetArchBuiltinExpr()
6290 return CGF->EmitX86BuiltinExpr(BuiltinID, E); in EmitTargetArchBuiltinExpr()
6295 return CGF->EmitPPCBuiltinExpr(BuiltinID, E); in EmitTargetArchBuiltinExpr()
6298 return CGF->EmitAMDGPUBuiltinExpr(BuiltinID, E); in EmitTargetArchBuiltinExpr()
6300 return CGF->EmitSystemZBuiltinExpr(BuiltinID, E); in EmitTargetArchBuiltinExpr()
6303 return CGF->EmitNVPTXBuiltinExpr(BuiltinID, E); in EmitTargetArchBuiltinExpr()
6306 return CGF->EmitWebAssemblyBuiltinExpr(BuiltinID, E); in EmitTargetArchBuiltinExpr()
6308 return CGF->EmitHexagonBuiltinExpr(BuiltinID, E); in EmitTargetArchBuiltinExpr()
6311 return CGF->EmitRISCVBuiltinExpr(BuiltinID, E, ReturnValue); in EmitTargetArchBuiltinExpr()
6315 return CGF->EmitAMDGPUBuiltinExpr(BuiltinID, E); in EmitTargetArchBuiltinExpr()
6321 Value *CodeGenFunction::EmitTargetBuiltinExpr(unsigned BuiltinID, in EmitTargetBuiltinExpr() argument
6324 if (getContext().BuiltinInfo.isAuxBuiltinID(BuiltinID)) { in EmitTargetBuiltinExpr()
6327 this, getContext().BuiltinInfo.getAuxBuiltinID(BuiltinID), E, in EmitTargetBuiltinExpr()
6331 return EmitTargetArchBuiltinExpr(this, BuiltinID, E, ReturnValue, in EmitTargetBuiltinExpr()
6486 unsigned BuiltinID; member
6492 return BuiltinID < RHSBuiltinID; in operator <()
6495 return BuiltinID < TE.BuiltinID; in operator <()
7540 unsigned BuiltinID, bool &MapProvenSorted) { in findARMVectorIntrinsicInMap() argument
7550 llvm::lower_bound(IntrinsicMap, BuiltinID); in findARMVectorIntrinsicInMap()
7552 if (Builtin != IntrinsicMap.end() && Builtin->BuiltinID == BuiltinID) in findARMVectorIntrinsicInMap()
7600 unsigned BuiltinID = SISDInfo.BuiltinID; in EmitCommonNeonSISDBuiltinExpr() local
7605 switch (BuiltinID) { in EmitCommonNeonSISDBuiltinExpr()
7660 unsigned BuiltinID, unsigned LLVMIntrinsic, unsigned AltLLVMIntrinsic, in EmitCommonNeonBuiltinExpr() argument
7693 switch (BuiltinID) { in EmitCommonNeonBuiltinExpr()
7700 if (BuiltinID == NEON::BI__builtin_neon_splatq_lane_v) in EmitCommonNeonBuiltinExpr()
7702 if (BuiltinID == NEON::BI__builtin_neon_splat_laneq_v) in EmitCommonNeonBuiltinExpr()
8057 if (BuiltinID == NEON::BI__builtin_neon_vqdmulhq_lane_v || in EmitCommonNeonBuiltinExpr()
8058 BuiltinID == NEON::BI__builtin_neon_vqrdmulhq_lane_v) in EmitCommonNeonBuiltinExpr()
8418 Value *CodeGenFunction::GetValueForARMHint(unsigned BuiltinID) { in GetValueForARMHint() argument
8420 switch (BuiltinID) { in GetValueForARMHint()
8549 static bool HasExtraNeonArgument(unsigned BuiltinID) { in HasExtraNeonArgument() argument
8550 switch (BuiltinID) { in HasExtraNeonArgument()
8590 Value *CodeGenFunction::EmitARMBuiltinExpr(unsigned BuiltinID, in EmitARMBuiltinExpr() argument
8594 if (auto Hint = GetValueForARMHint(BuiltinID)) in EmitARMBuiltinExpr()
8597 if (BuiltinID == clang::ARM::BI__emit) { in EmitARMBuiltinExpr()
8618 if (BuiltinID == clang::ARM::BI__builtin_arm_dbg) { in EmitARMBuiltinExpr()
8623 if (BuiltinID == clang::ARM::BI__builtin_arm_prefetch) { in EmitARMBuiltinExpr()
8635 if (BuiltinID == clang::ARM::BI__builtin_arm_rbit) { in EmitARMBuiltinExpr()
8641 if (BuiltinID == clang::ARM::BI__builtin_arm_clz || in EmitARMBuiltinExpr()
8642 BuiltinID == clang::ARM::BI__builtin_arm_clz64) { in EmitARMBuiltinExpr()
8646 if (BuiltinID == clang::ARM::BI__builtin_arm_clz64) in EmitARMBuiltinExpr()
8652 if (BuiltinID == clang::ARM::BI__builtin_arm_cls) { in EmitARMBuiltinExpr()
8656 if (BuiltinID == clang::ARM::BI__builtin_arm_cls64) { in EmitARMBuiltinExpr()
8662 if (BuiltinID == clang::ARM::BI__clear_cache) { in EmitARMBuiltinExpr()
8674 if (BuiltinID == clang::ARM::BI__builtin_arm_mcrr || in EmitARMBuiltinExpr()
8675 BuiltinID == clang::ARM::BI__builtin_arm_mcrr2) { in EmitARMBuiltinExpr()
8678 switch (BuiltinID) { in EmitARMBuiltinExpr()
8708 if (BuiltinID == clang::ARM::BI__builtin_arm_mrrc || in EmitARMBuiltinExpr()
8709 BuiltinID == clang::ARM::BI__builtin_arm_mrrc2) { in EmitARMBuiltinExpr()
8712 switch (BuiltinID) { in EmitARMBuiltinExpr()
8742 if (BuiltinID == clang::ARM::BI__builtin_arm_ldrexd || in EmitARMBuiltinExpr()
8743 ((BuiltinID == clang::ARM::BI__builtin_arm_ldrex || in EmitARMBuiltinExpr()
8744 BuiltinID == clang::ARM::BI__builtin_arm_ldaex) && in EmitARMBuiltinExpr()
8746 BuiltinID == clang::ARM::BI__ldrexd) { in EmitARMBuiltinExpr()
8749 switch (BuiltinID) { in EmitARMBuiltinExpr()
8775 if (BuiltinID == clang::ARM::BI__builtin_arm_ldrex || in EmitARMBuiltinExpr()
8776 BuiltinID == clang::ARM::BI__builtin_arm_ldaex) { in EmitARMBuiltinExpr()
8785 BuiltinID == clang::ARM::BI__builtin_arm_ldaex ? Intrinsic::arm_ldaex in EmitARMBuiltinExpr()
8802 if (BuiltinID == clang::ARM::BI__builtin_arm_strexd || in EmitARMBuiltinExpr()
8803 ((BuiltinID == clang::ARM::BI__builtin_arm_stlex || in EmitARMBuiltinExpr()
8804 BuiltinID == clang::ARM::BI__builtin_arm_strex) && in EmitARMBuiltinExpr()
8807 BuiltinID == clang::ARM::BI__builtin_arm_stlex ? Intrinsic::arm_stlexd in EmitARMBuiltinExpr()
8824 if (BuiltinID == clang::ARM::BI__builtin_arm_strex || in EmitARMBuiltinExpr()
8825 BuiltinID == clang::ARM::BI__builtin_arm_stlex) { in EmitARMBuiltinExpr()
8844 BuiltinID == clang::ARM::BI__builtin_arm_stlex ? Intrinsic::arm_stlex in EmitARMBuiltinExpr()
8854 if (BuiltinID == clang::ARM::BI__builtin_arm_clrex) { in EmitARMBuiltinExpr()
8861 switch (BuiltinID) { in EmitARMBuiltinExpr()
8884 if (BuiltinID == clang::ARM::BI__builtin_arm_crc32d || in EmitARMBuiltinExpr()
8885 BuiltinID == clang::ARM::BI__builtin_arm_crc32cd) { in EmitARMBuiltinExpr()
8902 if (BuiltinID == clang::ARM::BI__builtin_arm_rsr || in EmitARMBuiltinExpr()
8903 BuiltinID == clang::ARM::BI__builtin_arm_rsr64 || in EmitARMBuiltinExpr()
8904 BuiltinID == clang::ARM::BI__builtin_arm_rsrp || in EmitARMBuiltinExpr()
8905 BuiltinID == clang::ARM::BI__builtin_arm_wsr || in EmitARMBuiltinExpr()
8906 BuiltinID == clang::ARM::BI__builtin_arm_wsr64 || in EmitARMBuiltinExpr()
8907 BuiltinID == clang::ARM::BI__builtin_arm_wsrp) { in EmitARMBuiltinExpr()
8910 if (BuiltinID == clang::ARM::BI__builtin_arm_rsr || in EmitARMBuiltinExpr()
8911 BuiltinID == clang::ARM::BI__builtin_arm_rsr64 || in EmitARMBuiltinExpr()
8912 BuiltinID == clang::ARM::BI__builtin_arm_rsrp) in EmitARMBuiltinExpr()
8915 bool IsPointerBuiltin = BuiltinID == clang::ARM::BI__builtin_arm_rsrp || in EmitARMBuiltinExpr()
8916 BuiltinID == clang::ARM::BI__builtin_arm_wsrp; in EmitARMBuiltinExpr()
8918 bool Is64Bit = BuiltinID == clang::ARM::BI__builtin_arm_rsr64 || in EmitARMBuiltinExpr()
8919 BuiltinID == clang::ARM::BI__builtin_arm_wsr64; in EmitARMBuiltinExpr()
8936 if (BuiltinID == ARM::BI__builtin_sponentry) { in EmitARMBuiltinExpr()
8943 if (std::optional<MSVCIntrin> MsvcIntId = translateArmToMsvcIntrin(BuiltinID)) in EmitARMBuiltinExpr()
8947 if (Value *Result = EmitARMMVEBuiltinExpr(BuiltinID, E, ReturnValue, Arch)) in EmitARMBuiltinExpr()
8950 if (Value *Result = EmitARMCDEBuiltinExpr(BuiltinID, E, ReturnValue, Arch)) in EmitARMBuiltinExpr()
8954 auto It = llvm::find_if(NEONEquivalentIntrinsicMap, [BuiltinID](auto &P) { in EmitARMBuiltinExpr()
8955 return P.first == BuiltinID; in EmitARMBuiltinExpr()
8958 BuiltinID = It->second; in EmitARMBuiltinExpr()
8964 getContext().GetBuiltinType(BuiltinID, Error, &ICEArguments); in EmitARMBuiltinExpr()
8974 bool HasExtraArg = HasExtraNeonArgument(BuiltinID); in EmitARMBuiltinExpr()
8978 switch (BuiltinID) { in EmitARMBuiltinExpr()
9009 switch (BuiltinID) { in EmitARMBuiltinExpr()
9039 switch (BuiltinID) { in EmitARMBuiltinExpr()
9100 Function *F = CGM.getIntrinsic(BuiltinID == clang::ARM::BI_MoveToCoprocessor in EmitARMBuiltinExpr()
9116 if (BuiltinID == clang::ARM::BI__builtin_arm_vcvtr_f || in EmitARMBuiltinExpr()
9117 BuiltinID == clang::ARM::BI__builtin_arm_vcvtr_d) { in EmitARMBuiltinExpr()
9120 if (BuiltinID == clang::ARM::BI__builtin_arm_vcvtr_f) in EmitARMBuiltinExpr()
9150 IntrinsicMap, BuiltinID, NEONSIMDIntrinsicsProvenSorted); in EmitARMBuiltinExpr()
9153 Builtin->BuiltinID, Builtin->LLVMIntrinsic, Builtin->AltLLVMIntrinsic, in EmitARMBuiltinExpr()
9157 switch (BuiltinID) { in EmitARMBuiltinExpr()
9395 Value *CodeGenFunction::EmitARMMVEBuiltinExpr(unsigned BuiltinID, in EmitARMMVEBuiltinExpr() argument
9404 switch (BuiltinID) { in EmitARMMVEBuiltinExpr()
9496 Value *CodeGenFunction::EmitARMCDEBuiltinExpr(unsigned BuiltinID, in EmitARMCDEBuiltinExpr() argument
9500 switch (BuiltinID) { in EmitARMCDEBuiltinExpr()
9507 static Value *EmitAArch64TblBuiltinExpr(CodeGenFunction &CGF, unsigned BuiltinID, in EmitAArch64TblBuiltinExpr() argument
9514 switch (BuiltinID) { in EmitAArch64TblBuiltinExpr()
9564 switch (BuiltinID) { in EmitAArch64TblBuiltinExpr()
10077 unsigned BuiltinID) { in EmitSVEPMull() argument
10085 Function *F = CGM.getIntrinsic(BuiltinID, Ops[0]->getType()); in EmitSVEPMull()
10094 ArrayRef<Value *> Ops, unsigned BuiltinID) { in EmitSVEMovl() argument
10096 Function *F = CGM.getIntrinsic(BuiltinID, OverloadedTy); in EmitSVEMovl()
10102 unsigned BuiltinID) { in EmitSVEPrefetchLoad() argument
10116 Function *F = CGM.getIntrinsic(BuiltinID, Predicate->getType()); in EmitSVEPrefetchLoad()
10415 unsigned BuiltinID, const CallExpr *E, SmallVectorImpl<Value *> &Ops, in GetAArch64SVEProcessedOperands() argument
10420 getContext().GetBuiltinType(BuiltinID, Error, &ICEArguments); in GetAArch64SVEProcessedOperands()
10470 Value *CodeGenFunction::EmitAArch64SVEBuiltinExpr(unsigned BuiltinID, in EmitAArch64SVEBuiltinExpr() argument
10473 if (BuiltinID >= SVE::BI__builtin_sve_reinterpret_s8_s8 && in EmitAArch64SVEBuiltinExpr()
10474 BuiltinID <= SVE::BI__builtin_sve_reinterpret_f64_f64_x4) { in EmitAArch64SVEBuiltinExpr()
10479 auto *Builtin = findARMVectorIntrinsicInMap(AArch64SVEIntrinsicMap, BuiltinID, in EmitAArch64SVEBuiltinExpr()
10484 GetAArch64SVEProcessedOperands(BuiltinID, E, Ops, TypeFlags); in EmitAArch64SVEBuiltinExpr()
10565 switch (BuiltinID) { in EmitAArch64SVEBuiltinExpr()
10831 static void swapCommutativeSMEOperands(unsigned BuiltinID, in swapCommutativeSMEOperands() argument
10834 switch (BuiltinID) { in swapCommutativeSMEOperands()
10855 Value *CodeGenFunction::EmitAArch64SMEBuiltinExpr(unsigned BuiltinID, in EmitAArch64SMEBuiltinExpr() argument
10857 auto *Builtin = findARMVectorIntrinsicInMap(AArch64SMEIntrinsicMap, BuiltinID, in EmitAArch64SMEBuiltinExpr()
10862 GetAArch64SVEProcessedOperands(BuiltinID, E, Ops, TypeFlags); in EmitAArch64SMEBuiltinExpr()
10868 else if (BuiltinID == SME::BI__builtin_sme_svzero_mask_za || in EmitAArch64SMEBuiltinExpr()
10869 BuiltinID == SME::BI__builtin_sme_svzero_za) in EmitAArch64SMEBuiltinExpr()
10871 else if (BuiltinID == SME::BI__builtin_sme_svldr_vnum_za || in EmitAArch64SMEBuiltinExpr()
10872 BuiltinID == SME::BI__builtin_sme_svstr_vnum_za || in EmitAArch64SMEBuiltinExpr()
10873 BuiltinID == SME::BI__builtin_sme_svldr_za || in EmitAArch64SMEBuiltinExpr()
10874 BuiltinID == SME::BI__builtin_sme_svstr_za) in EmitAArch64SMEBuiltinExpr()
10878 swapCommutativeSMEOperands(BuiltinID, Ops); in EmitAArch64SMEBuiltinExpr()
10899 Value *CodeGenFunction::EmitAArch64BuiltinExpr(unsigned BuiltinID, in EmitAArch64BuiltinExpr() argument
10902 if (BuiltinID >= clang::AArch64::FirstSVEBuiltin && in EmitAArch64BuiltinExpr()
10903 BuiltinID <= clang::AArch64::LastSVEBuiltin) in EmitAArch64BuiltinExpr()
10904 return EmitAArch64SVEBuiltinExpr(BuiltinID, E); in EmitAArch64BuiltinExpr()
10906 if (BuiltinID >= clang::AArch64::FirstSMEBuiltin && in EmitAArch64BuiltinExpr()
10907 BuiltinID <= clang::AArch64::LastSMEBuiltin) in EmitAArch64BuiltinExpr()
10908 return EmitAArch64SMEBuiltinExpr(BuiltinID, E); in EmitAArch64BuiltinExpr()
10910 if (BuiltinID == Builtin::BI__builtin_cpu_supports) in EmitAArch64BuiltinExpr()
10914 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
10946 if (BuiltinID == clang::AArch64::BI__builtin_arm_trap) { in EmitAArch64BuiltinExpr()
10952 if (BuiltinID == clang::AArch64::BI__builtin_arm_get_sme_state) { in EmitAArch64BuiltinExpr()
10970 if (BuiltinID == clang::AArch64::BI__builtin_arm_rbit) { in EmitAArch64BuiltinExpr()
10977 if (BuiltinID == clang::AArch64::BI__builtin_arm_rbit64) { in EmitAArch64BuiltinExpr()
10985 if (BuiltinID == clang::AArch64::BI__builtin_arm_clz || in EmitAArch64BuiltinExpr()
10986 BuiltinID == clang::AArch64::BI__builtin_arm_clz64) { in EmitAArch64BuiltinExpr()
10990 if (BuiltinID == clang::AArch64::BI__builtin_arm_clz64) in EmitAArch64BuiltinExpr()
10995 if (BuiltinID == clang::AArch64::BI__builtin_arm_cls) { in EmitAArch64BuiltinExpr()
11000 if (BuiltinID == clang::AArch64::BI__builtin_arm_cls64) { in EmitAArch64BuiltinExpr()
11006 if (BuiltinID == clang::AArch64::BI__builtin_arm_rint32zf || in EmitAArch64BuiltinExpr()
11007 BuiltinID == clang::AArch64::BI__builtin_arm_rint32z) { in EmitAArch64BuiltinExpr()
11014 if (BuiltinID == clang::AArch64::BI__builtin_arm_rint64zf || in EmitAArch64BuiltinExpr()
11015 BuiltinID == clang::AArch64::BI__builtin_arm_rint64z) { in EmitAArch64BuiltinExpr()
11022 if (BuiltinID == clang::AArch64::BI__builtin_arm_rint32xf || in EmitAArch64BuiltinExpr()
11023 BuiltinID == clang::AArch64::BI__builtin_arm_rint32x) { in EmitAArch64BuiltinExpr()
11030 if (BuiltinID == clang::AArch64::BI__builtin_arm_rint64xf || in EmitAArch64BuiltinExpr()
11031 BuiltinID == clang::AArch64::BI__builtin_arm_rint64x) { in EmitAArch64BuiltinExpr()
11038 if (BuiltinID == clang::AArch64::BI__builtin_arm_jcvt) { in EmitAArch64BuiltinExpr()
11046 if (BuiltinID == clang::AArch64::BI__builtin_arm_ld64b || in EmitAArch64BuiltinExpr()
11047 BuiltinID == clang::AArch64::BI__builtin_arm_st64b || in EmitAArch64BuiltinExpr()
11048 BuiltinID == clang::AArch64::BI__builtin_arm_st64bv || in EmitAArch64BuiltinExpr()
11049 BuiltinID == clang::AArch64::BI__builtin_arm_st64bv0) { in EmitAArch64BuiltinExpr()
11053 if (BuiltinID == clang::AArch64::BI__builtin_arm_ld64b) { in EmitAArch64BuiltinExpr()
11080 auto Intr = (BuiltinID == clang::AArch64::BI__builtin_arm_st64b in EmitAArch64BuiltinExpr()
11082 : BuiltinID == clang::AArch64::BI__builtin_arm_st64bv in EmitAArch64BuiltinExpr()
11090 if (BuiltinID == clang::AArch64::BI__builtin_arm_rndr || in EmitAArch64BuiltinExpr()
11091 BuiltinID == clang::AArch64::BI__builtin_arm_rndrrs) { in EmitAArch64BuiltinExpr()
11093 auto Intr = (BuiltinID == clang::AArch64::BI__builtin_arm_rndr in EmitAArch64BuiltinExpr()
11107 if (BuiltinID == clang::AArch64::BI__clear_cache) { in EmitAArch64BuiltinExpr()
11119 if ((BuiltinID == clang::AArch64::BI__builtin_arm_ldrex || in EmitAArch64BuiltinExpr()
11120 BuiltinID == clang::AArch64::BI__builtin_arm_ldaex) && in EmitAArch64BuiltinExpr()
11123 CGM.getIntrinsic(BuiltinID == clang::AArch64::BI__builtin_arm_ldaex in EmitAArch64BuiltinExpr()
11140 } else if (BuiltinID == clang::AArch64::BI__builtin_arm_ldrex || in EmitAArch64BuiltinExpr()
11141 BuiltinID == clang::AArch64::BI__builtin_arm_ldaex) { in EmitAArch64BuiltinExpr()
11150 CGM.getIntrinsic(BuiltinID == clang::AArch64::BI__builtin_arm_ldaex in EmitAArch64BuiltinExpr()
11167 if ((BuiltinID == clang::AArch64::BI__builtin_arm_strex || in EmitAArch64BuiltinExpr()
11168 BuiltinID == clang::AArch64::BI__builtin_arm_stlex) && in EmitAArch64BuiltinExpr()
11171 CGM.getIntrinsic(BuiltinID == clang::AArch64::BI__builtin_arm_stlex in EmitAArch64BuiltinExpr()
11188 if (BuiltinID == clang::AArch64::BI__builtin_arm_strex || in EmitAArch64BuiltinExpr()
11189 BuiltinID == clang::AArch64::BI__builtin_arm_stlex) { in EmitAArch64BuiltinExpr()
11208 CGM.getIntrinsic(BuiltinID == clang::AArch64::BI__builtin_arm_stlex in EmitAArch64BuiltinExpr()
11218 if (BuiltinID == clang::AArch64::BI__getReg) { in EmitAArch64BuiltinExpr()
11236 if (BuiltinID == clang::AArch64::BI__break) { in EmitAArch64BuiltinExpr()
11245 if (BuiltinID == clang::AArch64::BI__builtin_arm_clrex) { in EmitAArch64BuiltinExpr()
11250 if (BuiltinID == clang::AArch64::BI_ReadWriteBarrier) in EmitAArch64BuiltinExpr()
11256 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
11287 if (BuiltinID == AArch64::BI__builtin_arm_mops_memset_tag) { in EmitAArch64BuiltinExpr()
11300 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
11376 if (BuiltinID == clang::AArch64::BI__builtin_arm_rsr || in EmitAArch64BuiltinExpr()
11377 BuiltinID == clang::AArch64::BI__builtin_arm_rsr64 || in EmitAArch64BuiltinExpr()
11378 BuiltinID == clang::AArch64::BI__builtin_arm_rsr128 || in EmitAArch64BuiltinExpr()
11379 BuiltinID == clang::AArch64::BI__builtin_arm_rsrp || in EmitAArch64BuiltinExpr()
11380 BuiltinID == clang::AArch64::BI__builtin_arm_wsr || in EmitAArch64BuiltinExpr()
11381 BuiltinID == clang::AArch64::BI__builtin_arm_wsr64 || in EmitAArch64BuiltinExpr()
11382 BuiltinID == clang::AArch64::BI__builtin_arm_wsr128 || in EmitAArch64BuiltinExpr()
11383 BuiltinID == clang::AArch64::BI__builtin_arm_wsrp) { in EmitAArch64BuiltinExpr()
11386 if (BuiltinID == clang::AArch64::BI__builtin_arm_rsr || in EmitAArch64BuiltinExpr()
11387 BuiltinID == clang::AArch64::BI__builtin_arm_rsr64 || in EmitAArch64BuiltinExpr()
11388 BuiltinID == clang::AArch64::BI__builtin_arm_rsr128 || in EmitAArch64BuiltinExpr()
11389 BuiltinID == clang::AArch64::BI__builtin_arm_rsrp) in EmitAArch64BuiltinExpr()
11392 bool IsPointerBuiltin = BuiltinID == clang::AArch64::BI__builtin_arm_rsrp || in EmitAArch64BuiltinExpr()
11393 BuiltinID == clang::AArch64::BI__builtin_arm_wsrp; in EmitAArch64BuiltinExpr()
11395 bool Is32Bit = BuiltinID == clang::AArch64::BI__builtin_arm_rsr || in EmitAArch64BuiltinExpr()
11396 BuiltinID == clang::AArch64::BI__builtin_arm_wsr; in EmitAArch64BuiltinExpr()
11398 bool Is128Bit = BuiltinID == clang::AArch64::BI__builtin_arm_rsr128 || in EmitAArch64BuiltinExpr()
11399 BuiltinID == clang::AArch64::BI__builtin_arm_wsr128; in EmitAArch64BuiltinExpr()
11420 if (BuiltinID == clang::AArch64::BI_ReadStatusReg || in EmitAArch64BuiltinExpr()
11421 BuiltinID == clang::AArch64::BI_WriteStatusReg) { in EmitAArch64BuiltinExpr()
11442 if (BuiltinID == clang::AArch64::BI_ReadStatusReg) { in EmitAArch64BuiltinExpr()
11454 if (BuiltinID == clang::AArch64::BI_AddressOfReturnAddress) { in EmitAArch64BuiltinExpr()
11460 if (BuiltinID == clang::AArch64::BI__builtin_sponentry) { in EmitAArch64BuiltinExpr()
11465 if (BuiltinID == clang::AArch64::BI__mulh || in EmitAArch64BuiltinExpr()
11466 BuiltinID == clang::AArch64::BI__umulh) { in EmitAArch64BuiltinExpr()
11470 bool IsSigned = BuiltinID == clang::AArch64::BI__mulh; in EmitAArch64BuiltinExpr()
11489 if (BuiltinID == AArch64::BI__writex18byte || in EmitAArch64BuiltinExpr()
11490 BuiltinID == AArch64::BI__writex18word || in EmitAArch64BuiltinExpr()
11491 BuiltinID == AArch64::BI__writex18dword || in EmitAArch64BuiltinExpr()
11492 BuiltinID == AArch64::BI__writex18qword) { in EmitAArch64BuiltinExpr()
11511 if (BuiltinID == AArch64::BI__readx18byte || in EmitAArch64BuiltinExpr()
11512 BuiltinID == AArch64::BI__readx18word || in EmitAArch64BuiltinExpr()
11513 BuiltinID == AArch64::BI__readx18dword || in EmitAArch64BuiltinExpr()
11514 BuiltinID == AArch64::BI__readx18qword) { in EmitAArch64BuiltinExpr()
11534 if (BuiltinID == AArch64::BI_CopyDoubleFromInt64 || in EmitAArch64BuiltinExpr()
11535 BuiltinID == AArch64::BI_CopyFloatFromInt32 || in EmitAArch64BuiltinExpr()
11536 BuiltinID == AArch64::BI_CopyInt32FromFloat || in EmitAArch64BuiltinExpr()
11537 BuiltinID == AArch64::BI_CopyInt64FromDouble) { in EmitAArch64BuiltinExpr()
11543 if (BuiltinID == AArch64::BI_CountLeadingOnes || in EmitAArch64BuiltinExpr()
11544 BuiltinID == AArch64::BI_CountLeadingOnes64 || in EmitAArch64BuiltinExpr()
11545 BuiltinID == AArch64::BI_CountLeadingZeros || in EmitAArch64BuiltinExpr()
11546 BuiltinID == AArch64::BI_CountLeadingZeros64) { in EmitAArch64BuiltinExpr()
11550 if (BuiltinID == AArch64::BI_CountLeadingOnes || in EmitAArch64BuiltinExpr()
11551 BuiltinID == AArch64::BI_CountLeadingOnes64) in EmitAArch64BuiltinExpr()
11557 if (BuiltinID == AArch64::BI_CountLeadingOnes64 || in EmitAArch64BuiltinExpr()
11558 BuiltinID == AArch64::BI_CountLeadingZeros64) in EmitAArch64BuiltinExpr()
11563 if (BuiltinID == AArch64::BI_CountLeadingSigns || in EmitAArch64BuiltinExpr()
11564 BuiltinID == AArch64::BI_CountLeadingSigns64) { in EmitAArch64BuiltinExpr()
11567 Function *F = (BuiltinID == AArch64::BI_CountLeadingSigns) in EmitAArch64BuiltinExpr()
11572 if (BuiltinID == AArch64::BI_CountLeadingSigns64) in EmitAArch64BuiltinExpr()
11577 if (BuiltinID == AArch64::BI_CountOneBits || in EmitAArch64BuiltinExpr()
11578 BuiltinID == AArch64::BI_CountOneBits64) { in EmitAArch64BuiltinExpr()
11584 if (BuiltinID == AArch64::BI_CountOneBits64) in EmitAArch64BuiltinExpr()
11589 if (BuiltinID == AArch64::BI__prefetch) { in EmitAArch64BuiltinExpr()
11598 if (BuiltinID == AArch64::BI__hlt) { in EmitAArch64BuiltinExpr()
11610 translateAarch64ToMsvcIntrin(BuiltinID)) in EmitAArch64BuiltinExpr()
11614 auto It = llvm::find_if(NEONEquivalentIntrinsicMap, [BuiltinID](auto &P) { in EmitAArch64BuiltinExpr()
11615 return P.first == BuiltinID; in EmitAArch64BuiltinExpr()
11618 BuiltinID = It->second; in EmitAArch64BuiltinExpr()
11624 getContext().GetBuiltinType(BuiltinID, Error, &ICEArguments); in EmitAArch64BuiltinExpr()
11631 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
11658 SISDMap, BuiltinID, AArch64SISDIntrinsicsProvenSorted); in EmitAArch64BuiltinExpr()
11678 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
11754 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
11789 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
11810 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
11827 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
11930 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
11953 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
11976 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
12004 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
12182 unsigned AccumInt = BuiltinID == NEON::BI__builtin_neon_vqdmlalh_s16 in EmitAArch64BuiltinExpr()
12195 unsigned Int = BuiltinID == NEON::BI__builtin_neon_vqshld_n_u64 in EmitAArch64BuiltinExpr()
12204 unsigned Int = BuiltinID == NEON::BI__builtin_neon_vrshrd_n_u64 in EmitAArch64BuiltinExpr()
12214 unsigned Int = BuiltinID == NEON::BI__builtin_neon_vrsrad_n_u64 in EmitAArch64BuiltinExpr()
12280 unsigned AccInt = (BuiltinID == NEON::BI__builtin_neon_vqdmlalh_lane_s16 || in EmitAArch64BuiltinExpr()
12281 BuiltinID == NEON::BI__builtin_neon_vqdmlalh_laneq_s16) in EmitAArch64BuiltinExpr()
12295 unsigned AccumInt = BuiltinID == NEON::BI__builtin_neon_vqdmlals_s32 in EmitAArch64BuiltinExpr()
12314 unsigned AccInt = (BuiltinID == NEON::BI__builtin_neon_vqdmlals_lane_s32 || in EmitAArch64BuiltinExpr()
12315 BuiltinID == NEON::BI__builtin_neon_vqdmlals_laneq_s32) in EmitAArch64BuiltinExpr()
12351 Builtin = findARMVectorIntrinsicInMap(AArch64SIMDIntrinsicMap, BuiltinID, in EmitAArch64BuiltinExpr()
12356 Builtin->BuiltinID, Builtin->LLVMIntrinsic, Builtin->AltLLVMIntrinsic, in EmitAArch64BuiltinExpr()
12360 if (Value *V = EmitAArch64TblBuiltinExpr(*this, BuiltinID, E, Ops, Arch)) in EmitAArch64BuiltinExpr()
12364 switch (BuiltinID) { in EmitAArch64BuiltinExpr()
12390 auto *SourceTy = BuiltinID == NEON::BI__builtin_neon_vfmaq_lane_v in EmitAArch64BuiltinExpr()
12814 if (BuiltinID == NEON::BI__builtin_neon_vmul_laneq_v) in EmitAArch64BuiltinExpr()
13492 Value *CodeGenFunction::EmitBPFBuiltinExpr(unsigned BuiltinID, in EmitBPFBuiltinExpr() argument
13494 assert((BuiltinID == BPF::BI__builtin_preserve_field_info || in EmitBPFBuiltinExpr()
13495 BuiltinID == BPF::BI__builtin_btf_type_id || in EmitBPFBuiltinExpr()
13496 BuiltinID == BPF::BI__builtin_preserve_type_info || in EmitBPFBuiltinExpr()
13497 BuiltinID == BPF::BI__builtin_preserve_enum_value) && in EmitBPFBuiltinExpr()
13505 switch (BuiltinID) { in EmitBPFBuiltinExpr()
13551 if (BuiltinID == BPF::BI__builtin_btf_type_id) in EmitBPFBuiltinExpr()
13892 ArrayRef<Value *> Ops, unsigned BuiltinID, in EmitX86FMAExpr() argument
13897 switch (BuiltinID) { in EmitX86FMAExpr()
13977 switch (BuiltinID) { in EmitX86FMAExpr()
14358 Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID, in EmitX86BuiltinExpr() argument
14360 if (BuiltinID == Builtin::BI__builtin_cpu_is) in EmitX86BuiltinExpr()
14362 if (BuiltinID == Builtin::BI__builtin_cpu_supports) in EmitX86BuiltinExpr()
14364 if (BuiltinID == Builtin::BI__builtin_cpu_init) in EmitX86BuiltinExpr()
14369 if (std::optional<MSVCIntrin> MsvcIntId = translateX86ToMsvcIntrin(BuiltinID)) in EmitX86BuiltinExpr()
14379 getContext().GetBuiltinType(BuiltinID, Error, &ICEArguments); in EmitX86BuiltinExpr()
14417 switch (BuiltinID) { in EmitX86BuiltinExpr()
14546 switch (BuiltinID) { in EmitX86BuiltinExpr()
14701 return EmitX86FMAExpr(*this, E, Ops, BuiltinID, /*IsAddSub*/ false); in EmitX86BuiltinExpr()
14714 return EmitX86FMAExpr(*this, E, Ops, BuiltinID, /*IsAddSub*/ true); in EmitX86BuiltinExpr()
14878 switch (BuiltinID) { in EmitX86BuiltinExpr()
14987 switch (BuiltinID) { in EmitX86BuiltinExpr()
15165 switch (BuiltinID) { in EmitX86BuiltinExpr()
15558 if (BuiltinID == X86::BI__builtin_ia32_movntsd || in EmitX86BuiltinExpr()
15559 BuiltinID == X86::BI__builtin_ia32_movntss) in EmitX86BuiltinExpr()
15706 switch (BuiltinID) { in EmitX86BuiltinExpr()
15746 switch (BuiltinID) { in EmitX86BuiltinExpr()
15869 switch (BuiltinID) { in EmitX86BuiltinExpr()
15915 switch (BuiltinID) { in EmitX86BuiltinExpr()
16067 switch (BuiltinID) { in EmitX86BuiltinExpr()
16099 switch (BuiltinID) { in EmitX86BuiltinExpr()
16137 switch (BuiltinID) { in EmitX86BuiltinExpr()
16182 switch (BuiltinID) { in EmitX86BuiltinExpr()
16218 switch (BuiltinID) { in EmitX86BuiltinExpr()
16243 switch (BuiltinID) { in EmitX86BuiltinExpr()
16350 switch (BuiltinID) { in EmitX86BuiltinExpr()
16483 switch (BuiltinID) { in EmitX86BuiltinExpr()
16499 Value *SubFuncId = BuiltinID == X86::BI__cpuidex in EmitX86BuiltinExpr()
16539 bool isSigned = (BuiltinID == X86::BI__emul); in EmitX86BuiltinExpr()
16551 bool IsSigned = (BuiltinID == X86::BI__mulh || BuiltinID == X86::BI_mul128); in EmitX86BuiltinExpr()
16565 if (BuiltinID == X86::BI__mulh || BuiltinID == X86::BI__umulh) in EmitX86BuiltinExpr()
16580 BuiltinID == X86::BI__shiftleft128 ? Intrinsic::fshl : Intrinsic::fshr, in EmitX86BuiltinExpr()
16678 switch (BuiltinID) { in EmitX86BuiltinExpr()
16729 switch (BuiltinID) { in EmitX86BuiltinExpr()
16825 Value *CodeGenFunction::EmitPPCBuiltinExpr(unsigned BuiltinID, in EmitPPCBuiltinExpr() argument
16892 switch (BuiltinID) { in EmitPPCBuiltinExpr()
17002 if (!(BuiltinID == PPC::BI__builtin_vsx_lxvl || in EmitPPCBuiltinExpr()
17003 BuiltinID == PPC::BI__builtin_vsx_lxvll)) { in EmitPPCBuiltinExpr()
17008 switch (BuiltinID) { in EmitPPCBuiltinExpr()
17071 if (!(BuiltinID == PPC::BI__builtin_vsx_stxvl || in EmitPPCBuiltinExpr()
17072 BuiltinID == PPC::BI__builtin_vsx_stxvll)) { in EmitPPCBuiltinExpr()
17077 switch (BuiltinID) { in EmitPPCBuiltinExpr()
17297 bool IsUnaligned = (BuiltinID == PPC::BI__builtin_altivec_vinsw || in EmitPPCBuiltinExpr()
17298 BuiltinID == PPC::BI__builtin_altivec_vinsd); in EmitPPCBuiltinExpr()
17300 bool Is32bit = (BuiltinID == PPC::BI__builtin_altivec_vinsw || in EmitPPCBuiltinExpr()
17301 BuiltinID == PPC::BI__builtin_altivec_vinsw_elt); in EmitPPCBuiltinExpr()
17364 if (BuiltinID == PPC::BI__builtin_altivec_vadduqm) in EmitPPCBuiltinExpr()
17378 ID = (BuiltinID == PPC::BI__builtin_altivec_vaddcuq_c) in EmitPPCBuiltinExpr()
17396 switch (BuiltinID) { in EmitPPCBuiltinExpr()
17422 if (BuiltinID == PPC::BI__builtin_ppc_rldimi && in EmitPPCBuiltinExpr()
17431 CGM.getIntrinsic(BuiltinID == PPC::BI__builtin_ppc_rldimi in EmitPPCBuiltinExpr()
17518 if (BuiltinID == PPC::BI__builtin_vsx_xvrdpim || in EmitPPCBuiltinExpr()
17519 BuiltinID == PPC::BI__builtin_vsx_xvrspim) in EmitPPCBuiltinExpr()
17523 else if (BuiltinID == PPC::BI__builtin_vsx_xvrdpi || in EmitPPCBuiltinExpr()
17524 BuiltinID == PPC::BI__builtin_vsx_xvrspi) in EmitPPCBuiltinExpr()
17528 else if (BuiltinID == PPC::BI__builtin_vsx_xvrdpic || in EmitPPCBuiltinExpr()
17529 BuiltinID == PPC::BI__builtin_vsx_xvrspic) in EmitPPCBuiltinExpr()
17533 else if (BuiltinID == PPC::BI__builtin_vsx_xvrdpip || in EmitPPCBuiltinExpr()
17534 BuiltinID == PPC::BI__builtin_vsx_xvrspip) in EmitPPCBuiltinExpr()
17538 else if (BuiltinID == PPC::BI__builtin_vsx_xvrdpiz || in EmitPPCBuiltinExpr()
17539 BuiltinID == PPC::BI__builtin_vsx_xvrspiz) in EmitPPCBuiltinExpr()
17567 if (BuiltinID == PPC::BI__builtin_ppc_recipdivf || in EmitPPCBuiltinExpr()
17568 BuiltinID == PPC::BI__builtin_ppc_recipdivd) { in EmitPPCBuiltinExpr()
17629 switch (BuiltinID) { in EmitPPCBuiltinExpr()
17857 if (BuiltinID == PPC::BI__builtin_mma_disassemble_acc || in EmitPPCBuiltinExpr()
17858 BuiltinID == PPC::BI__builtin_vsx_disassemble_pair || in EmitPPCBuiltinExpr()
17859 BuiltinID == PPC::BI__builtin_mma_disassemble_pair) { in EmitPPCBuiltinExpr()
17862 if (BuiltinID == PPC::BI__builtin_mma_disassemble_acc) { in EmitPPCBuiltinExpr()
17880 if (BuiltinID == PPC::BI__builtin_vsx_build_pair || in EmitPPCBuiltinExpr()
17881 BuiltinID == PPC::BI__builtin_mma_build_acc) { in EmitPPCBuiltinExpr()
17892 switch (BuiltinID) { in EmitPPCBuiltinExpr()
17900 if (BuiltinID == PPC::BI__builtin_vsx_lxvp || in EmitPPCBuiltinExpr()
17901 BuiltinID == PPC::BI__builtin_vsx_stxvp || in EmitPPCBuiltinExpr()
17902 BuiltinID == PPC::BI__builtin_mma_lxvp || in EmitPPCBuiltinExpr()
17903 BuiltinID == PPC::BI__builtin_mma_stxvp) { in EmitPPCBuiltinExpr()
17904 if (BuiltinID == PPC::BI__builtin_vsx_lxvp || in EmitPPCBuiltinExpr()
17905 BuiltinID == PPC::BI__builtin_mma_lxvp) { in EmitPPCBuiltinExpr()
17974 return emitPPCLoadReserveIntrinsic(*this, BuiltinID, E); in EmitPPCBuiltinExpr()
18335 Value *CodeGenFunction::EmitHLSLBuiltinExpr(unsigned BuiltinID, in EmitHLSLBuiltinExpr() argument
18340 switch (BuiltinID) { in EmitHLSLBuiltinExpr()
18520 Value *CodeGenFunction::EmitAMDGPUBuiltinExpr(unsigned BuiltinID, in EmitAMDGPUBuiltinExpr() argument
18524 switch (BuiltinID) { in EmitAMDGPUBuiltinExpr()
18576 getContext().GetBuiltinType(BuiltinID, Error, &ICEArguments); in EmitAMDGPUBuiltinExpr()
18592 BuiltinID == AMDGPU::BI__builtin_amdgcn_permlane16 in EmitAMDGPUBuiltinExpr()
18735 Intrinsic::ID Intrin = BuiltinID == AMDGPU::BI__builtin_amdgcn_ds_append ? in EmitAMDGPUBuiltinExpr()
18753 switch (BuiltinID) { in EmitAMDGPUBuiltinExpr()
18800 switch (BuiltinID) { in EmitAMDGPUBuiltinExpr()
18823 switch (BuiltinID) { in EmitAMDGPUBuiltinExpr()
18975 switch (BuiltinID) { in EmitAMDGPUBuiltinExpr()
19190 switch (BuiltinID) { in EmitAMDGPUBuiltinExpr()
19221 if (BuiltinID == AMDGPU::BI__builtin_amdgcn_ds_faddf || in EmitAMDGPUBuiltinExpr()
19222 BuiltinID == AMDGPU::BI__builtin_amdgcn_ds_fminf || in EmitAMDGPUBuiltinExpr()
19223 BuiltinID == AMDGPU::BI__builtin_amdgcn_ds_fmaxf) { in EmitAMDGPUBuiltinExpr()
19243 if (BuiltinID == AMDGPU::BI__builtin_amdgcn_ds_atomic_fadd_v2bf16) { in EmitAMDGPUBuiltinExpr()
19283 switch (BuiltinID) { in EmitAMDGPUBuiltinExpr()
19332 Value *CodeGenFunction::EmitSystemZBuiltinExpr(unsigned BuiltinID, in EmitSystemZBuiltinExpr() argument
19334 switch (BuiltinID) { in EmitSystemZBuiltinExpr()
19557 switch (BuiltinID) { // FIXME: constrained version? in EmitSystemZBuiltinExpr()
19592 switch (BuiltinID) { in EmitSystemZBuiltinExpr()
19626 switch (BuiltinID) { in EmitSystemZBuiltinExpr()
19749 static NVPTXMmaLdstInfo getNVPTXMmaLdstInfo(unsigned BuiltinID) { in getNVPTXMmaLdstInfo() argument
19750 switch (BuiltinID) { in getNVPTXMmaLdstInfo()
19924 static NVPTXMmaInfo getNVPTXMmaInfo(unsigned BuiltinID) { in getNVPTXMmaInfo() argument
19967 switch (BuiltinID) { in getNVPTXMmaInfo()
20077 static Value *MakeHalfType(unsigned IntrinsicID, unsigned BuiltinID, in MakeHalfType() argument
20082 CGF.CGM.Error(E->getExprLoc(), C.BuiltinInfo.getName(BuiltinID).str() + in MakeHalfType()
20096 C.GetBuiltinType(BuiltinID, Error, &ICEArguments); in MakeHalfType()
20111 Value *CodeGenFunction::EmitNVPTXBuiltinExpr(unsigned BuiltinID, in EmitNVPTXBuiltinExpr() argument
20113 switch (BuiltinID) { in EmitNVPTXBuiltinExpr()
20383 CGM.getIntrinsic(BuiltinID == NVPTX::BI__nvvm_match_all_sync_i32p in EmitNVPTXBuiltinExpr()
20453 NVPTXMmaLdstInfo II = getNVPTXMmaLdstInfo(BuiltinID); in EmitNVPTXBuiltinExpr()
20500 NVPTXMmaLdstInfo II = getNVPTXMmaLdstInfo(BuiltinID); in EmitNVPTXBuiltinExpr()
20562 if (BuiltinID == NVPTX::BI__bmma_m8n8k128_mma_xor_popc_b1 || in EmitNVPTXBuiltinExpr()
20563 BuiltinID == NVPTX::BI__bmma_m8n8k128_mma_and_popc_b1) in EmitNVPTXBuiltinExpr()
20571 NVPTXMmaInfo MI = getNVPTXMmaInfo(BuiltinID); in EmitNVPTXBuiltinExpr()
20621 return MakeHalfType(Intrinsic::nvvm_ex2_approx_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20623 return MakeHalfType(Intrinsic::nvvm_ex2_approx_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20625 return MakeHalfType(Intrinsic::nvvm_ff2f16x2_rn, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20627 return MakeHalfType(Intrinsic::nvvm_ff2f16x2_rn_relu, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20629 return MakeHalfType(Intrinsic::nvvm_ff2f16x2_rz, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20631 return MakeHalfType(Intrinsic::nvvm_ff2f16x2_rz_relu, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20633 return MakeHalfType(Intrinsic::nvvm_fma_rn_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20635 return MakeHalfType(Intrinsic::nvvm_fma_rn_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20637 return MakeHalfType(Intrinsic::nvvm_fma_rn_ftz_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20639 return MakeHalfType(Intrinsic::nvvm_fma_rn_ftz_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20641 return MakeHalfType(Intrinsic::nvvm_fma_rn_ftz_relu_f16, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20644 return MakeHalfType(Intrinsic::nvvm_fma_rn_ftz_relu_f16x2, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20647 return MakeHalfType(Intrinsic::nvvm_fma_rn_ftz_sat_f16, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20650 return MakeHalfType(Intrinsic::nvvm_fma_rn_ftz_sat_f16x2, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20653 return MakeHalfType(Intrinsic::nvvm_fma_rn_relu_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20655 return MakeHalfType(Intrinsic::nvvm_fma_rn_relu_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20657 return MakeHalfType(Intrinsic::nvvm_fma_rn_sat_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20659 return MakeHalfType(Intrinsic::nvvm_fma_rn_sat_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20661 return MakeHalfType(Intrinsic::nvvm_fmax_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20663 return MakeHalfType(Intrinsic::nvvm_fmax_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20665 return MakeHalfType(Intrinsic::nvvm_fmax_ftz_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20667 return MakeHalfType(Intrinsic::nvvm_fmax_ftz_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20669 return MakeHalfType(Intrinsic::nvvm_fmax_ftz_nan_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20671 return MakeHalfType(Intrinsic::nvvm_fmax_ftz_nan_f16x2, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20674 return MakeHalfType(Intrinsic::nvvm_fmax_ftz_nan_xorsign_abs_f16, BuiltinID, in EmitNVPTXBuiltinExpr()
20678 BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20680 return MakeHalfType(Intrinsic::nvvm_fmax_ftz_xorsign_abs_f16, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20683 return MakeHalfType(Intrinsic::nvvm_fmax_ftz_xorsign_abs_f16x2, BuiltinID, in EmitNVPTXBuiltinExpr()
20686 return MakeHalfType(Intrinsic::nvvm_fmax_nan_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20688 return MakeHalfType(Intrinsic::nvvm_fmax_nan_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20690 return MakeHalfType(Intrinsic::nvvm_fmax_nan_xorsign_abs_f16, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20693 return MakeHalfType(Intrinsic::nvvm_fmax_nan_xorsign_abs_f16x2, BuiltinID, in EmitNVPTXBuiltinExpr()
20696 return MakeHalfType(Intrinsic::nvvm_fmax_xorsign_abs_f16, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20699 return MakeHalfType(Intrinsic::nvvm_fmax_xorsign_abs_f16x2, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20702 return MakeHalfType(Intrinsic::nvvm_fmin_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20704 return MakeHalfType(Intrinsic::nvvm_fmin_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20706 return MakeHalfType(Intrinsic::nvvm_fmin_ftz_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20708 return MakeHalfType(Intrinsic::nvvm_fmin_ftz_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20710 return MakeHalfType(Intrinsic::nvvm_fmin_ftz_nan_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20712 return MakeHalfType(Intrinsic::nvvm_fmin_ftz_nan_f16x2, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20715 return MakeHalfType(Intrinsic::nvvm_fmin_ftz_nan_xorsign_abs_f16, BuiltinID, in EmitNVPTXBuiltinExpr()
20719 BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20721 return MakeHalfType(Intrinsic::nvvm_fmin_ftz_xorsign_abs_f16, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20724 return MakeHalfType(Intrinsic::nvvm_fmin_ftz_xorsign_abs_f16x2, BuiltinID, in EmitNVPTXBuiltinExpr()
20727 return MakeHalfType(Intrinsic::nvvm_fmin_nan_f16, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20729 return MakeHalfType(Intrinsic::nvvm_fmin_nan_f16x2, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20731 return MakeHalfType(Intrinsic::nvvm_fmin_nan_xorsign_abs_f16, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20734 return MakeHalfType(Intrinsic::nvvm_fmin_nan_xorsign_abs_f16x2, BuiltinID, in EmitNVPTXBuiltinExpr()
20737 return MakeHalfType(Intrinsic::nvvm_fmin_xorsign_abs_f16, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20740 return MakeHalfType(Intrinsic::nvvm_fmin_xorsign_abs_f16x2, BuiltinID, E, in EmitNVPTXBuiltinExpr()
20743 return MakeHalfType(Intrinsic::nvvm_ldg_global_f, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20745 return MakeHalfType(Intrinsic::nvvm_ldg_global_f, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20747 return MakeHalfType(Intrinsic::nvvm_ldu_global_f, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20749 return MakeHalfType(Intrinsic::nvvm_ldu_global_f, BuiltinID, E, *this); in EmitNVPTXBuiltinExpr()
20942 Value *CodeGenFunction::EmitWebAssemblyBuiltinExpr(unsigned BuiltinID, in EmitWebAssemblyBuiltinExpr() argument
20944 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21095 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21142 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21192 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21238 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21280 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21325 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21345 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21386 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21427 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21448 switch (BuiltinID) { in EmitWebAssemblyBuiltinExpr()
21606 getIntrinsicForHexagonNonClangBuiltin(unsigned BuiltinID) { in getIntrinsicForHexagonNonClangBuiltin() argument
21608 unsigned BuiltinID; in getIntrinsicForHexagonNonClangBuiltin() member
21650 auto CmpInfo = [] (Info A, Info B) { return A.BuiltinID < B.BuiltinID; }; in getIntrinsicForHexagonNonClangBuiltin()
21654 const Info *F = llvm::lower_bound(Infos, Info{BuiltinID, 0, 0}, CmpInfo); in getIntrinsicForHexagonNonClangBuiltin()
21655 if (F == std::end(Infos) || F->BuiltinID != BuiltinID) in getIntrinsicForHexagonNonClangBuiltin()
21661 Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, in EmitHexagonBuiltinExpr() argument
21665 std::tie(ID, VecLen) = getIntrinsicForHexagonNonClangBuiltin(BuiltinID); in EmitHexagonBuiltinExpr()
21746 switch (BuiltinID) { in EmitHexagonBuiltinExpr()
21849 Value *CodeGenFunction::EmitRISCVBuiltinExpr(unsigned BuiltinID, in EmitRISCVBuiltinExpr() argument
21858 getContext().GetBuiltinType(BuiltinID, Error, &ICEArguments); in EmitRISCVBuiltinExpr()
21861 assert(BuiltinID >= clang::RISCV::FirstRVVBuiltin && in EmitRISCVBuiltinExpr()
21862 BuiltinID <= clang::RISCV::LastRVVBuiltin); in EmitRISCVBuiltinExpr()
21864 if (BuiltinID == RISCVVector::BI__builtin_rvv_vget_v || in EmitRISCVBuiltinExpr()
21865 BuiltinID == RISCVVector::BI__builtin_rvv_vset_v) in EmitRISCVBuiltinExpr()
21871 if (BuiltinID == RISCV::BI__builtin_riscv_ntl_load) in EmitRISCVBuiltinExpr()
21873 if (BuiltinID == RISCV::BI__builtin_riscv_ntl_store) in EmitRISCVBuiltinExpr()
21898 switch (BuiltinID) { in EmitRISCVBuiltinExpr()
21920 switch (BuiltinID) { in EmitRISCVBuiltinExpr()