Mapping of built-in functions
The names of some built-in functions are different in IBM® Open XL C/C++ for AIX® 17.1.2 from those in IBM XL C/C++ for AIX 16.1.0.
The following table shows the mappings of these built-in functions.
| Built-in functions in IBM Open XL C/C++ for AIX 17.1.2 | Built-in functions in IBM XL C/C++ for AIX 16.1.0 |
|---|---|
__builtin_ppc_addex |
__addex |
__builtin_ppc_alignx |
__alignx |
__builtin_alloca |
__alloca |
__builtin_ppc_bcdadd |
__bcdadd |
__builtin_ppc_bcdsub |
__bcdsub |
__builtin_bpermd |
__bpermd |
__builtin_ppc_cmpb |
__cmpb |
__builtin_ppc_cmpeqb |
__cmpeqb |
__builtin_complex |
__cmplx |
__builtin_complex |
__cmplxf |
__builtin_complex |
__cmplxl |
__builtin_ppc_cmprb |
__cmprb |
__builtin_clz |
__cntlz4 |
__builtin_clzll |
__cntlz8 |
__builtin_ctz |
__cnttz4 |
__builtin_ctzll |
__cnttz8 |
__builtin_ppc_compare_and_swap |
__compare_and_swap |
__builtin_ppc_compare_and_swaplp |
__compare_and_swaplp |
__builtin_ppc_compare_exp_uo |
__compare_exp_uo |
__builtin_ppc_compare_exp_lt |
__compare_exp_lt |
__builtin_ppc_compare_exp_eq |
__compare_exp_eq |
__builtin_ppc_compare_exp_gt |
__compare_exp_gt |
__builtin_darn |
__darn |
__builtin_darn_32 |
__darn_32 |
__builtin_darn_raw |
__darn_raw |
__builtin_dcbf |
__dcbf |
__builtin_ppc_dcbfl |
__dcbfl |
__builtin_ppc_dcbflp |
__dcbflp |
__builtin_ppc_dcbst |
__dcbst |
__builtin_ppc_dcbt |
__dcbt |
__builtin_ppc_dcbtst |
__dcbtst |
__builtin_ppc_dcbtstt |
__dcbtstt |
__builtin_ppc_dcbtt |
__dcbtt |
__builtin_ppc_dcbz |
__dcbz |
__builtin_divde |
__divde |
__builtin_divdeu |
__divdeu |
__builtin_divwe |
__divwe |
__builtin_divweu |
__divweu |
__builtin_ppc_eieio |
__eieio |
__builtin_ppc_extract_exp |
__extract_exp |
__builtin_ppc_extract_sig |
__extract_sig |
__builtin_ppc_fence |
__fence |
__builtin_ppc_fnabss |
__fnabss |
__builtin_ppc_fnabs |
__fnabs |
__builtin_ppc_fcfid |
__fcfid |
__builtin_ppc_fcfud |
__fcfud |
__builtin_ppc_fctid |
__fctid |
__builtin_ppc_fctidz |
__fctidz |
__builtin_ppc_fctiw |
__fctiw |
__builtin_ppc_fctiwz |
__fctiwz |
__builtin_ppc_fctudz |
__fctudz |
__builtin_ppc_fctuwz |
__fctuwz |
__builtin_ppc_fetch_and_add |
__fetch_and_add |
__builtin_ppc_fetch_and_addlp |
__fetch_and_addlp |
__builtin_ppc_fetch_and_and |
__fetch_and_and |
__builtin_ppc_fetch_and_andlp |
__fetch_and_andlp |
__builtin_ppc_fetch_and_or |
__fetch_and_or |
__builtin_ppc_fetch_and_orlp |
__fetch_and_orlp |
__builtin_ppc_fetch_and_swap |
__fetch_and_swap |
__builtin_ppc_fetch_and_swaplp |
__fetch_and_swaplp |
__builtin_fma |
__fmadd |
__builtin_fmaf |
__fmadds |
__builtin_ppc_fmsub |
__fmsub |
__builtin_ppc_fmsubs |
__fmsubs |
__builtin_ppc_fnmadd |
__fnmadd |
__builtin_ppc_fnmadds |
__fnmadds |
__builtin_ppc_fnmsub |
__fnmsub |
__builtin_ppc_fnmsubs |
__fnmsubs |
__builtin_ppc_fre |
__fre |
__builtin_ppc_fres |
__fres |
__builtin_ppc_fric |
__fric |
__builtin_ppc_frim |
__frim |
__builtin_ppc_frims |
__frims |
__builtin_ppc_frin |
__frin |
__builtin_ppc_frins |
__frins |
__builtin_ppc_frip |
__frip |
__builtin_ppc_frips |
__frips |
__builtin_ppc_friz |
__friz |
__builtin_ppc_frizs |
__frizs |
__builtin_ppc_frsqrte |
__frsqrte |
__builtin_ppc_frsqrtes |
__frsqrtes |
__builtin_ppc_fsel |
__fsel |
__builtin_ppc_fsels |
__fsels |
__builtin_ppc_fsqrt |
__fsqrt |
__builtin_ppc_fsqrts |
__fsqrts |
__builtin_ppc_icbt |
__icbt |
__builtin_ppc_insert_exp |
__insert_exp |
__builtin_ppc_iospace_eieio |
__iospace_eieio |
__builtin_ppc_iospace_lwsync |
__iospace_lwsync |
__builtin_ppc_iospace_sync |
__iospace_sync |
__builtin_ppc_isync |
__isync |
__builtin_labs |
__labs |
__builtin_ppc_lbarx |
__lbarx |
__builtin_ppc_ldarx |
__ldarx |
__builtin_ppc_lharx |
__lharx |
__builtin_llabs |
__llabs |
__builtin_ppc_load2r |
__load2r |
__builtin_ppc_load4r |
__load4r |
__builtin_ppc_load8r |
__load8r |
__builtin_ppc_lwarx |
__lwarx |
__builtin_ppc_lwsync |
__lwsync |
__builtin_ppc_maddhd |
__maddhd |
__builtin_ppc_maddhdu |
__maddhdu |
__builtin_ppc_maddld |
__maddld |
__builtin_ppc_mfmsr |
__mfmsr |
__builtin_ppc_mfspr |
__mfspr |
__builtin_ppc_mftbu |
__mftbu |
__builtin_ppc_mtfsb0 |
__mtfsb0 |
__builtin_ppc_mtfsb1 |
__mtfsb1 |
__builtin_ppc_mtfsf |
__mtfsf |
__builtin_ppc_mtfsfi |
__mtfsfi |
__builtin_ppc_mtmsr |
__mtmsr |
__builtin_ppc_mtspr |
__mtspr |
__builtin_ppc_mulhd |
__mulhd |
__builtin_ppc_mulhdu |
__mulhdu |
__builtin_ppc_mulhw |
__mulhw |
__builtin_ppc_mulhwu |
__mulhwu |
__builtin_popcount |
__popcnt4 |
__builtin_popcountll |
__popcnt8 |
__builtin_ppc_popcntb |
__popcntb |
__builtin_ppc_poppar4 |
__poppar4 |
__builtin_ppc_poppar8 |
__poppar8 |
__builtin_ppc_rdlam |
__rdlam |
__builtin_readflm |
__readflm |
__builtin_ppc_rldimi |
__rldimi |
__builtin_ppc_rlwimi |
__rlwimi |
__builtin_ppc_rlwnm |
__rlwnm |
__builtin_rotateleft32 |
__rotatel4 |
__builtin_rotateleft64 |
__rotatel8 |
__builtin_ppc_setb |
__setb |
__builtin_setflm |
__setflm |
__builtin_setrnd |
__setrnd |
__builtin_ppc_stbcx |
__stbcx |
__builtin_ppc_stdcx |
__stdcx |
__builtin_ppc_stfiw |
__stfiw |
__builtin_ppc_sthcx |
__sthcx |
__builtin_ppc_store2r |
__store2r |
__builtin_ppc_store4r |
__store4r |
__builtin_ppc_store8r |
__store8r |
__builtin_ppc_stwcx |
__stwcx |
__builtin_ppc_swdiv |
__swdiv |
__builtin_ppc_swdivs |
__swdivs |
__builtin_ppc_swdiv_nochk |
__swdiv_nochk |
__builtin_ppc_swdivs_noch |
__swdivs_nochk |
__builtin_ppc_sync |
__sync |
__builtin_ppc_test_data_class |
__test_data_class |
__builtin_ppc_tdw |
__tdw |
__builtin_ppc_trap |
__trap |
__builtin_ppc_trapd |
__trapd |
__builtin_ppc_tw |
__tw |
__builtin_altivec_crypto_vcipher |
__vcipher |
__builtin_altivec_crypto_vcipherlast |
__vcipherlast |
__builtin_altivec_crypto_vncipher |
__vncipher |
__builtin_altivec_crypto_vncipherlast |
__vncipherlast |
__builtin_altivec_crypto_vpermxor |
__vpermxor |
__builtin_altivec_crypto_vpmsumb |
__vpmsumb |
__builtin_altivec_crypto_vpmsumd |
__vpmsumd |
__builtin_altivec_crypto_vpmsumh |
__vpmsumh |
__builtin_altivec_crypto_vpmsumw |
__vpmsumw |
To compile source code that uses the old names of the built-in functions with IBM Open XL C/C++ for AIX 17.1.2,
perform either of the following actions:
- Define the macros on the command line.
For example:-D__alignx=__builtin_ppc_alignx - Define the equivalent macros in the source code