blob: 1f3f52c7f9071652803a75524eb2841b7b59ed1e [file] [view]
(builtin_compatibility)=
# GCC Compatibility of Builtins
LLVM-libc is written with Clang as the reference compiler but is expected to
build under GCC as well. Many headers reach for compiler intrinsics
(`__builtin_*`) for fast paths and for IEEE-754 semantics. Not every
`__builtin_*` exists in every compiler. a large family is Clang-only,
and several others were added in specific GCC releases. This page records
which builtins the libc code base references today and the minimum GCC
basepoint that ships each one.
| Builtin | gcc-5 | gcc-6 | gcc-7 | gcc-8 | gcc-9 | gcc-10 | gcc-11 | gcc-12 | gcc-13 | gcc-14 | gcc-15 | gcc-16 | gcc-17 |
| ------------------------------------ | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- |
| `__builtin_aarch64_get_fpcr` | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_aarch64_get_fpsr` | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_aarch64_set_fpcr` | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_aarch64_set_fpsr` | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_aarch64_wsr64` | | | | | | | | | | | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_abs` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_addc` | | | | | | | | | | | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_addcb` | | | | | | | | | | | | | |
| `__builtin_addcl` | | | | | | | | | | | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_addcll` | | | | | | | | | | | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_addcs` | | | | | | | | | | | | | |
| `__builtin_add_overflow` | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_addressof` | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_align_down` | | | | | | | | | | | | | |
| `__builtin_align_up` | | | | | | | | | | | | | |
| `__builtin_alloca` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_amdgcn_ldexp` | | | | | | | | | | | | | |
| `__builtin_amdgcn_ldexpf` | | | | | | | | | | | | | |
| `__builtin_amdgcn_s_sendmsg` | | | | | | | | | | | | | |
| `__builtin_amdgcn_s_sleep` | | | | | | | | | | | | | |
| `__builtin_amdgcn_workitem_id_x` | | | | | | | | | | | | | |
| `__builtin_arm_get_fpscr` | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_arm_isb` | | | | | | | | | | | | | |
| `__builtin_arm_set_fpscr` | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_arm_wsr64` | | | | | | | | | | | | | |
| `__builtin_assume` | | | | | | | | | | | | | |
| `__builtin_assume_aligned` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_bcmp` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_bit_cast` | | | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_bswap16` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_bswap32` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_bswap64` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ceil` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ceilf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_clear_padding` | | | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_clz` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_clzg` | | | | | | | | | | | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_clzl` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_clzll` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_clzs` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_complex` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_convertvector` | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_copysign` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_copysignf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_copysignf16` | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ctz` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ctzg` | | | | | | | | | | | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ctzl` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ctzll` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ctzs` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_elementwise_abs` | | | | | | | | | | | | | |
| `__builtin_elementwise_canonicalize` | | | | | | | | | | | | | |
| `__builtin_elementwise_ceil` | | | | | | | | | | | | | |
| `__builtin_elementwise_copysign` | | | | | | | | | | | | | |
| `__builtin_elementwise_floor` | | | | | | | | | | | | | |
| `__builtin_elementwise_fma` | | | | | | | | | | | | | |
| `__builtin_elementwise_fmod` | | | | | | | | | | | | | |
| `__builtin_elementwise_max` | | | | | | | | | | | | | |
| `__builtin_elementwise_min` | | | | | | | | | | | | | |
| `__builtin_elementwise_nearbyint` | | | | | | | | | | | | | |
| `__builtin_elementwise_rint` | | | | | | | | | | | | | |
| `__builtin_elementwise_round` | | | | | | | | | | | | | |
| `__builtin_elementwise_roundeven` | | | | | | | | | | | | | |
| `__builtin_elementwise_sqrt` | | | | | | | | | | | | | |
| `__builtin_elementwise_trunc` | | | | | | | | | | | | | |
| `__builtin_expect` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fabs` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fabsf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fabsf16` | | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_floor` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_floorf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_flt_rounds` | | | | | | | | | | | | | |
| `__builtin_fma` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fmaf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fmax` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fmaxf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fmaxf16` | | | | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fmin` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fminf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fminf16` | | | | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fmod` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fmodf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_fpclassify` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_frame_address` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_frexp` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_frexpf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_func` | | | | | | | | | | | | | |
| `__builtin_huge_val` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_huge_valf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ia32_ldmxcsr` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ia32_pause` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ia32_stmxcsr` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_inff` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_is_aligned` | | | | | | | | | | | | | |
| `__builtin_is_constant_evaluated` | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_isfinite` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_isinf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_isnan` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_isnormal` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_launder` | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ldexp` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_ldexpf` | | | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_masked_compress_store` | | | | | | | | | | | | | |
| `__builtin_masked_expand_load` | | | | | | | | | | | | | |
| `__builtin_masked_gather` | | | | | | | | | | | | | |
| `__builtin_masked_load` | | | | | | | | | | | | | |
| `__builtin_masked_scatter` | | | | | | | | | | | | | |
| `__builtin_masked_store` | | | | | | | | | | | | | |
| `__builtin_memcmp` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_memcmp_inline` | | | | | | | | | | | | | |
| `__builtin_memcpy` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_memcpy_inline` | | | | | | | | | | | | | |
| `__builtin_memmove` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_memset` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_memset_inline` | | | | | | | | | | | | | |
| `__builtin_mul_overflow` | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_nanf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_nans` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_nansf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_nansl` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_nearbyint` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_nearbyintf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_nondeterministic_value` | | | | | | | | | | | | | |
| `__builtin_nontemporal_store` | | | | | | | | | | | | | |
| `__builtin_offsetof` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_popcount` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_popcountg` | | | | | | | | | | | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_popcountl` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_popcountll` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_prefetch` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_readcyclecounter` | | | | | | | | | | | | | |
| `__builtin_readsteadycounter` | | | | | | | | | | | | | |
| `__builtin_reduce_add` | | | | | | | | | | | | | |
| `__builtin_reduce_and` | | | | | | | | | | | | | |
| `__builtin_reduce_max` | | | | | | | | | | | | | |
| `__builtin_reduce_min` | | | | | | | | | | | | | |
| `__builtin_reduce_mul` | | | | | | | | | | | | | |
| `__builtin_reduce_or` | | | | | | | | | | | | | |
| `__builtin_reduce_xor` | | | | | | | | | | | | | |
| `__builtin_remainder` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_remainderf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_return_address` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_rint` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_rintf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_round` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_roundeven` | | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_roundevenf` | | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_roundf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_sadd_overflow` | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_shufflevector` | | | | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_signbit` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_snprintf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_sqrt` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_sqrtf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_strlen` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_subc` | | | | | | | | | | | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_subcb` | | | | | | | | | | | | | |
| `__builtin_subcl` | | | | | | | | | | | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_subcll` | | | | | | | | | | | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_subcs` | | | | | | | | | | | | | |
| `__builtin_sub_overflow` | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_trap` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_trunc` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_truncf` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_unreachable` | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |
| `__builtin_vectorelements` | | | | | | | | | | | | | |
| `__has_builtin` | | | | | | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} | {{ check }} |