#ifdef GET_NEON_BUILTIN_ENUMERATORS
  BI__builtin_neon_vabdh_f16,
  BI__builtin_neon_vabsh_f16,
  BI__builtin_neon_vaddh_f16,
  BI__builtin_neon_vcageh_f16,
  BI__builtin_neon_vcagth_f16,
  BI__builtin_neon_vcaleh_f16,
  BI__builtin_neon_vcalth_f16,
  BI__builtin_neon_vceqh_f16,
  BI__builtin_neon_vceqzh_f16,
  BI__builtin_neon_vcgeh_f16,
  BI__builtin_neon_vcgezh_f16,
  BI__builtin_neon_vcgth_f16,
  BI__builtin_neon_vcgtzh_f16,
  BI__builtin_neon_vcleh_f16,
  BI__builtin_neon_vclezh_f16,
  BI__builtin_neon_vclth_f16,
  BI__builtin_neon_vcltzh_f16,
  BI__builtin_neon_vcvtah_s16_f16,
  BI__builtin_neon_vcvtah_s32_f16,
  BI__builtin_neon_vcvtah_s64_f16,
  BI__builtin_neon_vcvtah_u16_f16,
  BI__builtin_neon_vcvtah_u32_f16,
  BI__builtin_neon_vcvtah_u64_f16,
  BI__builtin_neon_vcvth_f16_s16,
  BI__builtin_neon_vcvth_f16_s32,
  BI__builtin_neon_vcvth_f16_s64,
  BI__builtin_neon_vcvth_f16_u16,
  BI__builtin_neon_vcvth_f16_u32,
  BI__builtin_neon_vcvth_f16_u64,
  BI__builtin_neon_vcvth_n_f16_s16,
  BI__builtin_neon_vcvth_n_f16_s32,
  BI__builtin_neon_vcvth_n_f16_s64,
  BI__builtin_neon_vcvth_n_f16_u16,
  BI__builtin_neon_vcvth_n_f16_u32,
  BI__builtin_neon_vcvth_n_f16_u64,
  BI__builtin_neon_vcvth_n_s16_f16,
  BI__builtin_neon_vcvth_n_s32_f16,
  BI__builtin_neon_vcvth_n_s64_f16,
  BI__builtin_neon_vcvth_n_u16_f16,
  BI__builtin_neon_vcvth_n_u32_f16,
  BI__builtin_neon_vcvth_n_u64_f16,
  BI__builtin_neon_vcvth_s16_f16,
  BI__builtin_neon_vcvth_s32_f16,
  BI__builtin_neon_vcvth_s64_f16,
  BI__builtin_neon_vcvth_u16_f16,
  BI__builtin_neon_vcvth_u32_f16,
  BI__builtin_neon_vcvth_u64_f16,
  BI__builtin_neon_vcvtmh_s16_f16,
  BI__builtin_neon_vcvtmh_s32_f16,
  BI__builtin_neon_vcvtmh_s64_f16,
  BI__builtin_neon_vcvtmh_u16_f16,
  BI__builtin_neon_vcvtmh_u32_f16,
  BI__builtin_neon_vcvtmh_u64_f16,
  BI__builtin_neon_vcvtnh_s16_f16,
  BI__builtin_neon_vcvtnh_s32_f16,
  BI__builtin_neon_vcvtnh_s64_f16,
  BI__builtin_neon_vcvtnh_u16_f16,
  BI__builtin_neon_vcvtnh_u32_f16,
  BI__builtin_neon_vcvtnh_u64_f16,
  BI__builtin_neon_vcvtph_s16_f16,
  BI__builtin_neon_vcvtph_s32_f16,
  BI__builtin_neon_vcvtph_s64_f16,
  BI__builtin_neon_vcvtph_u16_f16,
  BI__builtin_neon_vcvtph_u32_f16,
  BI__builtin_neon_vcvtph_u64_f16,
  BI__builtin_neon_vdivh_f16,
  BI__builtin_neon_vfmah_f16,
  BI__builtin_neon_vfmsh_f16,
  BI__builtin_neon_vmaxh_f16,
  BI__builtin_neon_vmaxnmh_f16,
  BI__builtin_neon_vminh_f16,
  BI__builtin_neon_vminnmh_f16,
  BI__builtin_neon_vmulh_f16,
  BI__builtin_neon_vmulxh_f16,
  BI__builtin_neon_vnegh_f16,
  BI__builtin_neon_vrecpeh_f16,
  BI__builtin_neon_vrecpsh_f16,
  BI__builtin_neon_vrecpxh_f16,
  BI__builtin_neon_vrndah_f16,
  BI__builtin_neon_vrndh_f16,
  BI__builtin_neon_vrndih_f16,
  BI__builtin_neon_vrndmh_f16,
  BI__builtin_neon_vrndnh_f16,
  BI__builtin_neon_vrndph_f16,
  BI__builtin_neon_vrndxh_f16,
  BI__builtin_neon_vrsqrteh_f16,
  BI__builtin_neon_vrsqrtsh_f16,
  BI__builtin_neon_vsqrth_f16,
  BI__builtin_neon_vsubh_f16,
