#ifndef _RS6000_VECDEFINES_H
#define _RS6000_VECDEFINES_H 1

#if defined(_ARCH_PPC64) && defined (_ARCH_PWR9)
  #define _ARCH_PPC64_PWR9 1
#endif

#define __builtin_bcdadd __builtin_vec_bcdadd
#define __builtin_bcdadd_eq __builtin_vec_bcdadd_eq
#define __builtin_bcdadd_gt __builtin_vec_bcdadd_gt
#define __builtin_bcdadd_lt __builtin_vec_bcdadd_lt
#define __builtin_bcdadd_ov __builtin_vec_bcdadd_ov
#define __builtin_bcddiv10 __builtin_vec_bcddiv10
#define __builtin_bcdinvalid __builtin_vec_bcdinvalid
#define __builtin_bcdmul10 __builtin_vec_bcdmul10
#define __builtin_bcdsub __builtin_vec_bcdsub
#define __builtin_bcdsub_eq __builtin_vec_bcdsub_eq
#define __builtin_bcdsub_ge __builtin_vec_bcdsub_ge
#define __builtin_bcdsub_gt __builtin_vec_bcdsub_gt
#define __builtin_bcdsub_le __builtin_vec_bcdsub_le
#define __builtin_bcdsub_lt __builtin_vec_bcdsub_lt
#define __builtin_bcdsub_ov __builtin_vec_bcdsub_ov
#define __builtin_bcd2dfp __builtin_vec_denb2dfp
#define vec_abs __builtin_vec_abs
#define vec_absd __builtin_vec_vadu
#define vec_abss __builtin_vec_abss
#define vec_add __builtin_vec_add
#define vec_addc __builtin_vec_addc
#define vec_adde __builtin_vec_adde
#define vec_addec __builtin_vec_addec
#define vec_adds __builtin_vec_adds
#define vec_and __builtin_vec_and
#define vec_andc __builtin_vec_andc
#define vec_avg __builtin_vec_avg
#define vec_blendv __builtin_vec_xxblend
#define vec_bperm __builtin_vec_vbperm_api
#define vec_ceil __builtin_vec_ceil
#define vec_cfuge __builtin_vec_cfuge
#define vec_cipher_be __builtin_vec_vcipher_be
#define vec_cipherlast_be __builtin_vec_vcipherlast_be
#define vec_clrl __builtin_vec_clrl
#define vec_clrr __builtin_vec_clrr
#define vec_cmpb __builtin_vec_cmpb
#define vec_cmpeq __builtin_vec_cmpeq
#define vec_cmpge __builtin_vec_cmpge
#define vec_cmpgt __builtin_vec_cmpgt
#define vec_cmpne __builtin_vec_cmpne
#define vec_cmpnez __builtin_vec_vcmpnez
#define vec_cntlz __builtin_vec_vclz
#define vec_cntlzm __builtin_vec_vclzdm
#define vec_cnttzm __builtin_vec_vctzdm
#define vec_cntlz_lsbb __builtin_vec_vclzlsbb
#define vec_cntm __builtin_vec_cntm
#define vec_cnttz __builtin_vec_vctz
#define vec_cnttz_lsbb __builtin_vec_vctzlsbb
#define vec_pack_to_short_fp32 __builtin_vec_convert_4f32_8f16
#define vec_ctf __builtin_vec_ctf
#define vec_cts __builtin_vec_cts
#define vec_ctu __builtin_vec_ctu
#define vec_div __builtin_vec_div
#define vec_dive __builtin_vec_dive
#define vec_double __builtin_vec_double
#define vec_doublee __builtin_vec_doublee
#define vec_doubleh __builtin_vec_doubleh
#define vec_doublel __builtin_vec_doublel
#define vec_doubleo __builtin_vec_doubleo
#define vec_dst __builtin_vec_dst
#define vec_dstst __builtin_vec_dstst
#define vec_dststt __builtin_vec_dststt
#define vec_dstt __builtin_vec_dstt
#define vec_eqv __builtin_vec_eqv
#define vec_expandm __builtin_vec_vexpandm
#define vec_expte __builtin_vec_expte
#define vec_extract __builtin_vec_extract
#define vec_extract_fp32_from_shorth __builtin_vec_vextract_fp_from_shorth
#define vec_extract_fp32_from_shortl __builtin_vec_vextract_fp_from_shortl
#define vec_extracth __builtin_vec_extracth
#define vec_extractl __builtin_vec_extractl
#define vec_extractm __builtin_vec_vextractm
#define vec_extract4b __builtin_vec_extract4b
#define vec_xlx __builtin_vec_vextulx
#define vec_xrx __builtin_vec_vexturx
#define vec_first_match_index __builtin_vec_first_match_index
#define vec_first_match_or_eos_index __builtin_vec_first_match_or_eos_index
#define vec_first_mismatch_index __builtin_vec_first_mismatch_index
#define vec_first_mismatch_or_eos_index __builtin_vec_first_mismatch_or_eos_index
#define vec_float __builtin_vec_float
#define vec_float2 __builtin_vec_float2
#define vec_floate __builtin_vec_floate
#define vec_floato __builtin_vec_floato
#define vec_floor __builtin_vec_floor
#define vec_gb __builtin_vec_vgbbd
#define vec_genbm __builtin_vec_mtvsrbm
#define vec_genhm __builtin_vec_mtvsrhm
#define vec_genwm __builtin_vec_mtvsrwm
#define vec_gendm __builtin_vec_mtvsrdm
#define vec_genqm __builtin_vec_mtvsrqm
#define vec_genpcvm __builtin_vec_xxgenpcvm
#define vec_gnb __builtin_vec_gnb
#define vec_insert __builtin_vec_insert
#define vec_inserth __builtin_vec_inserth
#define vec_insertl __builtin_vec_insertl
#define vec_insert4b __builtin_vec_insert4b
#define vec_ld __builtin_vec_ld
#define vec_lde __builtin_vec_lde
#define vec_ldl __builtin_vec_ldl
#define vec_loge __builtin_vec_loge
#ifdef __PPU__
#define vec_lvlx __builtin_vec_lvlx
#endif
#ifdef __PPU__
#define vec_lvlxl __builtin_vec_lvlxl
#endif
#ifdef __PPU__
#define vec_lvrx __builtin_vec_lvrx
#endif
#ifdef __PPU__
#define vec_lvrxl __builtin_vec_lvrxl
#endif
#define vec_lvsl __builtin_vec_lvsl
#define vec_lvsr __builtin_vec_lvsr
#define vec_xl_len __builtin_vec_lxvl
#define vec_madd __builtin_vec_madd
#define vec_madds __builtin_vec_madds
#define vec_max __builtin_vec_max
#define vec_mergee __builtin_vec_vmrgew
#define vec_mergeh __builtin_vec_mergeh
#define vec_mergel __builtin_vec_mergel
#define vec_mergeo __builtin_vec_vmrgow
#define vec_mfvscr __builtin_vec_mfvscr
#define vec_min __builtin_vec_min
#define vec_mladd __builtin_vec_mladd
#define vec_mod __builtin_vec_mod
#define vec_mradds __builtin_vec_mradds
#define vec_msub __builtin_vec_msub
#define vec_msum __builtin_vec_msum
#define vec_msumc __builtin_vec_msumc
#define vec_msums __builtin_vec_msums
#define vec_mtvscr __builtin_vec_mtvscr
#define vec_mul __builtin_vec_mul
#define vec_mule __builtin_vec_mule
#define vec_mulh __builtin_vec_mulh
#define vec_mulo __builtin_vec_mulo
#define vec_nabs __builtin_vec_nabs
#define vec_nand __builtin_vec_nand
#define vec_ncipher_be __builtin_vec_vncipher_be
#define vec_ncipherlast_be __builtin_vec_vncipherlast_be
#define vec_nearbyint __builtin_vec_nearbyint
#define vec_neg __builtin_vec_neg
#define vec_nmadd __builtin_vec_nmadd
#define vec_nmsub __builtin_vec_nmsub
#define vec_nor __builtin_vec_nor
#define vec_or __builtin_vec_or
#define vec_orc __builtin_vec_orc
#define vec_pack __builtin_vec_pack
#define vec_packpx __builtin_vec_packpx
#define vec_packs __builtin_vec_packs
#define vec_packsu __builtin_vec_packsu
#define vec_pdep __builtin_vec_vpdepd
#define vec_perm __builtin_vec_perm
#define vec_permx __builtin_vec_xxpermx
#define vec_permxor __builtin_vec_vpermxor
#define vec_pext __builtin_vec_vpextd
#define vec_pmsum_be __builtin_vec_vpmsum
#define vec_popcnt __builtin_vec_vpopcntu
#define vec_parity_lsbb __builtin_vec_vparity_lsbb
#define vec_promote __builtin_vec_promote
#define vec_re __builtin_vec_re
#define vec_recipdiv __builtin_vec_recipdiv
#define vec_replace_elt __builtin_vec_replace_elt
#define vec_replace_unaligned __builtin_vec_replace_un
#define vec_revb __builtin_vec_revb
#define vec_reve __builtin_vec_vreve
#define vec_rint __builtin_vec_rint
#define vec_rl __builtin_vec_rl
#define vec_rlmi __builtin_vec_rlmi
#define vec_vrlnm __builtin_vec_rlnm
#define vec_round __builtin_vec_round
#define vec_rsqrt __builtin_vec_rsqrt
#define vec_rsqrte __builtin_vec_rsqrte
#define vec_sbox_be __builtin_vec_sbox_be
#define vec_sel __builtin_vec_sel
#define vec_shasigma_be __builtin_crypto_vshasigma
#define vec_signed __builtin_vec_vsigned
#define vec_signed2 __builtin_vec_vsigned2
#define vec_signede __builtin_vec_vsignede
#define vec_signedo __builtin_vec_vsignedo
#define vec_signexti __builtin_vec_signexti
#define vec_signextll __builtin_vec_signextll
#define vec_signextq __builtin_vec_signextq
#define vec_sl __builtin_vec_sl
#define vec_sld __builtin_vec_sld
#define vec_sldb __builtin_vec_sldb
#define vec_sldw __builtin_vec_sldw
#define vec_sll __builtin_vec_sll
#define vec_slo __builtin_vec_slo
#define vec_slv __builtin_vec_vslv
#define vec_splat __builtin_vec_splat
#define vec_splat_s8 __builtin_vec_splat_s8
#define vec_splat_s16 __builtin_vec_splat_s16
#define vec_splat_s32 __builtin_vec_splat_s32
#define vec_splati __builtin_vec_xxspltiw
#define vec_splatid __builtin_vec_xxspltid
#define vec_splati_ins __builtin_vec_xxsplti32dx
#define vec_splats __builtin_vec_splats
#define vec_sqrt __builtin_vec_sqrt
#define vec_sr __builtin_vec_sr
#define vec_sra __builtin_vec_sra
#define vec_srdb __builtin_vec_srdb
#define vec_srl __builtin_vec_srl
#define vec_sro __builtin_vec_sro
#define vec_srv __builtin_vec_vsrv
#define vec_st __builtin_vec_st
#define vec_ste __builtin_vec_ste
#define vec_step __builtin_vec_step
#define vec_stl __builtin_vec_stl
#define vec_stril __builtin_vec_stril
#define vec_stril_p __builtin_vec_stril_p
#define vec_strir __builtin_vec_strir
#define vec_strir_p __builtin_vec_strir_p
#ifdef __PPU__
#define vec_stvlx __builtin_vec_stvlx
#endif
#ifdef __PPU__
#define vec_stvlxl __builtin_vec_stvlxl
#endif
#ifdef __PPU__
#define vec_stvrx __builtin_vec_stvrx
#endif
#ifdef __PPU__
#define vec_stvrxl __builtin_vec_stvrxl
#endif
#define vec_xst_len __builtin_vec_stxvl
#define vec_sub __builtin_vec_sub
#define vec_subc __builtin_vec_subc
#define vec_sube __builtin_vec_sube
#define vec_subec __builtin_vec_subec
#define vec_subs __builtin_vec_subs
#define vec_sum2s __builtin_vec_sum2s
#define vec_sum4s __builtin_vec_sum4s
#define vec_sums __builtin_vec_sums
#define vec_ternarylogic __builtin_vec_xxeval
#define vec_test_lsbb_all_ones __builtin_vec_xvtlsbb_all_ones
#define vec_test_lsbb_all_zeros __builtin_vec_xvtlsbb_all_zeros
#define vec_trunc __builtin_vec_trunc
#define vec_unpackh __builtin_vec_unpackh
#define vec_unpackl __builtin_vec_unpackl
#define vec_unsigned __builtin_vec_vunsigned
#define vec_unsigned2 __builtin_vec_vunsigned2
#define vec_unsignede __builtin_vec_vunsignede
#define vec_unsignedo __builtin_vec_vunsignedo
#define vec_extract_exp __builtin_vec_extract_exp
#define vec_extract_sig __builtin_vec_extract_sig
#define vec_insert_exp __builtin_vec_insert_exp
#define vec_vprtyb __builtin_vec_vprtyb
#define scalar_cmp_exp_eq __builtin_vec_scalar_cmp_exp_eq
#define scalar_cmp_exp_gt __builtin_vec_scalar_cmp_exp_gt
#define scalar_cmp_exp_lt __builtin_vec_scalar_cmp_exp_lt
#define scalar_cmp_exp_unordered __builtin_vec_scalar_cmp_exp_unordered
#define scalar_extract_exp __builtin_vec_scalar_extract_exp
#define scalar_extract_sig __builtin_vec_scalar_extract_sig
#define scalar_insert_exp __builtin_vec_scalar_insert_exp
#define scalar_test_data_class __builtin_vec_scalar_test_data_class
#define scalar_test_neg __builtin_vec_scalar_test_neg
#define vec_test_data_class __builtin_vec_test_data_class
#define vec_xl __builtin_vec_vsx_ld
#define vec_xl_be __builtin_vec_xl_be
#define vec_xl_len_r __builtin_vec_xl_len_r
#define vec_xl_sext __builtin_vec_xl_sext
#define vec_xl_zext __builtin_vec_xl_zext
#define vec_xor __builtin_vec_xor
#define vec_xst __builtin_vec_vsx_st
#define vec_xst_be __builtin_vec_xst_be
#define vec_xst_len_r __builtin_vec_xst_len_r
#define vec_xst_trunc __builtin_vec_xst_trunc
#define vec_xxpermdi __builtin_vsx_xxpermdi
#define vec_xxsldwi __builtin_vsx_xxsldwi
#define vec_lvebx __builtin_vec_lvebx
#define vec_lvehx __builtin_vec_lvehx
#define vec_lvewx __builtin_vec_lvewx
#define vec_stvebx __builtin_vec_stvebx
#define vec_stvehx __builtin_vec_stvehx
#define vec_stvewx __builtin_vec_stvewx
#define vec_vaddcuq __builtin_vec_vaddcuq
#define vec_vaddecuq __builtin_vec_vaddecuq
#define vec_vaddeuqm __builtin_vec_vaddeuqm
#define vec_vaddfp __builtin_vec_vaddfp
#define vec_vaddsbs __builtin_vec_vaddsbs
#define vec_vaddshs __builtin_vec_vaddshs
#define vec_vaddsws __builtin_vec_vaddsws
#define vec_vaddubm __builtin_vec_vaddubm
#define vec_vaddubs __builtin_vec_vaddubs
#define vec_vaddudm __builtin_vec_vaddudm
#define vec_vadduhm __builtin_vec_vadduhm
#define vec_vadduhs __builtin_vec_vadduhs
#define vec_vadduqm __builtin_vec_vadduqm
#define vec_vadduwm __builtin_vec_vadduwm
#define vec_vadduws __builtin_vec_vadduws
#define vec_absdb __builtin_vec_vadub
#define vec_absdh __builtin_vec_vaduh
#define vec_absdw __builtin_vec_vaduw
#define vec_vavgsb __builtin_vec_vavgsb
#define vec_vavgsh __builtin_vec_vavgsh
#define vec_vavgsw __builtin_vec_vavgsw
#define vec_vavgub __builtin_vec_vavgub
#define vec_vavguh __builtin_vec_vavguh
#define vec_vavguw __builtin_vec_vavguw
#define vec_vbpermq __builtin_vec_vbpermq
#define vec_vcfsx __builtin_vec_vcfsx
#define vec_vcfux __builtin_vec_vcfux
#define vec_vclzb __builtin_vec_vclzb
#define vec_vclzd __builtin_vec_vclzd
#define vec_vclzh __builtin_vec_vclzh
#define vec_vclzw __builtin_vec_vclzw
#define vec_vcmpeqfp __builtin_vec_vcmpeqfp
#define vec_vcmpequb __builtin_vec_vcmpequb
#define vec_vcmpequh __builtin_vec_vcmpequh
#define vec_vcmpequw __builtin_vec_vcmpequw
#define vec_vcmpgtfp __builtin_vec_vcmpgtfp
#define vec_vcmpgtsb __builtin_vec_vcmpgtsb
#define vec_vcmpgtsh __builtin_vec_vcmpgtsh
#define vec_vcmpgtsw __builtin_vec_vcmpgtsw
#define vec_vcmpgtub __builtin_vec_vcmpgtub
#define vec_vcmpgtuh __builtin_vec_vcmpgtuh
#define vec_vcmpgtuw __builtin_vec_vcmpgtuw
#define vec_vctzb __builtin_vec_vctzb
#define vec_vctzd __builtin_vec_vctzd
#define vec_vctzh __builtin_vec_vctzh
#define vec_vctzw __builtin_vec_vctzw
#define vec_extract_exp_dp __builtin_vec_extract_exp_dp
#define vec_extract_exp_sp __builtin_vec_extract_exp_sp
#define vec_extract_sig_dp __builtin_vec_extract_sig_dp
#define vec_extract_sig_sp __builtin_vec_extract_sig_sp
#define vec_insert_exp_dp __builtin_vec_insert_exp_dp
#define vec_insert_exp_sp __builtin_vec_insert_exp_sp
#define vec_vmaxfp __builtin_vec_vmaxfp
#define vec_vmaxsb __builtin_vec_vmaxsb
#define vec_vmaxsd __builtin_vec_vmaxsd
#define vec_vmaxsh __builtin_vec_vmaxsh
#define vec_vmaxsw __builtin_vec_vmaxsw
#define vec_vmaxub __builtin_vec_vmaxub
#define vec_vmaxud __builtin_vec_vmaxud
#define vec_vmaxuh __builtin_vec_vmaxuh
#define vec_vmaxuw __builtin_vec_vmaxuw
#define vec_vminfp __builtin_vec_vminfp
#define vec_vminsb __builtin_vec_vminsb
#define vec_vminsd __builtin_vec_vminsd
#define vec_vminsh __builtin_vec_vminsh
#define vec_vminsw __builtin_vec_vminsw
#define vec_vminub __builtin_vec_vminub
#define vec_vminud __builtin_vec_vminud
#define vec_vminuh __builtin_vec_vminuh
#define vec_vminuw __builtin_vec_vminuw
#define vec_vmrghb __builtin_vec_vmrghb
#define vec_vmrghh __builtin_vec_vmrghh
#define vec_vmrghw __builtin_vec_vmrghw
#define vec_vmrglb __builtin_vec_vmrglb
#define vec_vmrglh __builtin_vec_vmrglh
#define vec_vmrglw __builtin_vec_vmrglw
#define vec_vmsummbm __builtin_vec_vmsummbm
#define vec_vmsumshm __builtin_vec_vmsumshm
#define vec_vmsumshs __builtin_vec_vmsumshs
#define vec_vmsumubm __builtin_vec_vmsumubm
#define vec_vmsumudm __builtin_vec_vmsumudm
#define vec_vmsumuhm __builtin_vec_vmsumuhm
#define vec_vmsumuhs __builtin_vec_vmsumuhs
#define vec_vmulesb __builtin_vec_vmulesb
#define vec_vmulesh __builtin_vec_vmulesh
#define vec_vmuleub __builtin_vec_vmuleub
#define vec_vmuleuh __builtin_vec_vmuleuh
#define vec_vmulosb __builtin_vec_vmulosb
#define vec_vmulosh __builtin_vec_vmulosh
#define vec_vmuloub __builtin_vec_vmuloub
#define vec_vmulouh __builtin_vec_vmulouh
#define vec_vpksdss __builtin_vec_vpksdss
#define vec_vpksdus __builtin_vec_vpksdus
#define vec_vpkshss __builtin_vec_vpkshss
#define vec_vpkshus __builtin_vec_vpkshus
#define vec_vpkswss __builtin_vec_vpkswss
#define vec_vpkswus __builtin_vec_vpkswus
#define vec_vpkudum __builtin_vec_vpkudum
#define vec_vpkudus __builtin_vec_vpkudus
#define vec_vpkuhum __builtin_vec_vpkuhum
#define vec_vpkuhus __builtin_vec_vpkuhus
#define vec_vpkuwum __builtin_vec_vpkuwum
#define vec_vpkuwus __builtin_vec_vpkuwus
#define vec_vpopcnt __builtin_vec_vpopcnt
#define vec_vpopcntb __builtin_vec_vpopcntb
#define vec_vpopcntd __builtin_vec_vpopcntd
#define vec_vpopcnth __builtin_vec_vpopcnth
#define vec_vpopcntw __builtin_vec_vpopcntw
#define vec_vprtybd __builtin_vec_vprtybd
#define vec_vprtybq __builtin_vec_vprtybq
#define vec_vprtybw __builtin_vec_vprtybw
#define vec_vrlb __builtin_vec_vrlb
#define vec_vrlh __builtin_vec_vrlh
#define vec_vrlw __builtin_vec_vrlw
#define vec_vslb __builtin_vec_vslb
#define vec_vslh __builtin_vec_vslh
#define vec_vslw __builtin_vec_vslw
#define vec_vspltb __builtin_vec_vspltb
#define vec_vsplth __builtin_vec_vsplth
#define vec_vspltw __builtin_vec_vspltw
#define vec_vsrab __builtin_vec_vsrab
#define vec_vsrah __builtin_vec_vsrah
#define vec_vsraw __builtin_vec_vsraw
#define vec_vsrb __builtin_vec_vsrb
#define vec_vsrh __builtin_vec_vsrh
#define vec_vsrw __builtin_vec_vsrw
#define scalar_test_data_class_dp __builtin_vec_scalar_test_data_class_dp
#define scalar_test_neg_dp __builtin_vec_scalar_test_neg_dp
#define scalar_test_neg_qp __builtin_vec_scalar_test_neg_qp
#define scalar_test_neg_sp __builtin_vec_scalar_test_neg_sp
#define scalar_test_data_class_qp __builtin_vec_scalar_test_data_class_qp
#define scalar_test_data_class_sp __builtin_vec_scalar_test_data_class_sp
#define vec_vsubcuq __builtin_vec_vsubcuq
#define vec_vsubecuq __builtin_vec_vsubecuq
#define vec_vsubeuqm __builtin_vec_vsubeuqm
#define vec_vsubfp __builtin_vec_vsubfp
#define vec_vsubsbs __builtin_vec_vsubsbs
#define vec_vsubshs __builtin_vec_vsubshs
#define vec_vsubsws __builtin_vec_vsubsws
#define vec_vsububm __builtin_vec_vsububm
#define vec_vsububs __builtin_vec_vsububs
#define vec_vsubudm __builtin_vec_vsubudm
#define vec_vsubuhm __builtin_vec_vsubuhm
#define vec_vsubuhs __builtin_vec_vsubuhs
#define vec_vsubuqm __builtin_vec_vsubuqm
#define vec_vsubuwm __builtin_vec_vsubuwm
#define vec_vsubuws __builtin_vec_vsubuws
#define vec_vsum4sbs __builtin_vec_vsum4sbs
#define vec_vsum4shs __builtin_vec_vsum4shs
#define vec_vsum4ubs __builtin_vec_vsum4ubs
#define vec_test_data_class_dp __builtin_vec_test_data_class_dp
#define vec_test_data_class_sp __builtin_vec_test_data_class_sp
#define vec_uns_doublee __builtin_vec_uns_doublee
#define vec_uns_doubleh __builtin_vec_uns_doubleh
#define vec_uns_doublel __builtin_vec_uns_doublel
#define vec_uns_doubleo __builtin_vec_uns_doubleo
#define vec_vupkhpx __builtin_vec_vupkhpx
#define vec_vupkhsb __builtin_vec_vupkhsb
#define vec_vupkhsh __builtin_vec_vupkhsh
#define vec_vupkhsw __builtin_vec_vupkhsw
#define vec_vupklpx __builtin_vec_vupklpx
#define vec_vupklsb __builtin_vec_vupklsb
#define vec_vupklsh __builtin_vec_vupklsh
#define vec_vupklsw __builtin_vec_vupklsw

#endif
