Other Internal Functions (GNU Compiler Collection (GCC) Internals)

#### 13.2.3 Other Internal Functions ¶

‘`IFN_GOMP_TARGET_REV`’ ¶

  The `IFN_GOMP_TARGET_REV` internal function is expanded by the `expand_GOMP_TARGET_REV` function.

‘`IFN_GOMP_USE_SIMT`’ ¶

  The `IFN_GOMP_USE_SIMT` internal function is expanded by the `expand_GOMP_USE_SIMT` function.

‘`IFN_GOMP_SIMT_ENTER`’ ¶

  The `IFN_GOMP_SIMT_ENTER` internal function is expanded by the `expand_GOMP_SIMT_ENTER` function.

‘`IFN_GOMP_SIMT_ENTER_ALLOC`’ ¶

  The `IFN_GOMP_SIMT_ENTER_ALLOC` internal function is expanded by the `expand_GOMP_SIMT_ENTER_ALLOC` function.

‘`IFN_GOMP_SIMT_EXIT`’ ¶

  The `IFN_GOMP_SIMT_EXIT` internal function is expanded by the `expand_GOMP_SIMT_EXIT` function.

‘`IFN_GOMP_SIMT_LANE`’ ¶

  The `IFN_GOMP_SIMT_LANE` internal function is expanded by the `expand_GOMP_SIMT_LANE` function.

‘`IFN_GOMP_SIMT_VF`’ ¶

  The `IFN_GOMP_SIMT_VF` internal function is expanded by the `expand_GOMP_SIMT_VF` function.

‘`IFN_GOMP_MAX_VF`’ ¶

  The `IFN_GOMP_MAX_VF` internal function is expanded by the `expand_GOMP_MAX_VF` function.

‘`IFN_GOMP_SIMT_LAST_LANE`’ ¶

  The `IFN_GOMP_SIMT_LAST_LANE` internal function is expanded by the `expand_GOMP_SIMT_LAST_LANE` function.

‘`IFN_GOMP_SIMT_ORDERED_PRED`’ ¶

  The `IFN_GOMP_SIMT_ORDERED_PRED` internal function is expanded by the `expand_GOMP_SIMT_ORDERED_PRED` function.

‘`IFN_GOMP_SIMT_VOTE_ANY`’ ¶

  The `IFN_GOMP_SIMT_VOTE_ANY` internal function is expanded by the `expand_GOMP_SIMT_VOTE_ANY` function.

‘`IFN_GOMP_SIMT_XCHG_BFLY`’ ¶

  The `IFN_GOMP_SIMT_XCHG_BFLY` internal function is expanded by the `expand_GOMP_SIMT_XCHG_BFLY` function.

‘`IFN_GOMP_SIMT_XCHG_IDX`’ ¶

  The `IFN_GOMP_SIMT_XCHG_IDX` internal function is expanded by the `expand_GOMP_SIMT_XCHG_IDX` function.

‘`IFN_GOMP_SIMD_LANE`’ ¶

  The `IFN_GOMP_SIMD_LANE` internal function is expanded by the `expand_GOMP_SIMD_LANE` function.

‘`IFN_GOMP_SIMD_VF`’ ¶

  The `IFN_GOMP_SIMD_VF` internal function is expanded by the `expand_GOMP_SIMD_VF` function.

‘`IFN_GOMP_SIMD_LAST_LANE`’ ¶

  The `IFN_GOMP_SIMD_LAST_LANE` internal function is expanded by the `expand_GOMP_SIMD_LAST_LANE` function.

‘`IFN_GOMP_SIMD_ORDERED_START`’ ¶

  The `IFN_GOMP_SIMD_ORDERED_START` internal function is expanded by the `expand_GOMP_SIMD_ORDERED_START` function.

‘`IFN_GOMP_SIMD_ORDERED_END`’ ¶

  The `IFN_GOMP_SIMD_ORDERED_END` internal function is expanded by the `expand_GOMP_SIMD_ORDERED_END` function.

‘`IFN_GOMP_DISPATCH`’ ¶

  The `IFN_GOMP_DISPATCH` internal function is expanded by the `expand_GOMP_DISPATCH` function.