#endif // GET_NEON_BUILTIN_ENUMERATORS

#ifdef GET_NEON_BUILTIN_STR_TABLE

#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Woverlength-strings"
#endif
static constexpr char BuiltinStringsStorage[] = 
  "\0"
  "n\0"
  "vdivh_f16\0"
  "hhh\0"
  "fullfp16\0"
  "vmaxnmh_f16\0"
  "vminnmh_f16\0"
  "vrndah_f16\0"
  "hh\0"
  "vrndih_f16\0"
  "vrndmh_f16\0"
  "vrndnh_f16\0"
  "vrndph_f16\0"
  "vrndxh_f16\0"
  "vrndh_f16\0"
  "vsqrth_f16\0"
  "vmulxh_f16\0"
  "vabdh_f16\0"
  "vabsh_f16\0"
  "vceqh_f16\0"
  "Ushh\0"
  "vceqzh_f16\0"
  "Ush\0"
  "vcgeh_f16\0"
  "vcgezh_f16\0"
  "vcgth_f16\0"
  "vcgtzh_f16\0"
  "vcleh_f16\0"
  "vclezh_f16\0"
  "vclth_f16\0"
  "vcltzh_f16\0"
  "vcageh_f16\0"
  "vcagth_f16\0"
  "vcaleh_f16\0"
  "vcalth_f16\0"
  "vcvtah_s16_f16\0"
  "sh\0"
  "vcvtah_s32_f16\0"
  "ih\0"
  "vcvtah_s64_f16\0"
  "Wih\0"
  "vcvtah_u16_f16\0"
  "vcvtah_u32_f16\0"
  "Uih\0"
  "vcvtah_u64_f16\0"
  "UWih\0"
  "vcvtmh_s16_f16\0"
  "vcvtmh_s32_f16\0"
  "vcvtmh_s64_f16\0"
  "vcvtmh_u16_f16\0"
  "vcvtmh_u32_f16\0"
  "vcvtmh_u64_f16\0"
  "vcvtnh_s16_f16\0"
  "vcvtnh_s32_f16\0"
  "vcvtnh_s64_f16\0"
  "vcvtnh_u16_f16\0"
  "vcvtnh_u32_f16\0"
  "vcvtnh_u64_f16\0"
  "vcvtph_s16_f16\0"
  "vcvtph_s32_f16\0"
  "vcvtph_s64_f16\0"
  "vcvtph_u16_f16\0"
  "vcvtph_u32_f16\0"
  "vcvtph_u64_f16\0"
  "vcvth_s16_f16\0"
  "vcvth_s32_f16\0"
  "vcvth_n_s32_f16\0"
  "ihIi\0"
  "vcvth_s64_f16\0"
  "vcvth_n_s64_f16\0"
  "WihIi\0"
  "vcvth_n_s16_f16\0"
  "shIi\0"
  "vcvth_u16_f16\0"
  "vcvth_u32_f16\0"
  "vcvth_n_u32_f16\0"
  "UihIi\0"
  "vcvth_u64_f16\0"
  "vcvth_n_u64_f16\0"
  "UWihIi\0"
  "vcvth_n_u16_f16\0"
  "UshIi\0"
  "vrecpeh_f16\0"
  "vrecpsh_f16\0"
  "vrecpxh_f16\0"
  "vrsqrteh_f16\0"
  "vrsqrtsh_f16\0"
  "vcvth_f16_u16\0"
  "hUs\0"
  "vcvth_f16_s16\0"
  "hs\0"
  "vcvth_f16_u32\0"
  "hUi\0"
  "vcvth_f16_s32\0"
  "hi\0"
  "vcvth_n_f16_u32\0"
  "hUiIi\0"
  "vcvth_n_f16_s32\0"
  "hiIi\0"
  "vcvth_f16_u64\0"
  "hUWi\0"
  "vcvth_f16_s64\0"
  "hWi\0"
  "vcvth_n_f16_u64\0"
  "hUWiIi\0"
  "vcvth_n_f16_s64\0"
  "hWiIi\0"
  "vcvth_n_f16_u16\0"
  "hUsIi\0"
  "vcvth_n_f16_s16\0"
  "hsIi\0"
  "vaddh_f16\0"
  "vfmah_f16\0"
  "hhhh\0"
  "vfmsh_f16\0"
  "vmaxh_f16\0"
  "vminh_f16\0"
  "vmulh_f16\0"
  "vnegh_f16\0"
  "vsubh_f16\0"
  ;
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif

