(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 }} |