‘`IFN_LOOP_VECTORIZED`’ ¶

  The `IFN_LOOP_VECTORIZED` internal function is expanded by the `expand_LOOP_VECTORIZED` function.

‘`IFN_LOOP_DIST_ALIAS`’ ¶

  The `IFN_LOOP_DIST_ALIAS` internal function is expanded by the `expand_LOOP_DIST_ALIAS` function.

‘`IFN_ANNOTATE`’ ¶

  The `IFN_ANNOTATE` internal function is expanded by the `expand_ANNOTATE` function.

‘`IFN_UBSAN_NULL`’ ¶

  The `IFN_UBSAN_NULL` internal function is expanded by the `expand_UBSAN_NULL` function.

‘`IFN_UBSAN_BOUNDS`’ ¶

  The `IFN_UBSAN_BOUNDS` internal function is expanded by the `expand_UBSAN_BOUNDS` function.

‘`IFN_UBSAN_VPTR`’ ¶

  The `IFN_UBSAN_VPTR` internal function is expanded by the `expand_UBSAN_VPTR` function.

‘`IFN_UBSAN_CHECK_ADD`’ ¶

  The `IFN_UBSAN_CHECK_ADD` internal function is expanded by the `expand_UBSAN_CHECK_ADD` function.

‘`IFN_UBSAN_CHECK_SUB`’ ¶

  The `IFN_UBSAN_CHECK_SUB` internal function is expanded by the `expand_UBSAN_CHECK_SUB` function.

‘`IFN_UBSAN_CHECK_MUL`’ ¶

  The `IFN_UBSAN_CHECK_MUL` internal function is expanded by the `expand_UBSAN_CHECK_MUL` function.

‘`IFN_UBSAN_PTR`’ ¶

  The `IFN_UBSAN_PTR` internal function is expanded by the `expand_UBSAN_PTR` function.

‘`IFN_UBSAN_OBJECT_SIZE`’ ¶

  The `IFN_UBSAN_OBJECT_SIZE` internal function is expanded by the `expand_UBSAN_OBJECT_SIZE` function.

‘`IFN_ABNORMAL_DISPATCHER`’ ¶

  The `IFN_ABNORMAL_DISPATCHER` internal function is expanded by the `expand_ABNORMAL_DISPATCHER` function.

‘`IFN_BUILTIN_EXPECT`’ ¶

  The `IFN_BUILTIN_EXPECT` internal function is expanded by the `expand_BUILTIN_EXPECT` function.

‘`IFN_HWASAN_ALLOCA_POISON`’ ¶

  The `IFN_HWASAN_ALLOCA_POISON` internal function is expanded by the `expand_HWASAN_ALLOCA_POISON` function.

‘`IFN_HWASAN_ALLOCA_UNPOISON`’ ¶

  The `IFN_HWASAN_ALLOCA_UNPOISON` internal function is expanded by the `expand_HWASAN_ALLOCA_UNPOISON` function.

‘`IFN_HWASAN_CHOOSE_TAG`’ ¶

  The `IFN_HWASAN_CHOOSE_TAG` internal function is expanded by the `expand_HWASAN_CHOOSE_TAG` function.

‘`IFN_HWASAN_CHECK`’ ¶

  The `IFN_HWASAN_CHECK` internal function is expanded by the `expand_HWASAN_CHECK` function.

‘`IFN_HWASAN_MARK`’ ¶

  The `IFN_HWASAN_MARK` internal function is expanded by the `expand_HWASAN_MARK` function.

‘`IFN_HWASAN_SET_TAG`’ ¶

  The `IFN_HWASAN_SET_TAG` internal function is expanded by the `expand_HWASAN_SET_TAG` function.

‘`IFN_ASAN_CHECK`’ ¶

  The `IFN_ASAN_CHECK` internal function is expanded by the `expand_ASAN_CHECK` function.

‘`IFN_ASAN_MARK`’ ¶

  The `IFN_ASAN_MARK` internal function is expanded by the `expand_ASAN_MARK` function.

‘`IFN_ASAN_POISON`’ ¶

  The `IFN_ASAN_POISON` internal function is expanded by the `expand_ASAN_POISON` function.

