13.2.1 Direct Internal Functions

IFN_CRC

The IFN_CRC internal function directly maps to the crc instruction pattern.

IFN_CRC_REV

The IFN_CRC_REV internal function directly maps to the crc_rev instruction pattern.

IFN_MASK_LOAD

The IFN_MASK_LOAD internal function directly maps to the maskload instruction pattern.

IFN_LOAD_LANES

The IFN_LOAD_LANES internal function directly maps to the vec_load_lanes instruction pattern.

IFN_MASK_LOAD_LANES

The IFN_MASK_LOAD_LANES internal function directly maps to the vec_mask_load_lanes instruction pattern.

IFN_MASK_LEN_LOAD_LANES

The IFN_MASK_LEN_LOAD_LANES internal function directly maps to the vec_mask_len_load_lanes instruction pattern.

IFN_GATHER_LOAD

The IFN_GATHER_LOAD internal function directly maps to the gather_load instruction pattern.

IFN_MASK_GATHER_LOAD

The IFN_MASK_GATHER_LOAD internal function directly maps to the mask_gather_load instruction pattern.

IFN_MASK_LEN_GATHER_LOAD

The IFN_MASK_LEN_GATHER_LOAD internal function directly maps to the mask_len_gather_load instruction pattern.

IFN_MASK_LEN_STRIDED_LOAD

The IFN_MASK_LEN_STRIDED_LOAD internal function directly maps to the mask_len_strided_load instruction pattern.

IFN_LEN_LOAD

The IFN_LEN_LOAD internal function directly maps to the len_load instruction pattern.

IFN_MASK_LEN_LOAD

The IFN_MASK_LEN_LOAD internal function directly maps to the mask_len_load instruction pattern.

IFN_SCATTER_STORE

The IFN_SCATTER_STORE internal function directly maps to the scatter_store instruction pattern.

IFN_MASK_SCATTER_STORE

The IFN_MASK_SCATTER_STORE internal function directly maps to the mask_scatter_store instruction pattern.

IFN_MASK_LEN_SCATTER_STORE

The IFN_MASK_LEN_SCATTER_STORE internal function directly maps to the mask_len_scatter_store instruction pattern.

IFN_MASK_LEN_STRIDED_STORE

The IFN_MASK_LEN_STRIDED_STORE internal function directly maps to the mask_len_strided_store instruction pattern.

IFN_MASK_STORE

The IFN_MASK_STORE internal function directly maps to the maskstore instruction pattern.

IFN_STORE_LANES

The IFN_STORE_LANES internal function directly maps to the vec_store_lanes instruction pattern.

IFN_MASK_STORE_LANES

The IFN_MASK_STORE_LANES internal function directly maps to the vec_mask_store_lanes instruction pattern.

IFN_MASK_LEN_STORE_LANES

The IFN_MASK_LEN_STORE_LANES internal function directly maps to the vec_mask_len_store_lanes instruction pattern.

IFN_VCOND_MASK

The IFN_VCOND_MASK internal function directly maps to the vcond_mask instruction pattern.

IFN_VCOND_MASK_LEN

The IFN_VCOND_MASK_LEN internal function directly maps to the vcond_mask_len instruction pattern.

IFN_VEC_SET

The IFN_VEC_SET internal function directly maps to the vec_set instruction pattern.

IFN_VEC_EXTRACT

The IFN_VEC_EXTRACT internal function directly maps to the vec_extract instruction pattern.

IFN_LEN_STORE

The IFN_LEN_STORE internal function directly maps to the len_store instruction pattern.

IFN_MASK_LEN_STORE

The IFN_MASK_LEN_STORE internal function directly maps to the mask_len_store instruction pattern.

IFN_WHILE_ULT

The IFN_WHILE_ULT internal function directly maps to the while_ult instruction pattern.

IFN_SELECT_VL

The IFN_SELECT_VL internal function directly maps to the select_vl instruction pattern.

IFN_CHECK_RAW_PTRS

The IFN_CHECK_RAW_PTRS internal function directly maps to the check_raw_ptrs instruction pattern.

