Lines Matching defs:Builtin
9 // This contains code to emit Builtin calls as LLVM code.
109 {Builtin::BI__builtin___fprintf_chk, "__fprintf_chkieee128"},
110 {Builtin::BI__builtin___printf_chk, "__printf_chkieee128"},
111 {Builtin::BI__builtin___snprintf_chk, "__snprintf_chkieee128"},
112 {Builtin::BI__builtin___sprintf_chk, "__sprintf_chkieee128"},
113 {Builtin::BI__builtin___vfprintf_chk, "__vfprintf_chkieee128"},
114 {Builtin::BI__builtin___vprintf_chk, "__vprintf_chkieee128"},
115 {Builtin::BI__builtin___vsnprintf_chk, "__vsnprintf_chkieee128"},
116 {Builtin::BI__builtin___vsprintf_chk, "__vsprintf_chkieee128"},
117 {Builtin::BI__builtin_fprintf, "__fprintfieee128"},
118 {Builtin::BI__builtin_printf, "__printfieee128"},
119 {Builtin::BI__builtin_snprintf, "__snprintfieee128"},
120 {Builtin::BI__builtin_sprintf, "__sprintfieee128"},
121 {Builtin::BI__builtin_vfprintf, "__vfprintfieee128"},
122 {Builtin::BI__builtin_vprintf, "__vprintfieee128"},
123 {Builtin::BI__builtin_vsnprintf, "__vsnprintfieee128"},
124 {Builtin::BI__builtin_vsprintf, "__vsprintfieee128"},
125 {Builtin::BI__builtin_fscanf, "__fscanfieee128"},
126 {Builtin::BI__builtin_scanf, "__scanfieee128"},
127 {Builtin::BI__builtin_sscanf, "__sscanfieee128"},
128 {Builtin::BI__builtin_vfscanf, "__vfscanfieee128"},
129 {Builtin::BI__builtin_vscanf, "__vscanfieee128"},
130 {Builtin::BI__builtin_vsscanf, "__vsscanfieee128"},
131 {Builtin::BI__builtin_nexttowardf128, "__nexttowardieee128"},
138 {Builtin::BI__builtin_frexpl, "frexp"},
139 {Builtin::BI__builtin_ldexpl, "ldexp"},
140 {Builtin::BI__builtin_modfl, "modf"},
298 /// @param E Builtin call expression to convert to cmpxchg.
698 case Builtin::BIexpf:
699 case Builtin::BI__builtin_expf:
700 case Builtin::BI__builtin_expf128:
1150 case Builtin::BI_bittest:
1152 case Builtin::BI_bittestandcomplement:
1154 case Builtin::BI_bittestandreset:
1156 case Builtin::BI_bittestandset:
1158 case Builtin::BI_interlockedbittestandreset:
1160 case Builtin::BI_interlockedbittestandset:
1164 case Builtin::BI_bittest64:
1166 case Builtin::BI_bittestandcomplement64:
1168 case Builtin::BI_bittestandreset64:
1170 case Builtin::BI_bittestandset64:
1172 case Builtin::BI_interlockedbittestandreset64:
1174 case Builtin::BI_interlockedbittestandset64:
1178 case Builtin::BI_interlockedbittestandset_acq:
1180 case Builtin::BI_interlockedbittestandset_rel:
1182 case Builtin::BI_interlockedbittestandset_nf:
1184 case Builtin::BI_interlockedbittestandreset_acq:
1186 case Builtin::BI_interlockedbittestandreset_rel:
1188 case Builtin::BI_interlockedbittestandreset_nf:
2006 if (!SanOpts.has(SanitizerKind::Builtin))
2012 EmitCheck(std::make_pair(Cond, SanitizerKind::Builtin),
2256 return BuiltinID == Builtin::BI__builtin_mul_overflow &&
2267 Builtin::BI__builtin_mul_overflow, Op1Info, Op2Info, ResultInfo) &&
2299 return BuiltinID == Builtin::BI__builtin_mul_overflow &&
2312 assert(isSpecialMixedSignMultiply(Builtin::BI__builtin_mul_overflow, Op1Info,
2449 case Builtin::BI__builtin_##func##l: \
2450 return Builtin::BI__builtin_##func##f128;
2609 case Builtin::BI__builtin_fma:
2610 case Builtin::BI__builtin_fmaf:
2611 case Builtin::BI__builtin_fmal:
2612 case Builtin::BI__builtin_fmaf16:
2613 case Builtin::BIfma:
2614 case Builtin::BIfmaf:
2615 case Builtin::BIfmal: {
2665 case Builtin::BIacos:
2666 case Builtin::BIacosf:
2667 case Builtin::BIacosl:
2668 case Builtin::BI__builtin_acos:
2669 case Builtin::BI__builtin_acosf:
2670 case Builtin::BI__builtin_acosf16:
2671 case Builtin::BI__builtin_acosl:
2672 case Builtin::BI__builtin_acosf128:
2676 case Builtin::BIasin:
2677 case Builtin::BIasinf:
2678 case Builtin::BIasinl:
2679 case Builtin::BI__builtin_asin:
2680 case Builtin::BI__builtin_asinf:
2681 case Builtin::BI__builtin_asinf16:
2682 case Builtin::BI__builtin_asinl:
2683 case Builtin::BI__builtin_asinf128:
2687 case Builtin::BIatan:
2688 case Builtin::BIatanf:
2689 case Builtin::BIatanl:
2690 case Builtin::BI__builtin_atan:
2691 case Builtin::BI__builtin_atanf:
2692 case Builtin::BI__builtin_atanf16:
2693 case Builtin::BI__builtin_atanl:
2694 case Builtin::BI__builtin_atanf128:
2698 case Builtin::BIceil:
2699 case Builtin::BIceilf:
2700 case Builtin::BIceill:
2701 case Builtin::BI__builtin_ceil:
2702 case Builtin::BI__builtin_ceilf:
2703 case Builtin::BI__builtin_ceilf16:
2704 case Builtin::BI__builtin_ceill:
2705 case Builtin::BI__builtin_ceilf128:
2710 case Builtin::BIcopysign:
2711 case Builtin::BIcopysignf:
2712 case Builtin::BIcopysignl:
2713 case Builtin::BI__builtin_copysign:
2714 case Builtin::BI__builtin_copysignf:
2715 case Builtin::BI__builtin_copysignf16:
2716 case Builtin::BI__builtin_copysignl:
2717 case Builtin::BI__builtin_copysignf128:
2721 case Builtin::BIcos:
2722 case Builtin::BIcosf:
2723 case Builtin::BIcosl:
2724 case Builtin::BI__builtin_cos:
2725 case Builtin::BI__builtin_cosf:
2726 case Builtin::BI__builtin_cosf16:
2727 case Builtin::BI__builtin_cosl:
2728 case Builtin::BI__builtin_cosf128:
2733 case Builtin::BIcosh:
2734 case Builtin::BIcoshf:
2735 case Builtin::BIcoshl:
2736 case Builtin::BI__builtin_cosh:
2737 case Builtin::BI__builtin_coshf:
2738 case Builtin::BI__builtin_coshf16:
2739 case Builtin::BI__builtin_coshl:
2740 case Builtin::BI__builtin_coshf128:
2744 case Builtin::BIexp:
2745 case Builtin::BIexpf:
2746 case Builtin::BIexpl:
2747 case Builtin::BI__builtin_exp:
2748 case Builtin::BI__builtin_expf:
2749 case Builtin::BI__builtin_expf16:
2750 case Builtin::BI__builtin_expl:
2751 case Builtin::BI__builtin_expf128:
2756 case Builtin::BIexp2:
2757 case Builtin::BIexp2f:
2758 case Builtin::BIexp2l:
2759 case Builtin::BI__builtin_exp2:
2760 case Builtin::BI__builtin_exp2f:
2761 case Builtin::BI__builtin_exp2f16:
2762 case Builtin::BI__builtin_exp2l:
2763 case Builtin::BI__builtin_exp2f128:
2767 case Builtin::BI__builtin_exp10:
2768 case Builtin::BI__builtin_exp10f:
2769 case Builtin::BI__builtin_exp10f16:
2770 case Builtin::BI__builtin_exp10l:
2771 case Builtin::BI__builtin_exp10f128: {
2778 case Builtin::BIfabs:
2779 case Builtin::BIfabsf:
2780 case Builtin::BIfabsl:
2781 case Builtin::BI__builtin_fabs:
2782 case Builtin::BI__builtin_fabsf:
2783 case Builtin::BI__builtin_fabsf16:
2784 case Builtin::BI__builtin_fabsl:
2785 case Builtin::BI__builtin_fabsf128:
2789 case Builtin::BIfloor:
2790 case Builtin::BIfloorf:
2791 case Builtin::BIfloorl:
2792 case Builtin::BI__builtin_floor:
2793 case Builtin::BI__builtin_floorf:
2794 case Builtin::BI__builtin_floorf16:
2795 case Builtin::BI__builtin_floorl:
2796 case Builtin::BI__builtin_floorf128:
2801 case Builtin::BIfma:
2802 case Builtin::BIfmaf:
2803 case Builtin::BIfmal:
2804 case Builtin::BI__builtin_fma:
2805 case Builtin::BI__builtin_fmaf:
2806 case Builtin::BI__builtin_fmaf16:
2807 case Builtin::BI__builtin_fmal:
2808 case Builtin::BI__builtin_fmaf128:
2813 case Builtin::BIfmax:
2814 case Builtin::BIfmaxf:
2815 case Builtin::BIfmaxl:
2816 case Builtin::BI__builtin_fmax:
2817 case Builtin::BI__builtin_fmaxf:
2818 case Builtin::BI__builtin_fmaxf16:
2819 case Builtin::BI__builtin_fmaxl:
2820 case Builtin::BI__builtin_fmaxf128:
2825 case Builtin::BIfmin:
2826 case Builtin::BIfminf:
2827 case Builtin::BIfminl:
2828 case Builtin::BI__builtin_fmin:
2829 case Builtin::BI__builtin_fminf:
2830 case Builtin::BI__builtin_fminf16:
2831 case Builtin::BI__builtin_fminl:
2832 case Builtin::BI__builtin_fminf128:
2839 case Builtin::BIfmod:
2840 case Builtin::BIfmodf:
2841 case Builtin::BIfmodl:
2842 case Builtin::BI__builtin_fmod:
2843 case Builtin::BI__builtin_fmodf:
2844 case Builtin::BI__builtin_fmodf16:
2845 case Builtin::BI__builtin_fmodl:
2846 case Builtin::BI__builtin_fmodf128: {
2853 case Builtin::BIlog:
2854 case Builtin::BIlogf:
2855 case Builtin::BIlogl:
2856 case Builtin::BI__builtin_log:
2857 case Builtin::BI__builtin_logf:
2858 case Builtin::BI__builtin_logf16:
2859 case Builtin::BI__builtin_logl:
2860 case Builtin::BI__builtin_logf128:
2865 case Builtin::BIlog10:
2866 case Builtin::BIlog10f:
2867 case Builtin::BIlog10l:
2868 case Builtin::BI__builtin_log10:
2869 case Builtin::BI__builtin_log10f:
2870 case Builtin::BI__builtin_log10f16:
2871 case Builtin::BI__builtin_log10l:
2872 case Builtin::BI__builtin_log10f128:
2877 case Builtin::BIlog2:
2878 case Builtin::BIlog2f:
2879 case Builtin::BIlog2l:
2880 case Builtin::BI__builtin_log2:
2881 case Builtin::BI__builtin_log2f:
2882 case Builtin::BI__builtin_log2f16:
2883 case Builtin::BI__builtin_log2l:
2884 case Builtin::BI__builtin_log2f128:
2889 case Builtin::BInearbyint:
2890 case Builtin::BInearbyintf:
2891 case Builtin::BInearbyintl:
2892 case Builtin::BI__builtin_nearbyint:
2893 case Builtin::BI__builtin_nearbyintf:
2894 case Builtin::BI__builtin_nearbyintl:
2895 case Builtin::BI__builtin_nearbyintf128:
2900 case Builtin::BIpow:
2901 case Builtin::BIpowf:
2902 case Builtin::BIpowl:
2903 case Builtin::BI__builtin_pow:
2904 case Builtin::BI__builtin_powf:
2905 case Builtin::BI__builtin_powf16:
2906 case Builtin::BI__builtin_powl:
2907 case Builtin::BI__builtin_powf128:
2912 case Builtin::BIrint:
2913 case Builtin::BIrintf:
2914 case Builtin::BIrintl:
2915 case Builtin::BI__builtin_rint:
2916 case Builtin::BI__builtin_rintf:
2917 case Builtin::BI__builtin_rintf16:
2918 case Builtin::BI__builtin_rintl:
2919 case Builtin::BI__builtin_rintf128:
2924 case Builtin::BIround:
2925 case Builtin::BIroundf:
2926 case Builtin::BIroundl:
2927 case Builtin::BI__builtin_round:
2928 case Builtin::BI__builtin_roundf:
2929 case Builtin::BI__builtin_roundf16:
2930 case Builtin::BI__builtin_roundl:
2931 case Builtin::BI__builtin_roundf128:
2936 case Builtin::BIroundeven:
2937 case Builtin::BIroundevenf:
2938 case Builtin::BIroundevenl:
2939 case Builtin::BI__builtin_roundeven:
2940 case Builtin::BI__builtin_roundevenf:
2941 case Builtin::BI__builtin_roundevenf16:
2942 case Builtin::BI__builtin_roundevenl:
2943 case Builtin::BI__builtin_roundevenf128:
2948 case Builtin::BIsin:
2949 case Builtin::BIsinf:
2950 case Builtin::BIsinl:
2951 case Builtin::BI__builtin_sin:
2952 case Builtin::BI__builtin_sinf:
2953 case Builtin::BI__builtin_sinf16:
2954 case Builtin::BI__builtin_sinl:
2955 case Builtin::BI__builtin_sinf128:
2960 case Builtin::BIsinh:
2961 case Builtin::BIsinhf:
2962 case Builtin::BIsinhl:
2963 case Builtin::BI__builtin_sinh:
2964 case Builtin::BI__builtin_sinhf:
2965 case Builtin::BI__builtin_sinhf16:
2966 case Builtin::BI__builtin_sinhl:
2967 case Builtin::BI__builtin_sinhf128:
2971 case Builtin::BIsqrt:
2972 case Builtin::BIsqrtf:
2973 case Builtin::BIsqrtl:
2974 case Builtin::BI__builtin_sqrt:
2975 case Builtin::BI__builtin_sqrtf:
2976 case Builtin::BI__builtin_sqrtf16:
2977 case Builtin::BI__builtin_sqrtl:
2978 case Builtin::BI__builtin_sqrtf128:
2979 case Builtin::BI__builtin_elementwise_sqrt: {
2986 case Builtin::BItan:
2987 case Builtin::BItanf:
2988 case Builtin::BItanl:
2989 case Builtin::BI__builtin_tan:
2990 case Builtin::BI__builtin_tanf:
2991 case Builtin::BI__builtin_tanf16:
2992 case Builtin::BI__builtin_tanl:
2993 case Builtin::BI__builtin_tanf128:
2997 case Builtin::BItanh:
2998 case Builtin::BItanhf:
2999 case Builtin::BItanhl:
3000 case Builtin::BI__builtin_tanh:
3001 case Builtin::BI__builtin_tanhf:
3002 case Builtin::BI__builtin_tanhf16:
3003 case Builtin::BI__builtin_tanhl:
3004 case Builtin::BI__builtin_tanhf128:
3008 case Builtin::BItrunc:
3009 case Builtin::BItruncf:
3010 case Builtin::BItruncl:
3011 case Builtin::BI__builtin_trunc:
3012 case Builtin::BI__builtin_truncf:
3013 case Builtin::BI__builtin_truncf16:
3014 case Builtin::BI__builtin_truncl:
3015 case Builtin::BI__builtin_truncf128:
3020 case Builtin::BIlround:
3021 case Builtin::BIlroundf:
3022 case Builtin::BIlroundl:
3023 case Builtin::BI__builtin_lround:
3024 case Builtin::BI__builtin_lroundf:
3025 case Builtin::BI__builtin_lroundl:
3026 case Builtin::BI__builtin_lroundf128:
3031 case Builtin::BIllround:
3032 case Builtin::BIllroundf:
3033 case Builtin::BIllroundl:
3034 case Builtin::BI__builtin_llround:
3035 case Builtin::BI__builtin_llroundf:
3036 case Builtin::BI__builtin_llroundl:
3037 case Builtin::BI__builtin_llroundf128:
3042 case Builtin::BIlrint:
3043 case Builtin::BIlrintf:
3044 case Builtin::BIlrintl:
3045 case Builtin::BI__builtin_lrint:
3046 case Builtin::BI__builtin_lrintf:
3047 case Builtin::BI__builtin_lrintl:
3048 case Builtin::BI__builtin_lrintf128:
3053 case Builtin::BIllrint:
3054 case Builtin::BIllrintf:
3055 case Builtin::BIllrintl:
3056 case Builtin::BI__builtin_llrint:
3057 case Builtin::BI__builtin_llrintf:
3058 case Builtin::BI__builtin_llrintl:
3059 case Builtin::BI__builtin_llrintf128:
3063 case Builtin::BI__builtin_ldexp:
3064 case Builtin::BI__builtin_ldexpf:
3065 case Builtin::BI__builtin_ldexpl:
3066 case Builtin::BI__builtin_ldexpf16:
3067 case Builtin::BI__builtin_ldexpf128: {
3100 case Builtin::BI__builtin___CFStringMakeConstantString:
3101 case Builtin::BI__builtin___NSStringMakeConstantString:
3103 case Builtin::BI__builtin_stdarg_start:
3104 case Builtin::BI__builtin_va_start:
3105 case Builtin::BI__va_start:
3106 case Builtin::BI__builtin_va_end:
3107 EmitVAStartEnd(BuiltinID == Builtin::BI__va_start
3110 BuiltinID != Builtin::BI__builtin_va_end);
3112 case Builtin::BI__builtin_va_copy: {
3119 case Builtin::BIabs:
3120 case Builtin::BIlabs:
3121 case Builtin::BIllabs:
3122 case Builtin::BI__builtin_abs:
3123 case Builtin::BI__builtin_labs:
3124 case Builtin::BI__builtin_llabs: {
3145 case Builtin::BI__builtin_complex: {
3150 case Builtin::BI__builtin_conj:
3151 case Builtin::BI__builtin_conjf:
3152 case Builtin::BI__builtin_conjl:
3153 case Builtin::BIconj:
3154 case Builtin::BIconjf:
3155 case Builtin::BIconjl: {
3162 case Builtin::BI__builtin_creal:
3163 case Builtin::BI__builtin_crealf:
3164 case Builtin::BI__builtin_creall:
3165 case Builtin::BIcreal:
3166 case Builtin::BIcrealf:
3167 case Builtin::BIcreall: {
3172 case Builtin::BI__builtin_preserve_access_index: {
3193 case Builtin::BI__builtin_cimag:
3194 case Builtin::BI__builtin_cimagf:
3195 case Builtin::BI__builtin_cimagl:
3196 case Builtin::BIcimag:
3197 case Builtin::BIcimagf:
3198 case Builtin::BIcimagl: {
3203 case Builtin::BI__builtin_clrsb:
3204 case Builtin::BI__builtin_clrsbl:
3205 case Builtin::BI__builtin_clrsbll: {
3223 case Builtin::BI__builtin_ctzs:
3224 case Builtin::BI__builtin_ctz:
3225 case Builtin::BI__builtin_ctzl:
3226 case Builtin::BI__builtin_ctzll:
3227 case Builtin::BI__builtin_ctzg: {
3228 bool HasFallback = BuiltinIDIfNoAsmLabel == Builtin::BI__builtin_ctzg &&
3255 case Builtin::BI__builtin_clzs:
3256 case Builtin::BI__builtin_clz:
3257 case Builtin::BI__builtin_clzl:
3258 case Builtin::BI__builtin_clzll:
3259 case Builtin::BI__builtin_clzg: {
3260 bool HasFallback = BuiltinIDIfNoAsmLabel == Builtin::BI__builtin_clzg &&
3287 case Builtin::BI__builtin_ffs:
3288 case Builtin::BI__builtin_ffsl:
3289 case Builtin::BI__builtin_ffsll: {
3308 case Builtin::BI__builtin_parity:
3309 case Builtin::BI__builtin_parityl:
3310 case Builtin::BI__builtin_parityll: {
3325 case Builtin::BI__lzcnt16:
3326 case Builtin::BI__lzcnt:
3327 case Builtin::BI__lzcnt64: {
3340 case Builtin::BI__popcnt16:
3341 case Builtin::BI__popcnt:
3342 case Builtin::BI__popcnt64:
3343 case Builtin::BI__builtin_popcount:
3344 case Builtin::BI__builtin_popcountl:
3345 case Builtin::BI__builtin_popcountll:
3346 case Builtin::BI__builtin_popcountg: {
3359 case Builtin::BI__builtin_unpredictable: {
3365 case Builtin::BI__builtin_expect: {
3381 case Builtin::BI__builtin_expect_with_probability: {
3408 case Builtin::BI__builtin_assume_aligned: {
3425 case Builtin::BI__assume:
3426 case Builtin::BI__builtin_assume: {
3435 case Builtin::BI__builtin_assume_separate_storage: {
3447 case Builtin::BI__builtin_allow_runtime_check: {
3456 case Builtin::BI__arithmetic_fence: {
3486 case Builtin::BI__builtin_bswap16:
3487 case Builtin::BI__builtin_bswap32:
3488 case Builtin::BI__builtin_bswap64:
3489 case Builtin::BI_byteswap_ushort:
3490 case Builtin::BI_byteswap_ulong:
3491 case Builtin::BI_byteswap_uint64: {
3495 case Builtin::BI__builtin_bitreverse8:
3496 case Builtin::BI__builtin_bitreverse16:
3497 case Builtin::BI__builtin_bitreverse32:
3498 case Builtin::BI__builtin_bitreverse64: {
3502 case Builtin::BI__builtin_rotateleft8:
3503 case Builtin::BI__builtin_rotateleft16:
3504 case Builtin::BI__builtin_rotateleft32:
3505 case Builtin::BI__builtin_rotateleft64:
3506 case Builtin::BI_rotl8: // Microsoft variants of rotate left
3507 case Builtin::BI_rotl16:
3508 case Builtin::BI_rotl:
3509 case Builtin::BI_lrotl:
3510 case Builtin::BI_rotl64:
3513 case Builtin::BI__builtin_rotateright8:
3514 case Builtin::BI__builtin_rotateright16:
3515 case Builtin::BI__builtin_rotateright32:
3516 case Builtin::BI__builtin_rotateright64:
3517 case Builtin::BI_rotr8: // Microsoft variants of rotate right
3518 case Builtin::BI_rotr16:
3519 case Builtin::BI_rotr:
3520 case Builtin::BI_lrotr:
3521 case Builtin::BI_rotr64:
3524 case Builtin::BI__builtin_constant_p: {
3556 case Builtin::BI__builtin_dynamic_object_size:
3557 case Builtin::BI__builtin_object_size: {
3564 bool IsDynamic = BuiltinID == Builtin::BI__builtin_dynamic_object_size;
3568 case Builtin::BI__builtin_prefetch: {
3580 case Builtin::BI__builtin_readcyclecounter: {
3584 case Builtin::BI__builtin_readsteadycounter: {
3588 case Builtin::BI__builtin___clear_cache: {
3594 case Builtin::BI__builtin_trap:
3597 case Builtin::BI__builtin_verbose_trap: {
3609 case Builtin::BI__debugbreak:
3612 case Builtin::BI__builtin_unreachable: {
3621 case Builtin::BI__builtin_powi:
3622 case Builtin::BI__builtin_powif:
3623 case Builtin::BI__builtin_powil: {
3640 case Builtin::BI__builtin_frexpl: {
3648 case Builtin::BI__builtin_frexp:
3649 case Builtin::BI__builtin_frexpf:
3650 case Builtin::BI__builtin_frexpf128:
3651 case Builtin::BI__builtin_frexpf16:
3653 case Builtin::BI__builtin_isgreater:
3654 case Builtin::BI__builtin_isgreaterequal:
3655 case Builtin::BI__builtin_isless:
3656 case Builtin::BI__builtin_islessequal:
3657 case Builtin::BI__builtin_islessgreater:
3658 case Builtin::BI__builtin_isunordered: {
3667 case Builtin::BI__builtin_isgreater:
3670 case Builtin::BI__builtin_isgreaterequal:
3673 case Builtin::BI__builtin_isless:
3676 case Builtin::BI__builtin_islessequal:
3679 case Builtin::BI__builtin_islessgreater:
3682 case Builtin::BI__builtin_isunordered:
3690 case Builtin::BI__builtin_isnan: {
3700 case Builtin::BI__builtin_issignaling: {
3708 case Builtin::BI__builtin_isinf: {
3718 case Builtin::BIfinite:
3719 case Builtin::BI__finite:
3720 case Builtin::BIfinitef:
3721 case Builtin::BI__finitef:
3722 case Builtin::BIfinitel:
3723 case Builtin::BI__finitel:
3724 case Builtin::BI__builtin_isfinite: {
3734 case Builtin::BI__builtin_isnormal: {
3742 case Builtin::BI__builtin_issubnormal: {
3750 case Builtin::BI__builtin_iszero: {
3758 case Builtin::BI__builtin_isfpclass: {
3769 case Builtin::BI__builtin_nondeterministic_value: {
3778 case Builtin::BI__builtin_elementwise_abs: {
3794 case Builtin::BI__builtin_elementwise_acos:
3797 case Builtin::BI__builtin_elementwise_asin:
3800 case Builtin::BI__builtin_elementwise_atan:
3803 case Builtin::BI__builtin_elementwise_ceil:
3806 case Builtin::BI__builtin_elementwise_exp:
3809 case Builtin::BI__builtin_elementwise_exp2:
3812 case Builtin::BI__builtin_elementwise_log:
3815 case Builtin::BI__builtin_elementwise_log2:
3818 case Builtin::BI__builtin_elementwise_log10:
3821 case Builtin::BI__builtin_elementwise_pow: {
3825 case Builtin::BI__builtin_elementwise_bitreverse:
3828 case Builtin::BI__builtin_elementwise_cos:
3831 case Builtin::BI__builtin_elementwise_cosh:
3834 case Builtin::BI__builtin_elementwise_floor:
3837 case Builtin::BI__builtin_elementwise_roundeven:
3840 case Builtin::BI__builtin_elementwise_round:
3843 case Builtin::BI__builtin_elementwise_rint:
3846 case Builtin::BI__builtin_elementwise_nearbyint:
3849 case Builtin::BI__builtin_elementwise_sin:
3852 case Builtin::BI__builtin_elementwise_sinh:
3855 case Builtin::BI__builtin_elementwise_tan:
3858 case Builtin::BI__builtin_elementwise_tanh:
3861 case Builtin::BI__builtin_elementwise_trunc:
3864 case Builtin::BI__builtin_elementwise_canonicalize:
3867 case Builtin::BI__builtin_elementwise_copysign:
3870 case Builtin::BI__builtin_elementwise_fma:
3873 case Builtin::BI__builtin_elementwise_add_sat:
3874 case Builtin::BI__builtin_elementwise_sub_sat: {
3884 if (BuiltinIDIfNoAsmLabel == Builtin::BI__builtin_elementwise_add_sat)
3892 case Builtin::BI__builtin_elementwise_max: {
3908 case Builtin::BI__builtin_elementwise_min: {
3925 case Builtin::BI__builtin_reduce_max: {
3943 case Builtin::BI__builtin_reduce_min: {
3962 case Builtin::BI__builtin_reduce_add:
3965 case Builtin::BI__builtin_reduce_mul:
3968 case Builtin::BI__builtin_reduce_xor:
3971 case Builtin::BI__builtin_reduce_or:
3974 case Builtin::BI__builtin_reduce_and:
3978 case Builtin::BI__builtin_matrix_transpose: {
3987 case Builtin::BI__builtin_matrix_column_major_load: {
4007 case Builtin::BI__builtin_matrix_column_major_store: {
4028 case Builtin::BI__builtin_isinf_sign: {
4047 case Builtin::BI__builtin_flt_rounds: {
4058 case Builtin::BI__builtin_set_flt_rounds: {
4066 case Builtin::BI__builtin_fpclassify: {
4132 case Builtin::BIalloca:
4133 case Builtin::BI_alloca:
4134 case Builtin::BI__builtin_alloca_uninitialized:
4135 case Builtin::BI__builtin_alloca: {
4145 if (BuiltinID != Builtin::BI__builtin_alloca_uninitialized)
4157 case Builtin::BI__builtin_alloca_with_align_uninitialized:
4158 case Builtin::BI__builtin_alloca_with_align: {
4167 if (BuiltinID != Builtin::BI__builtin_alloca_with_align_uninitialized)
4179 case Builtin::BIbzero:
4180 case Builtin::BI__builtin_bzero: {
4189 case Builtin::BIbcopy:
4190 case Builtin::BI__builtin_bcopy: {
4204 case Builtin::BImemcpy:
4205 case Builtin::BI__builtin_memcpy:
4206 case Builtin::BImempcpy:
4207 case Builtin::BI__builtin_mempcpy: {
4214 if (BuiltinID == Builtin::BImempcpy ||
4215 BuiltinID == Builtin::BI__builtin_mempcpy)
4222 case Builtin::BI__builtin_memcpy_inline: {
4233 case Builtin::BI__builtin_char_memchr:
4234 BuiltinID = Builtin::BI__builtin_memchr;
4237 case Builtin::BI__builtin___memcpy_chk: {
4254 case Builtin::BI__builtin_objc_memmove_collectable: {
4263 case Builtin::BI__builtin___memmove_chk: {
4280 case Builtin::BImemmove:
4281 case Builtin::BI__builtin_memmove: {
4290 case Builtin::BImemset:
4291 case Builtin::BI__builtin_memset: {
4301 case Builtin::BI__builtin_memset_inline: {
4313 case Builtin::BI__builtin___memset_chk: {
4330 case Builtin::BI__builtin_wmemchr: {
4376 case Builtin::BI__builtin_wmemcmp: {
4433 case Builtin::BI__builtin_dwarf_cfa: {
4448 case Builtin::BI__builtin_return_address: {
4454 case Builtin::BI_ReturnAddress: {
4458 case Builtin::BI__builtin_frame_address: {
4464 case Builtin::BI__builtin_extract_return_addr: {
4469 case Builtin::BI__builtin_frob_return_addr: {
4474 case Builtin::BI__builtin_dwarf_sp_column: {
4484 case Builtin::BI__builtin_init_dwarf_reg_size_table: {
4490 case Builtin::BI__builtin_eh_return: {
4508 case Builtin::BI__builtin_unwind_init: {
4513 case Builtin::BI__builtin_extend_pointer: {
4538 case Builtin::BI__builtin_setjmp: {
4559 case Builtin::BI__builtin_longjmp: {
4573 case Builtin::BI__builtin_launder: {
4582 case Builtin::BI__sync_fetch_and_add:
4583 case Builtin::BI__sync_fetch_and_sub:
4584 case Builtin::BI__sync_fetch_and_or:
4585 case Builtin::BI__sync_fetch_and_and:
4586 case Builtin::BI__sync_fetch_and_xor:
4587 case Builtin::BI__sync_fetch_and_nand:
4588 case Builtin::BI__sync_add_and_fetch:
4589 case Builtin::BI__sync_sub_and_fetch:
4590 case Builtin::BI__sync_and_and_fetch:
4591 case Builtin::BI__sync_or_and_fetch:
4592 case Builtin::BI__sync_xor_and_fetch:
4593 case Builtin::BI__sync_nand_and_fetch:
4594 case Builtin::BI__sync_val_compare_and_swap:
4595 case Builtin::BI__sync_bool_compare_and_swap:
4596 case Builtin::BI__sync_lock_test_and_set:
4597 case Builtin::BI__sync_lock_release:
4598 case Builtin::BI__sync_swap:
4600 case Builtin::BI__sync_fetch_and_add_1:
4601 case Builtin::BI__sync_fetch_and_add_2:
4602 case Builtin::BI__sync_fetch_and_add_4:
4603 case Builtin::BI__sync_fetch_and_add_8:
4604 case Builtin::BI__sync_fetch_and_add_16:
4606 case Builtin::BI__sync_fetch_and_sub_1:
4607 case Builtin::BI__sync_fetch_and_sub_2:
4608 case Builtin::BI__sync_fetch_and_sub_4:
4609 case Builtin::BI__sync_fetch_and_sub_8:
4610 case Builtin::BI__sync_fetch_and_sub_16:
4612 case Builtin::BI__sync_fetch_and_or_1:
4613 case Builtin::BI__sync_fetch_and_or_2:
4614 case Builtin::BI__sync_fetch_and_or_4:
4615 case Builtin::BI__sync_fetch_and_or_8:
4616 case Builtin::BI__sync_fetch_and_or_16:
4618 case Builtin::BI__sync_fetch_and_and_1:
4619 case Builtin::BI__sync_fetch_and_and_2:
4620 case Builtin::BI__sync_fetch_and_and_4:
4621 case Builtin::BI__sync_fetch_and_and_8:
4622 case Builtin::BI__sync_fetch_and_and_16:
4624 case Builtin::BI__sync_fetch_and_xor_1:
4625 case Builtin::BI__sync_fetch_and_xor_2:
4626 case Builtin::BI__sync_fetch_and_xor_4:
4627 case Builtin::BI__sync_fetch_and_xor_8:
4628 case Builtin::BI__sync_fetch_and_xor_16:
4630 case Builtin::BI__sync_fetch_and_nand_1:
4631 case Builtin::BI__sync_fetch_and_nand_2:
4632 case Builtin::BI__sync_fetch_and_nand_4:
4633 case Builtin::BI__sync_fetch_and_nand_8:
4634 case Builtin::BI__sync_fetch_and_nand_16:
4638 case Builtin::BI__sync_fetch_and_min:
4640 case Builtin::BI__sync_fetch_and_max:
4642 case Builtin::BI__sync_fetch_and_umin:
4644 case Builtin::BI__sync_fetch_and_umax:
4647 case Builtin::BI__sync_add_and_fetch_1:
4648 case Builtin::BI__sync_add_and_fetch_2:
4649 case Builtin::BI__sync_add_and_fetch_4:
4650 case Builtin::BI__sync_add_and_fetch_8:
4651 case Builtin::BI__sync_add_and_fetch_16:
4654 case Builtin::BI__sync_sub_and_fetch_1:
4655 case Builtin::BI__sync_sub_and_fetch_2:
4656 case Builtin::BI__sync_sub_and_fetch_4:
4657 case Builtin::BI__sync_sub_and_fetch_8:
4658 case Builtin::BI__sync_sub_and_fetch_16:
4661 case Builtin::BI__sync_and_and_fetch_1:
4662 case Builtin::BI__sync_and_and_fetch_2:
4663 case Builtin::BI__sync_and_and_fetch_4:
4664 case Builtin::BI__sync_and_and_fetch_8:
4665 case Builtin::BI__sync_and_and_fetch_16:
4668 case Builtin::BI__sync_or_and_fetch_1:
4669 case Builtin::BI__sync_or_and_fetch_2:
4670 case Builtin::BI__sync_or_and_fetch_4:
4671 case Builtin::BI__sync_or_and_fetch_8:
4672 case Builtin::BI__sync_or_and_fetch_16:
4675 case Builtin::BI__sync_xor_and_fetch_1:
4676 case Builtin::BI__sync_xor_and_fetch_2:
4677 case Builtin::BI__sync_xor_and_fetch_4:
4678 case Builtin::BI__sync_xor_and_fetch_8:
4679 case Builtin::BI__sync_xor_and_fetch_16:
4682 case Builtin::BI__sync_nand_and_fetch_1:
4683 case Builtin::BI__sync_nand_and_fetch_2:
4684 case Builtin::BI__sync_nand_and_fetch_4:
4685 case Builtin::BI__sync_nand_and_fetch_8:
4686 case Builtin::BI__sync_nand_and_fetch_16:
4690 case Builtin::BI__sync_val_compare_and_swap_1:
4691 case Builtin::BI__sync_val_compare_and_swap_2:
4692 case Builtin::BI__sync_val_compare_and_swap_4:
4693 case Builtin::BI__sync_val_compare_and_swap_8:
4694 case Builtin::BI__sync_val_compare_and_swap_16:
4697 case Builtin::BI__sync_bool_compare_and_swap_1:
4698 case Builtin::BI__sync_bool_compare_and_swap_2:
4699 case Builtin::BI__sync_bool_compare_and_swap_4:
4700 case Builtin::BI__sync_bool_compare_and_swap_8:
4701 case Builtin::BI__sync_bool_compare_and_swap_16:
4704 case Builtin::BI__sync_swap_1:
4705 case Builtin::BI__sync_swap_2:
4706 case Builtin::BI__sync_swap_4:
4707 case Builtin::BI__sync_swap_8:
4708 case Builtin::BI__sync_swap_16:
4711 case Builtin::BI__sync_lock_test_and_set_1:
4712 case Builtin::BI__sync_lock_test_and_set_2:
4713 case Builtin::BI__sync_lock_test_and_set_4:
4714 case Builtin::BI__sync_lock_test_and_set_8:
4715 case Builtin::BI__sync_lock_test_and_set_16:
4718 case Builtin::BI__sync_lock_release_1:
4719 case Builtin::BI__sync_lock_release_2:
4720 case Builtin::BI__sync_lock_release_4:
4721 case Builtin::BI__sync_lock_release_8:
4722 case Builtin::BI__sync_lock_release_16: {
4734 case Builtin::BI__sync_synchronize: {
4746 case Builtin::BI__builtin_nontemporal_load:
4748 case Builtin::BI__builtin_nontemporal_store:
4750 case Builtin::BI__c11_atomic_is_lock_free:
4751 case Builtin::BI__atomic_is_lock_free: {
4759 if (BuiltinID == Builtin::BI__atomic_is_lock_free)
4773 case Builtin::BI__atomic_test_and_set: {
4858 case Builtin::BI__atomic_clear: {
4914 case Builtin::BI__atomic_thread_fence:
4915 case Builtin::BI__atomic_signal_fence:
4916 case Builtin::BI__c11_atomic_thread_fence:
4917 case Builtin::BI__c11_atomic_signal_fence: {
4919 if (BuiltinID == Builtin::BI__atomic_signal_fence ||
4920 BuiltinID == Builtin::BI__c11_atomic_signal_fence)
4983 case Builtin::BI__builtin_signbit:
4984 case Builtin::BI__builtin_signbitf:
4985 case Builtin::BI__builtin_signbitl: {
4990 case Builtin::BI__warn_memset_zero_len:
4992 case Builtin::BI__annotation: {
5015 case Builtin::BI__builtin_annotation: {
5028 case Builtin::BI__builtin_addcb:
5029 case Builtin::BI__builtin_addcs:
5030 case Builtin::BI__builtin_addc:
5031 case Builtin::BI__builtin_addcl:
5032 case Builtin::BI__builtin_addcll:
5033 case Builtin::BI__builtin_subcb:
5034 case Builtin::BI__builtin_subcs:
5035 case Builtin::BI__builtin_subc:
5036 case Builtin::BI__builtin_subcl:
5037 case Builtin::BI__builtin_subcll: {
5066 case Builtin::BI__builtin_addcb:
5067 case Builtin::BI__builtin_addcs:
5068 case Builtin::BI__builtin_addc:
5069 case Builtin::BI__builtin_addcl:
5070 case Builtin::BI__builtin_addcll:
5073 case Builtin::BI__builtin_subcb:
5074 case Builtin::BI__builtin_subcs:
5075 case Builtin::BI__builtin_subc:
5076 case Builtin::BI__builtin_subcl:
5077 case Builtin::BI__builtin_subcll:
5095 case Builtin::BI__builtin_add_overflow:
5096 case Builtin::BI__builtin_sub_overflow:
5097 case Builtin::BI__builtin_mul_overflow: {
5137 case Builtin::BI__builtin_add_overflow:
5142 case Builtin::BI__builtin_sub_overflow:
5147 case Builtin::BI__builtin_mul_overflow:
5190 case Builtin::BI__builtin_uadd_overflow:
5191 case Builtin::BI__builtin_uaddl_overflow:
5192 case Builtin::BI__builtin_uaddll_overflow:
5193 case Builtin::BI__builtin_usub_overflow:
5194 case Builtin::BI__builtin_usubl_overflow:
5195 case Builtin::BI__builtin_usubll_overflow:
5196 case Builtin::BI__builtin_umul_overflow:
5197 case Builtin::BI__builtin_umull_overflow:
5198 case Builtin::BI__builtin_umulll_overflow:
5199 case Builtin::BI__builtin_sadd_overflow:
5200 case Builtin::BI__builtin_saddl_overflow:
5201 case Builtin::BI__builtin_saddll_overflow:
5202 case Builtin::BI__builtin_ssub_overflow:
5203 case Builtin::BI__builtin_ssubl_overflow:
5204 case Builtin::BI__builtin_ssubll_overflow:
5205 case Builtin::BI__builtin_smul_overflow:
5206 case Builtin::BI__builtin_smull_overflow:
5207 case Builtin::BI__builtin_smulll_overflow: {
5220 case Builtin::BI__builtin_uadd_overflow:
5221 case Builtin::BI__builtin_uaddl_overflow:
5222 case Builtin::BI__builtin_uaddll_overflow:
5225 case Builtin::BI__builtin_usub_overflow:
5226 case Builtin::BI__builtin_usubl_overflow:
5227 case Builtin::BI__builtin_usubll_overflow:
5230 case Builtin::BI__builtin_umul_overflow:
5231 case Builtin::BI__builtin_umull_overflow:
5232 case Builtin::BI__builtin_umulll_overflow:
5235 case Builtin::BI__builtin_sadd_overflow:
5236 case Builtin::BI__builtin_saddl_overflow:
5237 case Builtin::BI__builtin_saddll_overflow:
5240 case Builtin::BI__builtin_ssub_overflow:
5241 case Builtin::BI__builtin_ssubl_overflow:
5242 case Builtin::BI__builtin_ssubll_overflow:
5245 case Builtin::BI__builtin_smul_overflow:
5246 case Builtin::BI__builtin_smull_overflow:
5247 case Builtin::BI__builtin_smulll_overflow:
5259 case Builtin::BIaddressof:
5260 case Builtin::BI__addressof:
5261 case Builtin::BI__builtin_addressof:
5263 case Builtin::BI__builtin_function_start:
5266 case Builtin::BI__builtin_operator_new:
5269 case Builtin::BI__builtin_operator_delete:
5274 case Builtin::BI__builtin_is_aligned:
5276 case Builtin::BI__builtin_align_up:
5278 case Builtin::BI__builtin_align_down:
5281 case Builtin::BI__noop:
5284 case Builtin::BI__builtin_call_with_static_chain: {
5291 case Builtin::BI_InterlockedExchange8:
5292 case Builtin::BI_InterlockedExchange16:
5293 case Builtin::BI_InterlockedExchange:
5294 case Builtin::BI_InterlockedExchangePointer:
5297 case Builtin::BI_InterlockedCompareExchangePointer:
5298 case Builtin::BI_InterlockedCompareExchangePointer_nf: {
5313 BuiltinID == Builtin::BI_InterlockedCompareExchangePointer_nf ?
5324 case Builtin::BI_InterlockedCompareExchange8:
5325 case Builtin::BI_InterlockedCompareExchange16:
5326 case Builtin::BI_InterlockedCompareExchange:
5327 case Builtin::BI_InterlockedCompareExchange64:
5329 case Builtin::BI_InterlockedIncrement16:
5330 case Builtin::BI_InterlockedIncrement:
5333 case Builtin::BI_InterlockedDecrement16:
5334 case Builtin::BI_InterlockedDecrement:
5337 case Builtin::BI_InterlockedAnd8:
5338 case Builtin::BI_InterlockedAnd16:
5339 case Builtin::BI_InterlockedAnd:
5341 case Builtin::BI_InterlockedExchangeAdd8:
5342 case Builtin::BI_InterlockedExchangeAdd16:
5343 case Builtin::BI_InterlockedExchangeAdd:
5346 case Builtin::BI_InterlockedExchangeSub8:
5347 case Builtin::BI_InterlockedExchangeSub16:
5348 case Builtin::BI_InterlockedExchangeSub:
5351 case Builtin::BI_InterlockedOr8:
5352 case Builtin::BI_InterlockedOr16:
5353 case Builtin::BI_InterlockedOr:
5355 case Builtin::BI_InterlockedXor8:
5356 case Builtin::BI_InterlockedXor16:
5357 case Builtin::BI_InterlockedXor:
5360 case Builtin::BI_bittest64:
5361 case Builtin::BI_bittest:
5362 case Builtin::BI_bittestandcomplement64:
5363 case Builtin::BI_bittestandcomplement:
5364 case Builtin::BI_bittestandreset64:
5365 case Builtin::BI_bittestandreset:
5366 case Builtin::BI_bittestandset64:
5367 case Builtin::BI_bittestandset:
5368 case Builtin::BI_interlockedbittestandreset:
5369 case Builtin::BI_interlockedbittestandreset64:
5370 case Builtin::BI_interlockedbittestandset64:
5371 case Builtin::BI_interlockedbittestandset:
5372 case Builtin::BI_interlockedbittestandset_acq:
5373 case Builtin::BI_interlockedbittestandset_rel:
5374 case Builtin::BI_interlockedbittestandset_nf:
5375 case Builtin::BI_interlockedbittestandreset_acq:
5376 case Builtin::BI_interlockedbittestandreset_rel:
5377 case Builtin::BI_interlockedbittestandreset_nf:
5382 case Builtin::BI__iso_volatile_load8:
5383 case Builtin::BI__iso_volatile_load16:
5384 case Builtin::BI__iso_volatile_load32:
5385 case Builtin::BI__iso_volatile_load64:
5387 case Builtin::BI__iso_volatile_store8:
5388 case Builtin::BI__iso_volatile_store16:
5389 case Builtin::BI__iso_volatile_store32:
5390 case Builtin::BI__iso_volatile_store64:
5393 case Builtin::BI__builtin_ptrauth_sign_constant:
5396 case Builtin::BI__builtin_ptrauth_auth:
5397 case Builtin::BI__builtin_ptrauth_auth_and_resign:
5398 case Builtin::BI__builtin_ptrauth_blend_discriminator:
5399 case Builtin::BI__builtin_ptrauth_sign_generic_data:
5400 case Builtin::BI__builtin_ptrauth_sign_unauthenticated:
5401 case Builtin::BI__builtin_ptrauth_strip: {
5413 case Builtin::BI__builtin_ptrauth_auth_and_resign:
5418 case Builtin::BI__builtin_ptrauth_auth:
5419 case Builtin::BI__builtin_ptrauth_sign_unauthenticated:
5424 case Builtin::BI__builtin_ptrauth_sign_generic_data:
5429 case Builtin::BI__builtin_ptrauth_blend_discriminator:
5430 case Builtin::BI__builtin_ptrauth_strip:
5437 case Builtin::BI__builtin_ptrauth_auth:
5439 case Builtin::BI__builtin_ptrauth_auth_and_resign:
5441 case Builtin::BI__builtin_ptrauth_blend_discriminator:
5443 case Builtin::BI__builtin_ptrauth_sign_generic_data:
5445 case Builtin::BI__builtin_ptrauth_sign_unauthenticated:
5447 case Builtin::BI__builtin_ptrauth_strip:
5455 if (BuiltinID != Builtin::BI__builtin_ptrauth_sign_generic_data &&
5456 BuiltinID != Builtin::BI__builtin_ptrauth_blend_discriminator &&
5463 case Builtin::BI__exception_code:
5464 case Builtin::BI_exception_code:
5466 case Builtin::BI__exception_info:
5467 case Builtin::BI_exception_info:
5469 case Builtin::BI__abnormal_termination:
5470 case Builtin::BI_abnormal_termination:
5472 case Builtin::BI_setjmpex:
5477 case Builtin::BI_setjmp:
5489 case Builtin::BImove:
5490 case Builtin::BImove_if_noexcept:
5491 case Builtin::BIforward:
5492 case Builtin::BIforward_like:
5493 case Builtin::BIas_const:
5495 case Builtin::BI__GetExceptionInfo: {
5502 case Builtin::BI__fastfail:
5505 case Builtin::BI__builtin_coro_id:
5507 case Builtin::BI__builtin_coro_promise:
5509 case Builtin::BI__builtin_coro_resume:
5512 case Builtin::BI__builtin_coro_frame:
5514 case Builtin::BI__builtin_coro_noop:
5516 case Builtin::BI__builtin_coro_free:
5518 case Builtin::BI__builtin_coro_destroy:
5521 case Builtin::BI__builtin_coro_done:
5523 case Builtin::BI__builtin_coro_alloc:
5525 case Builtin::BI__builtin_coro_begin:
5527 case Builtin::BI__builtin_coro_end:
5529 case Builtin::BI__builtin_coro_suspend:
5531 case Builtin::BI__builtin_coro_size:
5533 case Builtin::BI__builtin_coro_align:
5537 case Builtin::BIread_pipe:
5538 case Builtin::BIwrite_pipe: {
5552 const char *Name = (BuiltinID == Builtin::BIread_pipe) ? "__read_pipe_2"
5566 const char *Name = (BuiltinID == Builtin::BIread_pipe) ? "__read_pipe_4"
5587 case Builtin::BIreserve_read_pipe:
5588 case Builtin::BIreserve_write_pipe:
5589 case Builtin::BIwork_group_reserve_read_pipe:
5590 case Builtin::BIwork_group_reserve_write_pipe:
5591 case Builtin::BIsub_group_reserve_read_pipe:
5592 case Builtin::BIsub_group_reserve_write_pipe: {
5595 if (BuiltinID == Builtin::BIreserve_read_pipe)
5597 else if (BuiltinID == Builtin::BIreserve_write_pipe)
5599 else if (BuiltinID == Builtin::BIwork_group_reserve_read_pipe)
5601 else if (BuiltinID == Builtin::BIwork_group_reserve_write_pipe)
5603 else if (BuiltinID == Builtin::BIsub_group_reserve_read_pipe)
5628 case Builtin::BIcommit_read_pipe:
5629 case Builtin::BIcommit_write_pipe:
5630 case Builtin::BIwork_group_commit_read_pipe:
5631 case Builtin::BIwork_group_commit_write_pipe:
5632 case Builtin::BIsub_group_commit_read_pipe:
5633 case Builtin::BIsub_group_commit_write_pipe: {
5635 if (BuiltinID == Builtin::BIcommit_read_pipe)
5637 else if (BuiltinID == Builtin::BIcommit_write_pipe)
5639 else if (BuiltinID == Builtin::BIwork_group_commit_read_pipe)
5641 else if (BuiltinID == Builtin::BIwork_group_commit_write_pipe)
5643 else if (BuiltinID == Builtin::BIsub_group_commit_read_pipe)
5664 case Builtin::BIget_pipe_num_packets:
5665 case Builtin::BIget_pipe_max_packets: {
5668 if (BuiltinID == Builtin::BIget_pipe_num_packets)
5689 case Builtin::BIto_global:
5690 case Builtin::BIto_local:
5691 case Builtin::BIto_private: {
5722 case Builtin::BIenqueue_kernel: {
5906 case Builtin::BIget_kernel_work_group_size: {
5921 case Builtin::BIget_kernel_preferred_work_group_size_multiple: {
5936 case Builtin::BIget_kernel_max_sub_group_size_for_ndrange:
5937 case Builtin::BIget_kernel_sub_group_count_for_ndrange: {
5948 BuiltinID == Builtin::BIget_kernel_max_sub_group_size_for_ndrange
5959 case Builtin::BI__builtin_store_half:
5960 case Builtin::BI__builtin_store_halff: {
5967 case Builtin::BI__builtin_load_half: {
5972 case Builtin::BI__builtin_load_halff: {
5977 case Builtin::BI__builtin_printf:
5978 case Builtin::BIprintf:
5994 case Builtin::BI__builtin_canonicalize:
5995 case Builtin::BI__builtin_canonicalizef:
5996 case Builtin::BI__builtin_canonicalizef16:
5997 case Builtin::BI__builtin_canonicalizel:
6001 case Builtin::BI__builtin_thread_pointer: {
6007 case Builtin::BI__builtin_os_log_format:
6010 case Builtin::BI__xray_customevent: {
6041 case Builtin::BI__xray_typedevent: {
6079 case Builtin::BI__builtin_ms_va_start:
6080 case Builtin::BI__builtin_ms_va_end:
6083 BuiltinID == Builtin::BI__builtin_ms_va_start));
6085 case Builtin::BI__builtin_ms_va_copy: {
6102 case Builtin::BI__builtin_get_device_side_mangled_name: {
7549 const ARMVectorIntrinsicInfo *Builtin =
7552 if (Builtin != IntrinsicMap.end() && Builtin->BuiltinID == BuiltinID)
7553 return Builtin;
9149 const ARMVectorIntrinsicInfo *Builtin = findARMVectorIntrinsicInMap(
9151 if (Builtin)
9153 Builtin->BuiltinID, Builtin->LLVMIntrinsic, Builtin->AltLLVMIntrinsic,
9154 Builtin->NameHint, Builtin->TypeModifier, E, Ops, PtrOp0, PtrOp1, Arch);
10479 auto *Builtin = findARMVectorIntrinsicInMap(AArch64SVEIntrinsicMap, BuiltinID,
10483 SVETypeFlags TypeFlags(Builtin->TypeModifier);
10487 return EmitSVEMaskedLoad(E, Ty, Ops, Builtin->LLVMIntrinsic,
10490 return EmitSVEMaskedStore(E, Ops, Builtin->LLVMIntrinsic);
10492 return EmitSVEGatherLoad(TypeFlags, Ops, Builtin->LLVMIntrinsic);
10494 return EmitSVEScatterStore(TypeFlags, Ops, Builtin->LLVMIntrinsic);
10496 return EmitSVEPrefetchLoad(TypeFlags, Ops, Builtin->LLVMIntrinsic);
10498 return EmitSVEGatherPrefetch(TypeFlags, Ops, Builtin->LLVMIntrinsic);
10500 return EmitSVEStructLoad(TypeFlags, Ops, Builtin->LLVMIntrinsic);
10502 return EmitSVEStructStore(TypeFlags, Ops, Builtin->LLVMIntrinsic);
10509 else if (Builtin->LLVMIntrinsic != 0) {
10553 Function *F = CGM.getIntrinsic(Builtin->LLVMIntrinsic,
10603 auto OverloadedTy = getSVEType(SVETypeFlags(Builtin->TypeModifier));
10613 SVETypeFlags TypeFlags(Builtin->TypeModifier);
10621 SVETypeFlags TypeFlags(Builtin->TypeModifier);
10717 SVETypeFlags TypeFlags(Builtin->TypeModifier);
10751 SVETypeFlags TF(Builtin->TypeModifier);
10772 SVETypeFlags TF(Builtin->TypeModifier);
10857 auto *Builtin = findARMVectorIntrinsicInMap(AArch64SMEIntrinsicMap, BuiltinID,
10861 SVETypeFlags TypeFlags(Builtin->TypeModifier);
10865 return EmitSMELd1St1(TypeFlags, Ops, Builtin->LLVMIntrinsic);
10867 return EmitSMEReadWrite(TypeFlags, Ops, Builtin->LLVMIntrinsic);
10870 return EmitSMEZero(TypeFlags, Ops, Builtin->LLVMIntrinsic);
10875 return EmitSMELdrStr(TypeFlags, Ops, Builtin->LLVMIntrinsic);
10881 if (Builtin->LLVMIntrinsic == 0)
10892 ? CGM.getIntrinsic(Builtin->LLVMIntrinsic)
10893 : CGM.getIntrinsic(Builtin->LLVMIntrinsic, {getSVEType(TypeFlags)});
10910 if (BuiltinID == Builtin::BI__builtin_cpu_supports)
11657 const ARMVectorIntrinsicInfo *Builtin = findARMVectorIntrinsicInMap(
11660 if (Builtin) {
11662 Value *Result = EmitCommonNeonSISDBuiltinExpr(*this, *Builtin, Ops, E);
12351 Builtin = findARMVectorIntrinsicInMap(AArch64SIMDIntrinsicMap, BuiltinID,
12354 if (Builtin)
12356 Builtin->BuiltinID, Builtin->LLVMIntrinsic, Builtin->AltLLVMIntrinsic,
12357 Builtin->NameHint, Builtin->TypeModifier, E, Ops,
14360 if (BuiltinID == Builtin::BI__builtin_cpu_is)
14362 if (BuiltinID == Builtin::BI__builtin_cpu_supports)
14364 if (BuiltinID == Builtin::BI__builtin_cpu_init)
15452 // Builtin type is vXi64 so multiply by 8 to get bytes.
15481 // Builtin type is vXi64 so multiply by 8 to get bytes.
16895 case Builtin::BI__builtin_cpu_is: {
16934 case Builtin::BI__builtin_cpu_supports: {
18341 case Builtin::BI__builtin_hlsl_elementwise_all: {
18348 case Builtin::BI__builtin_hlsl_elementwise_any: {
18355 case Builtin::BI__builtin_hlsl_elementwise_clamp: {
18370 case Builtin::BI__builtin_hlsl_dot: {
18407 case Builtin::BI__builtin_hlsl_lerp: {
18417 case Builtin::BI__builtin_hlsl_elementwise_frac: {
18425 case Builtin::BI__builtin_hlsl_elementwise_isinf: {
18439 case Builtin::BI__builtin_hlsl_mad: {
18466 case Builtin::BI__builtin_hlsl_elementwise_rcp: {
18480 case Builtin::BI__builtin_hlsl_elementwise_rsqrt: {
18488 case Builtin::BI__builtin_hlsl_wave_get_lane_index: {