‘`IFN_ASAN_POISON_USE`’ ¶

  The `IFN_ASAN_POISON_USE` internal function is expanded by the `expand_ASAN_POISON_USE` function.

‘`IFN_ADD_OVERFLOW`’ ¶

  The `IFN_ADD_OVERFLOW` internal function is expanded by the `expand_ADD_OVERFLOW` function.

‘`IFN_SUB_OVERFLOW`’ ¶

  The `IFN_SUB_OVERFLOW` internal function is expanded by the `expand_SUB_OVERFLOW` function.

‘`IFN_MUL_OVERFLOW`’ ¶

  The `IFN_MUL_OVERFLOW` internal function is expanded by the `expand_MUL_OVERFLOW` function.

‘`IFN_UADDC`’ ¶

  The `IFN_UADDC` internal function is expanded by the `expand_UADDC` function.

‘`IFN_USUBC`’ ¶

  The `IFN_USUBC` internal function is expanded by the `expand_USUBC` function.

‘`IFN_TSAN_FUNC_EXIT`’ ¶

  The `IFN_TSAN_FUNC_EXIT` internal function is expanded by the `expand_TSAN_FUNC_EXIT` function.

‘`IFN_VA_ARG`’ ¶

  The `IFN_VA_ARG` internal function is expanded by the `expand_VA_ARG` function.

‘`IFN_VEC_CONVERT`’ ¶

  The `IFN_VEC_CONVERT` internal function is expanded by the `expand_VEC_CONVERT` function.

‘`IFN_RAWMEMCHR`’ ¶

  The `IFN_RAWMEMCHR` internal function is expanded by the `expand_RAWMEMCHR` function.

‘`IFN_UNIQUE`’ ¶

  The `IFN_UNIQUE` internal function is expanded by the `expand_UNIQUE` function.

‘`IFN_PHI`’ ¶

  The `IFN_PHI` internal function is used by the GIMPLE frontend and lowered to PHI nodes.

‘`IFN_DEFERRED_INIT`’ ¶

  The `IFN_DEFERRED_INIT` internal function is expanded by the `expand_DEFERRED_INIT` function.

‘`IFN_ACCESS_WITH_SIZE`’ ¶

  The `IFN_ACCESS_WITH_SIZE` internal function is expanded by the `expand_ACCESS_WITH_SIZE` function.

‘`IFN_GOACC_DIM_SIZE`’ ¶

  The `IFN_GOACC_DIM_SIZE` internal function is expanded by the `expand_GOACC_DIM_SIZE` function.

‘`IFN_GOACC_DIM_POS`’ ¶

  The `IFN_GOACC_DIM_POS` internal function is expanded by the `expand_GOACC_DIM_POS` function.

‘`IFN_GOACC_LOOP`’ ¶

  The `IFN_GOACC_LOOP` internal function is expanded by the `expand_GOACC_LOOP` function.

‘`IFN_GOACC_REDUCTION`’ ¶

  The `IFN_GOACC_REDUCTION` internal function is expanded by the `expand_GOACC_REDUCTION` function.

‘`IFN_GOACC_TILE`’ ¶

  The `IFN_GOACC_TILE` internal function is expanded by the `expand_GOACC_TILE` function.

‘`IFN_SET_EDOM`’ ¶

  The `IFN_SET_EDOM` internal function is expanded by the `expand_SET_EDOM` function.

‘`IFN_ATOMIC_BIT_TEST_AND_SET`’ ¶

  The `IFN_ATOMIC_BIT_TEST_AND_SET` internal function is expanded by the `expand_ATOMIC_BIT_TEST_AND_SET` function.

‘`IFN_ATOMIC_BIT_TEST_AND_COMPLEMENT`’ ¶

  The `IFN_ATOMIC_BIT_TEST_AND_COMPLEMENT` internal function is expanded by the `expand_ATOMIC_BIT_TEST_AND_COMPLEMENT` function.

‘`IFN_ATOMIC_BIT_TEST_AND_RESET`’ ¶

  The `IFN_ATOMIC_BIT_TEST_AND_RESET` internal function is expanded by the `expand_ATOMIC_BIT_TEST_AND_RESET` function.