IFN_CHECK_WAR_PTRS

The IFN_CHECK_WAR_PTRS internal function directly maps to the check_war_ptrs instruction pattern.

IFN_VEC_SHL_INSERT

The IFN_VEC_SHL_INSERT internal function directly maps to the vec_shl_insert instruction pattern.

IFN_DIV_POW2

The IFN_DIV_POW2 internal function directly maps to the sdiv_pow2 instruction pattern.

IFN_FMS

The IFN_FMS internal function directly maps to the fms instruction pattern.

IFN_FNMA

The IFN_FNMA internal function directly maps to the fnma instruction pattern.

IFN_FNMS

The IFN_FNMS internal function directly maps to the fnms instruction pattern.

IFN_COND_SQRT

The IFN_COND_SQRT internal function directly maps to the cond_sqrt instruction pattern.

IFN_COND_LEN_SQRT

The IFN_COND_LEN_SQRT internal function directly maps to the cond_len_sqrt instruction pattern.

IFN_COND_CEIL

The IFN_COND_CEIL internal function directly maps to the cond_ceil instruction pattern.

IFN_COND_LEN_CEIL

The IFN_COND_LEN_CEIL internal function directly maps to the cond_len_ceil instruction pattern.

IFN_COND_FLOOR

The IFN_COND_FLOOR internal function directly maps to the cond_floor instruction pattern.

IFN_COND_LEN_FLOOR

The IFN_COND_LEN_FLOOR internal function directly maps to the cond_len_floor instruction pattern.

IFN_COND_ROUND

The IFN_COND_ROUND internal function directly maps to the cond_round instruction pattern.

IFN_COND_LEN_ROUND

The IFN_COND_LEN_ROUND internal function directly maps to the cond_len_round instruction pattern.

IFN_COND_RINT

The IFN_COND_RINT internal function directly maps to the cond_rint instruction pattern.

IFN_COND_LEN_RINT

The IFN_COND_LEN_RINT internal function directly maps to the cond_len_rint instruction pattern.

IFN_COND_ADD

The IFN_COND_ADD internal function directly maps to the cond_add instruction pattern.

IFN_COND_LEN_ADD

The IFN_COND_LEN_ADD internal function directly maps to the cond_len_add instruction pattern.

IFN_COND_SUB

The IFN_COND_SUB internal function directly maps to the cond_sub instruction pattern.

IFN_COND_LEN_SUB

The IFN_COND_LEN_SUB internal function directly maps to the cond_len_sub instruction pattern.

IFN_COND_MUL

The IFN_COND_MUL internal function directly maps to the cond_smul instruction pattern.

IFN_COND_LEN_MUL

The IFN_COND_LEN_MUL internal function directly maps to the cond_len_smul instruction pattern.

IFN_COND_RDIV

The IFN_COND_RDIV internal function directly maps to the cond_sdiv instruction pattern.

IFN_COND_LEN_RDIV

The IFN_COND_LEN_RDIV internal function directly maps to the cond_len_sdiv instruction pattern.

IFN_COND_COPYSIGN

The IFN_COND_COPYSIGN internal function directly maps to the cond_copysign instruction pattern.

IFN_COND_LEN_COPYSIGN

The IFN_COND_LEN_COPYSIGN internal function directly maps to the cond_len_copysign instruction pattern.

IFN_COND_FMIN

The IFN_COND_FMIN internal function directly maps to the cond_fmin instruction pattern.

IFN_COND_LEN_FMIN

The IFN_COND_LEN_FMIN internal function directly maps to the cond_len_fmin instruction pattern.

IFN_COND_FMAX

The IFN_COND_FMAX internal function directly maps to the cond_fmax instruction pattern.

IFN_COND_LEN_FMAX

The IFN_COND_LEN_FMAX internal function directly maps to the cond_len_fmax instruction pattern.

IFN_COND_AND

The IFN_COND_AND internal function directly maps to the cond_and instruction pattern.

IFN_COND_LEN_AND

