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.
Table 1. Mapping of 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