‘`IFN_ATOMIC_COMPARE_EXCHANGE`’ ¶

  The `IFN_ATOMIC_COMPARE_EXCHANGE` internal function is expanded by the `expand_ATOMIC_COMPARE_EXCHANGE` function.

‘`IFN_ATOMIC_ADD_FETCH_CMP_0`’ ¶

  The `IFN_ATOMIC_ADD_FETCH_CMP_0` internal function is expanded by the `expand_ATOMIC_ADD_FETCH_CMP_0` function.

‘`IFN_ATOMIC_SUB_FETCH_CMP_0`’ ¶

  The `IFN_ATOMIC_SUB_FETCH_CMP_0` internal function is expanded by the `expand_ATOMIC_SUB_FETCH_CMP_0` function.

‘`IFN_ATOMIC_AND_FETCH_CMP_0`’ ¶

  The `IFN_ATOMIC_AND_FETCH_CMP_0` internal function is expanded by the `expand_ATOMIC_AND_FETCH_CMP_0` function.

‘`IFN_ATOMIC_OR_FETCH_CMP_0`’ ¶

  The `IFN_ATOMIC_OR_FETCH_CMP_0` internal function is expanded by the `expand_ATOMIC_OR_FETCH_CMP_0` function.

‘`IFN_ATOMIC_XOR_FETCH_CMP_0`’ ¶

  The `IFN_ATOMIC_XOR_FETCH_CMP_0` internal function is expanded by the `expand_ATOMIC_XOR_FETCH_CMP_0` function.

‘`IFN_FALLTHROUGH`’ ¶

  The `IFN_FALLTHROUGH` internal function is expanded by the `expand_FALLTHROUGH` function.

‘`IFN_LAUNDER`’ ¶

  The `IFN_LAUNDER` internal function is expanded by the `expand_LAUNDER` function.

‘`IFN_DIVMOD`’ ¶

  The `IFN_DIVMOD` internal function is expanded by the `expand_DIVMOD` function.

‘`IFN_CO_ACTOR`’ ¶

  The `IFN_CO_ACTOR` internal function is expanded by the `expand_CO_ACTOR` function.

‘`IFN_CO_YIELD`’ ¶

  The `IFN_CO_YIELD` internal function is expanded by the `expand_CO_YIELD` function.

‘`IFN_CO_SUSPN`’ ¶

  The `IFN_CO_SUSPN` internal function is expanded by the `expand_CO_SUSPN` function.

‘`IFN_CO_FRAME`’ ¶

  The `IFN_CO_FRAME` internal function is expanded by the `expand_CO_FRAME` function.

‘`IFN_NOP`’ ¶

  The `IFN_NOP` internal function is expanded by the `expand_NOP` function.

‘`IFN_SHUFFLEVECTOR`’ ¶

  The `IFN_SHUFFLEVECTOR` internal function is expanded by the `expand_SHUFFLEVECTOR` function.

‘`IFN_SPACESHIP`’ ¶

  The `IFN_SPACESHIP` internal function is expanded by the `expand_SPACESHIP` function.

‘`IFN_ASSUME`’ ¶

  The `IFN_ASSUME` internal function is expanded by the `expand_ASSUME` function.

‘`IFN_MASK_CALL`’ ¶

  The `IFN_MASK_CALL` internal function is expanded by the `expand_MASK_CALL` function.

‘`IFN_MULBITINT`’ ¶

  The `IFN_MULBITINT` internal function is expanded by the `expand_MULBITINT` function.

‘`IFN_DIVMODBITINT`’ ¶

  The `IFN_DIVMODBITINT` internal function is expanded by the `expand_DIVMODBITINT` function.

‘`IFN_FLOATTOBITINT`’ ¶

  The `IFN_FLOATTOBITINT` internal function is expanded by the `expand_FLOATTOBITINT` function.

‘`IFN_BITINTTOFLOAT`’ ¶

  The `IFN_BITINTTOFLOAT` internal function is expanded by the `expand_BITINTTOFLOAT` function.

‘`IFN_VARYING`’ ¶

  Use `IFN_VARYING` as a temporary placeholder for a value whose definition is still being built by the current pass. The pass that creates it must replace it before finishing; the verifier rejects any remaining calls.