The IFN_COND_LEN_AND internal function directly maps to the cond_len_and instruction pattern.

IFN_COND_IOR

The IFN_COND_IOR internal function directly maps to the cond_ior instruction pattern.

IFN_COND_LEN_IOR

The IFN_COND_LEN_IOR internal function directly maps to the cond_len_ior instruction pattern.

IFN_COND_XOR

The IFN_COND_XOR internal function directly maps to the cond_xor instruction pattern.

IFN_COND_LEN_XOR

The IFN_COND_LEN_XOR internal function directly maps to the cond_len_xor instruction pattern.

IFN_COND_SHL

The IFN_COND_SHL internal function directly maps to the cond_ashl instruction pattern.

IFN_COND_LEN_SHL

The IFN_COND_LEN_SHL internal function directly maps to the cond_len_ashl instruction pattern.

IFN_COND_FMA

The IFN_COND_FMA internal function directly maps to the cond_fma instruction pattern.

IFN_COND_LEN_FMA

The IFN_COND_LEN_FMA internal function directly maps to the cond_len_fma instruction pattern.

IFN_COND_FMS

The IFN_COND_FMS internal function directly maps to the cond_fms instruction pattern.

IFN_COND_LEN_FMS

The IFN_COND_LEN_FMS internal function directly maps to the cond_len_fms instruction pattern.

IFN_COND_FNMA

The IFN_COND_FNMA internal function directly maps to the cond_fnma instruction pattern.

IFN_COND_LEN_FNMA

The IFN_COND_LEN_FNMA internal function directly maps to the cond_len_fnma instruction pattern.

IFN_COND_FNMS

The IFN_COND_FNMS internal function directly maps to the cond_fnms instruction pattern.

IFN_COND_LEN_FNMS

The IFN_COND_LEN_FNMS internal function directly maps to the cond_len_fnms instruction pattern.

IFN_COND_NEG

The IFN_COND_NEG internal function directly maps to the cond_neg instruction pattern.

IFN_COND_LEN_NEG

The IFN_COND_LEN_NEG internal function directly maps to the cond_len_neg instruction pattern.

IFN_COND_NOT

The IFN_COND_NOT internal function directly maps to the cond_one_cmpl instruction pattern.

IFN_COND_LEN_NOT

The IFN_COND_LEN_NOT internal function directly maps to the cond_len_one_cmpl instruction pattern.

IFN_RSQRT

The IFN_RSQRT internal function directly maps to the rsqrt instruction pattern.

IFN_REDUC_PLUS

The IFN_REDUC_PLUS internal function directly maps to the reduc_plus_scal instruction pattern.

IFN_REDUC_FMAX

The IFN_REDUC_FMAX internal function directly maps to the reduc_fmax_scal instruction pattern.

IFN_REDUC_FMIN

The IFN_REDUC_FMIN internal function directly maps to the reduc_fmin_scal instruction pattern.

IFN_REDUC_AND

The IFN_REDUC_AND internal function directly maps to the reduc_and_scal instruction pattern.

IFN_REDUC_IOR

The IFN_REDUC_IOR internal function directly maps to the reduc_ior_scal instruction pattern.

IFN_REDUC_XOR

The IFN_REDUC_XOR internal function directly maps to the reduc_xor_scal instruction pattern.

IFN_REDUC_SBOOL_AND

The IFN_REDUC_SBOOL_AND internal function directly maps to the reduc_sbool_and_scal instruction pattern.

IFN_REDUC_SBOOL_IOR

The IFN_REDUC_SBOOL_IOR internal function directly maps to the reduc_sbool_ior_scal instruction pattern.

IFN_REDUC_SBOOL_XOR

The IFN_REDUC_SBOOL_XOR internal function directly maps to the reduc_sbool_xor_scal instruction pattern.

IFN_EXTRACT_LAST

The IFN_EXTRACT_LAST internal function directly maps to the extract_last instruction pattern.

IFN_FOLD_EXTRACT_LAST

The IFN_FOLD_EXTRACT_LAST internal function directly maps to the fold_extract_last instruction pattern.