static constexpr llvm::StringTable
BuiltinStrings = BuiltinStringsStorage;
#endif // GET_NEON_BUILTIN_STR_TABLE

#ifdef GET_NEON_BUILTIN_INFOS
    Builtin::Info{Builtin::Info::StrOffsets{151 /* vabdh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{161 /* vabsh_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1223 /* vaddh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{285 /* vcageh_f16 */, 181 /* Ushh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{296 /* vcagth_f16 */, 181 /* Ushh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{307 /* vcaleh_f16 */, 181 /* Ushh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{318 /* vcalth_f16 */, 181 /* Ushh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{171 /* vceqh_f16 */, 181 /* Ushh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{186 /* vceqzh_f16 */, 197 /* Ush */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{201 /* vcgeh_f16 */, 181 /* Ushh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{211 /* vcgezh_f16 */, 197 /* Ush */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{222 /* vcgth_f16 */, 181 /* Ushh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{232 /* vcgtzh_f16 */, 197 /* Ush */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{243 /* vcleh_f16 */, 181 /* Ushh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{253 /* vclezh_f16 */, 197 /* Ush */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{264 /* vclth_f16 */, 181 /* Ushh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{274 /* vcltzh_f16 */, 197 /* Ush */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{329 /* vcvtah_s16_f16 */, 344 /* sh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{347 /* vcvtah_s32_f16 */, 362 /* ih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{365 /* vcvtah_s64_f16 */, 380 /* Wih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{384 /* vcvtah_u16_f16 */, 197 /* Ush */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{399 /* vcvtah_u32_f16 */, 414 /* Uih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{418 /* vcvtah_u64_f16 */, 433 /* UWih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1003 /* vcvth_f16_s16 */, 1017 /* hs */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1038 /* vcvth_f16_s32 */, 1052 /* hi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1117 /* vcvth_f16_s64 */, 1131 /* hWi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{985 /* vcvth_f16_u16 */, 999 /* hUs */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1020 /* vcvth_f16_u32 */, 1034 /* hUi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1098 /* vcvth_f16_u64 */, 1112 /* hUWi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1202 /* vcvth_n_f16_s16 */, 1218 /* hsIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1077 /* vcvth_n_f16_s32 */, 1093 /* hiIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1158 /* vcvth_n_f16_s64 */, 1174 /* hWiIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1180 /* vcvth_n_f16_u16 */, 1196 /* hUsIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1055 /* vcvth_n_f16_u32 */, 1071 /* hUiIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1135 /* vcvth_n_f16_u64 */, 1151 /* hUWiIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{793 /* vcvth_n_s16_f16 */, 809 /* shIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{736 /* vcvth_n_s32_f16 */, 752 /* ihIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{771 /* vcvth_n_s64_f16 */, 787 /* WihIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{901 /* vcvth_n_u16_f16 */, 917 /* UshIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{842 /* vcvth_n_u32_f16 */, 858 /* UihIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{878 /* vcvth_n_u64_f16 */, 894 /* UWihIi */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{708 /* vcvth_s16_f16 */, 344 /* sh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{722 /* vcvth_s32_f16 */, 362 /* ih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{757 /* vcvth_s64_f16 */, 380 /* Wih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{814 /* vcvth_u16_f16 */, 197 /* Ush */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{828 /* vcvth_u32_f16 */, 414 /* Uih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{864 /* vcvth_u64_f16 */, 433 /* UWih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{438 /* vcvtmh_s16_f16 */, 344 /* sh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{453 /* vcvtmh_s32_f16 */, 362 /* ih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{468 /* vcvtmh_s64_f16 */, 380 /* Wih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{483 /* vcvtmh_u16_f16 */, 197 /* Ush */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{498 /* vcvtmh_u32_f16 */, 414 /* Uih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{513 /* vcvtmh_u64_f16 */, 433 /* UWih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{528 /* vcvtnh_s16_f16 */, 344 /* sh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{543 /* vcvtnh_s32_f16 */, 362 /* ih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{558 /* vcvtnh_s64_f16 */, 380 /* Wih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{573 /* vcvtnh_u16_f16 */, 197 /* Ush */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{588 /* vcvtnh_u32_f16 */, 414 /* Uih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{603 /* vcvtnh_u64_f16 */, 433 /* UWih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{618 /* vcvtph_s16_f16 */, 344 /* sh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{633 /* vcvtph_s32_f16 */, 362 /* ih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{648 /* vcvtph_s64_f16 */, 380 /* Wih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{663 /* vcvtph_u16_f16 */, 197 /* Ush */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{678 /* vcvtph_u32_f16 */, 414 /* Uih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{693 /* vcvtph_u64_f16 */, 433 /* UWih */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{3 /* vdivh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1233 /* vfmah_f16 */, 1243 /* hhhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1248 /* vfmsh_f16 */, 1243 /* hhhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1258 /* vmaxh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{26 /* vmaxnmh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1268 /* vminh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{38 /* vminnmh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1278 /* vmulh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{140 /* vmulxh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1288 /* vnegh_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{923 /* vrecpeh_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{935 /* vrecpsh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{947 /* vrecpxh_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{50 /* vrndah_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{119 /* vrndh_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{64 /* vrndih_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{75 /* vrndmh_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{86 /* vrndnh_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{97 /* vrndph_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{108 /* vrndxh_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{959 /* vrsqrteh_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{972 /* vrsqrtsh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{129 /* vsqrth_f16 */, 61 /* hh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
    Builtin::Info{Builtin::Info::StrOffsets{1298 /* vsubh_f16 */, 13 /* hhh */, 1 /* n */, 17 /* fullfp16 */}, HeaderDesc::NO_HEADER, ALL_LANGUAGES},
#endif // GET_NEON_BUILTIN_INFOS

#ifdef GET_NEON_OVERLOAD_CHECK
#endif

#ifdef GET_NEON_STREAMING_COMPAT_FLAG
case NEON::BI__builtin_neon_vdivh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vmaxnmh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vminnmh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrndah_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrndih_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrndmh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrndnh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrndph_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrndxh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrndh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vsqrth_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vmulxh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vabdh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vabsh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vceqh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vceqzh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcgeh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcgezh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcgth_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcgtzh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcleh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vclezh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vclth_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcltzh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcageh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcagth_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcaleh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcalth_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtah_s16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtah_s32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtah_s64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtah_u16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtah_u32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtah_u64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtmh_s16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtmh_s32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtmh_s64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtmh_u16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtmh_u32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtmh_u64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtnh_s16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtnh_s32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtnh_s64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtnh_u16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtnh_u32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtnh_u64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtph_s16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtph_s32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtph_s64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtph_u16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtph_u32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvtph_u64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_s16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_s32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_s32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_s64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_s64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_s16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_u16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_u32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_u32_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_u64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_u64_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_u16_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrecpeh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrecpsh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrecpxh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrsqrteh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vrsqrtsh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_f16_u16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_f16_s16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_f16_u32: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_f16_s32: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_f16_u32: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_f16_s32: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_f16_u64: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_f16_s64: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_f16_u64: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_f16_s64: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_f16_u16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vcvth_n_f16_s16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vaddh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vfmah_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vfmsh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vmaxh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vminh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vmulh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vnegh_f16: BuiltinType = ArmNonStreaming; break;
case NEON::BI__builtin_neon_vsubh_f16: BuiltinType = ArmNonStreaming; break;
#endif

#ifdef GET_NEON_IMMEDIATE_CHECK
case NEON::BI__builtin_neon_vcvth_n_s32_f16:
 ImmChecks.emplace_back(1, 8, 16, 64);
 break;
case NEON::BI__builtin_neon_vcvth_n_s64_f16:
 ImmChecks.emplace_back(1, 8, 16, 64);
 break;
case NEON::BI__builtin_neon_vcvth_n_s16_f16:
 ImmChecks.emplace_back(1, 8, 16, 64);
 break;
case NEON::BI__builtin_neon_vcvth_n_u32_f16:
 ImmChecks.emplace_back(1, 8, 16, 64);
 break;
case NEON::BI__builtin_neon_vcvth_n_u64_f16:
 ImmChecks.emplace_back(1, 8, 16, 64);
 break;
case NEON::BI__builtin_neon_vcvth_n_u16_f16:
 ImmChecks.emplace_back(1, 8, 16, 64);
 break;
case NEON::BI__builtin_neon_vcvth_n_f16_u32:
 ImmChecks.emplace_back(1, 1, 0, 0);
 break;
case NEON::BI__builtin_neon_vcvth_n_f16_s32:
 ImmChecks.emplace_back(1, 1, 0, 0);
 break;
case NEON::BI__builtin_neon_vcvth_n_f16_u64:
 ImmChecks.emplace_back(1, 1, 0, 0);
 break;
case NEON::BI__builtin_neon_vcvth_n_f16_s64:
 ImmChecks.emplace_back(1, 1, 0, 0);
 break;
case NEON::BI__builtin_neon_vcvth_n_f16_u16:
 ImmChecks.emplace_back(1, 1, 0, 0);
 break;
case NEON::BI__builtin_neon_vcvth_n_f16_s16:
 ImmChecks.emplace_back(1, 1, 0, 0);
 break;
#endif