IFN_LEN_FOLD_EXTRACT_LAST

The IFN_LEN_FOLD_EXTRACT_LAST internal function directly maps to the len_fold_extract_last instruction pattern.

IFN_FOLD_LEFT_PLUS

The IFN_FOLD_LEFT_PLUS internal function directly maps to the fold_left_plus instruction pattern.

IFN_MASK_FOLD_LEFT_PLUS

The IFN_MASK_FOLD_LEFT_PLUS internal function directly maps to the mask_fold_left_plus instruction pattern.

IFN_MASK_LEN_FOLD_LEFT_PLUS

The IFN_MASK_LEN_FOLD_LEFT_PLUS internal function directly maps to the mask_len_fold_left_plus instruction pattern.

IFN_XORSIGN

The IFN_XORSIGN internal function directly maps to the xorsign instruction pattern.

IFN_COMPLEX_ADD_ROT90

The IFN_COMPLEX_ADD_ROT90 internal function directly maps to the cadd90 instruction pattern.

IFN_COMPLEX_ADD_ROT270

The IFN_COMPLEX_ADD_ROT270 internal function directly maps to the cadd270 instruction pattern.

IFN_COMPLEX_MUL

The IFN_COMPLEX_MUL internal function directly maps to the cmul instruction pattern.

IFN_COMPLEX_MUL_CONJ

The IFN_COMPLEX_MUL_CONJ internal function directly maps to the cmul_conj instruction pattern.

IFN_VEC_ADDSUB

The IFN_VEC_ADDSUB internal function directly maps to the vec_addsub instruction pattern.

IFN_VEC_TRUNC_ADD_HIGH

The IFN_VEC_TRUNC_ADD_HIGH internal function directly maps to the vec_trunc_add_high instruction pattern.

IFN_VEC_FMADDSUB

The IFN_VEC_FMADDSUB internal function directly maps to the vec_fmaddsub instruction pattern.

IFN_VEC_FMSUBADD

The IFN_VEC_FMSUBADD internal function directly maps to the vec_fmsubadd instruction pattern.

IFN_COMPLEX_FMA

The IFN_COMPLEX_FMA internal function directly maps to the cmla instruction pattern.

IFN_COMPLEX_FMA_CONJ

The IFN_COMPLEX_FMA_CONJ internal function directly maps to the cmla_conj instruction pattern.

IFN_COMPLEX_FMS

The IFN_COMPLEX_FMS internal function directly maps to the cmls instruction pattern.

IFN_COMPLEX_FMS_CONJ

The IFN_COMPLEX_FMS_CONJ internal function directly maps to the cmls_conj instruction pattern.

IFN_BIT_ANDN

The IFN_BIT_ANDN internal function directly maps to the andn instruction pattern.

IFN_BIT_IORN

The IFN_BIT_IORN internal function directly maps to the iorn instruction pattern.

IFN_ABD

The IFN_ABD internal function directly maps to the sabd and uabd instruction patterns, depending on the sign of the first argument.

IFN_AVG_FLOOR

The IFN_AVG_FLOOR internal function directly maps to the savg_floor and uavg_floor instruction patterns, depending on the sign of the first argument.

IFN_AVG_CEIL

The IFN_AVG_CEIL internal function directly maps to the savg_ceil and uavg_ceil instruction patterns, depending on the sign of the first argument.

IFN_MULH

The IFN_MULH internal function directly maps to the smul_highpart and umul_highpart instruction patterns, depending on the sign of the first argument.

IFN_MULHS

The IFN_MULHS internal function directly maps to the smulhs and umulhs instruction patterns, depending on the sign of the first argument.

IFN_MULHRS

The IFN_MULHRS internal function directly maps to the smulhrs and umulhrs instruction patterns, depending on the sign of the first argument.

IFN_SAT_ADD

The IFN_SAT_ADD internal function directly maps to the ssadd and usadd instruction patterns, depending on the sign of the first argument.

IFN_SAT_SUB

The IFN_SAT_SUB internal function directly maps to the sssub and ussub instruction patterns, depending on the sign of the first argument.

IFN_SAT_MUL

The IFN_SAT_MUL internal function directly maps to the ssmul and usmul instruction patterns, depending on the sign of the first argument.

IFN_SAT_TRUNC

The IFN_SAT_TRUNC internal function directly maps to the sstrunc and ustrunc instruction patterns, depending on the sign of the first argument.

IFN_COND_DIV

The IFN_COND_DIV internal function directly maps to the cond_sdiv and cond_udiv instruction patterns, depending on the sign of the first argument.

IFN_COND_LEN_DIV

The IFN_COND_LEN_DIV internal function directly maps to the cond_len_sdiv and cond_len_udiv instruction patterns, depending on the sign of the first argument.

IFN_COND_MOD

The IFN_COND_MOD internal function directly maps to the cond_smod and cond_umod instruction patterns, depending on the sign of the first argument.

IFN_COND_LEN_MOD

The IFN_COND_LEN_MOD internal function directly maps to the cond_len_smod and cond_len_umod instruction patterns, depending on the sign of the first argument.

IFN_COND_MIN

The IFN_COND_MIN internal function directly maps to the cond_smin and cond_umin instruction patterns, depending on the sign of the first argument.

IFN_COND_LEN_MIN

The IFN_COND_LEN_MIN internal function directly maps to the cond_len_smin and cond_len_umin instruction patterns, depending on the sign of the first argument.

IFN_COND_MAX

The IFN_COND_MAX internal function directly maps to the cond_smax and cond_umax instruction patterns, depending on the sign of the first argument.

IFN_COND_LEN_MAX

The IFN_COND_LEN_MAX internal function directly maps to the cond_len_smax and cond_len_umax instruction patterns, depending on the sign of the first argument.

IFN_COND_SHR

The IFN_COND_SHR internal function directly maps to the cond_ashr and cond_lshr instruction patterns, depending on the sign of the first argument.

IFN_COND_LEN_SHR

The IFN_COND_LEN_SHR internal function directly maps to the cond_len_ashr and cond_len_lshr instruction patterns, depending on the sign of the first argument.

IFN_REDUC_MAX

The IFN_REDUC_MAX internal function directly maps to the reduc_smax_scal and reduc_umax_scal instruction patterns, depending on the sign of the first argument.

IFN_REDUC_MIN

The IFN_REDUC_MIN internal function directly maps to the reduc_smin_scal and reduc_umin_scal instruction patterns, depending on the sign of the first argument.

IFN_VEC_WIDEN_PLUS

The IFN_VEC_WIDEN_PLUS set of internal functions directly map to the vec_widen_sadd and vec_widen_uadd instruction patterns, depending on the sign of the first argument. The IFN_VEC_WIDEN_PLUS_LO and IFN_VEC_WIDEN_PLUS_HI work on the low and high parts of a vector, the IFN_VEC_WIDEN_PLUS_EVEN and IFN_VEC_WIDEN_PLUS_ODD functions work on the even and odd elements of a vector.

IFN_VEC_WIDEN_MINUS

The IFN_VEC_WIDEN_MINUS set of internal functions directly map to the vec_widen_ssub and vec_widen_usub instruction patterns, depending on the sign of the first argument. The IFN_VEC_WIDEN_MINUS_LO and IFN_VEC_WIDEN_MINUS_HI work on the low and high parts of a vector, the IFN_VEC_WIDEN_MINUS_EVEN and IFN_VEC_WIDEN_MINUS_ODD functions work on the even and odd elements of a vector.

IFN_VEC_WIDEN_ABD

The IFN_VEC_WIDEN_ABD set of internal functions directly map to the vec_widen_sabd and vec_widen_uabd instruction patterns, depending on the sign of the first argument. The IFN_VEC_WIDEN_ABD_LO and IFN_VEC_WIDEN_ABD_HI work on the low and high parts of a vector, the IFN_VEC_WIDEN_ABD_EVEN and IFN_VEC_WIDEN_ABD_ODD functions work on the even and odd elements of a vector.