From 7ac715fd3118362f14574c312b044d22e3afeee9 Mon Sep 17 00:00:00 2001 From: Sirish Pande Date: Mon, 16 Apr 2012 17:04:05 +0000 Subject: [PATCH] Hexagon V5(Floating Point) support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154828 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/BuiltinsHexagon.def | 1542 +++++++++++++---------- include/clang/Driver/Options.td | 2 + lib/Basic/Targets.cpp | 13 +- lib/CodeGen/CGBuiltin.cpp | 904 ++++++++++--- lib/Driver/Tools.cpp | 6 + 5 files changed, 1624 insertions(+), 843 deletions(-) diff --git a/include/clang/Basic/BuiltinsHexagon.def b/include/clang/Basic/BuiltinsHexagon.def index 334224f7ca..34d080fd7e 100644 --- a/include/clang/Basic/BuiltinsHexagon.def +++ b/include/clang/Basic/BuiltinsHexagon.def @@ -1,689 +1,859 @@ -//==--- BuiltinsHexagon.def - Hexagon Builtin function database --*- C++ -*-==// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines the X86-specific builtin function database. Users of -// this file must define the BUILTIN macro to make use of this information. -// -//===----------------------------------------------------------------------===// - -BUILTIN(__builtin_HEXAGON_C2_cmpeq, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_cmpgt, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_cmpgtu, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_cmpeqp, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_C2_cmpgtp, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_C2_cmpgtup, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_C2_bitsset, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_bitsclr, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_cmpeqi, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_cmpgti, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_cmpgtui, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_cmpgei, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_cmpgeui, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_cmplt, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_cmpltu, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_bitsclri, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_and, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_or, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_xor, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_andn, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_not, "bi", "") -BUILTIN(__builtin_HEXAGON_C2_orn, "bii", "") -BUILTIN(__builtin_HEXAGON_C2_pxfer_map, "bi", "") -BUILTIN(__builtin_HEXAGON_C2_any8, "bi", "") -BUILTIN(__builtin_HEXAGON_C2_all8, "bi", "") -BUILTIN(__builtin_HEXAGON_C2_vitpack, "iii", "") -BUILTIN(__builtin_HEXAGON_C2_mux, "iiii", "") -BUILTIN(__builtin_HEXAGON_C2_muxii, "iiii", "") -BUILTIN(__builtin_HEXAGON_C2_muxir, "iiii", "") -BUILTIN(__builtin_HEXAGON_C2_muxri, "iiii", "") -BUILTIN(__builtin_HEXAGON_C2_vmux, "LLiiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_C2_mask, "LLii", "") -BUILTIN(__builtin_HEXAGON_A2_vcmpbeq, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vcmpbgtu, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vcmpheq, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vcmphgt, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vcmphgtu, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vcmpweq, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vcmpwgt, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vcmpwgtu, "bLLiLLi", "") -BUILTIN(__builtin_HEXAGON_C2_tfrpr, "ii", "") -BUILTIN(__builtin_HEXAGON_C2_tfrrp, "bi", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_hh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_hh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_hl_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_hl_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_lh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_lh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_ll_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_ll_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_hh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_hh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_hl_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_hl_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_lh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_lh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_ll_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_ll_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_hh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_hh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_hl_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_hl_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_lh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_lh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_ll_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_ll_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_hh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_hh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_hl_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_hl_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_lh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_lh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_ll_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_ll_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_hh_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_hh_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_hl_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_hl_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_lh_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_lh_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_ll_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_ll_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_hh_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_hh_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_hl_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_hl_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_lh_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_lh_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_ll_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_ll_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_hh_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_hh_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_hl_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_hl_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_lh_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_lh_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_ll_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_ll_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_hh_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_hh_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_hl_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_hl_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_lh_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_lh_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_ll_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_ll_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_hh_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_hh_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_hl_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_hl_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_lh_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_lh_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_ll_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_ll_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_hh_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_hh_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_hl_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_hl_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_lh_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_lh_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_ll_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_ll_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_hh_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_hh_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_hl_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_hl_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_lh_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_lh_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_ll_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_ll_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_hh_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_hh_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_hl_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_hl_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_lh_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_lh_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_ll_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_ll_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_hh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_hh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_hl_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_hl_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_lh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_lh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_ll_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_ll_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_hh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_hh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_hl_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_hl_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_lh_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_lh_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_ll_s0, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_ll_s1, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_hh_s0, "Uiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_hh_s1, "Uiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_hl_s0, "Uiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_hl_s1, "Uiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_lh_s0, "Uiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_lh_s1, "Uiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_ll_s0, "Uiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_ll_s1, "Uiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_hh_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_hh_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_hl_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_hl_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_lh_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_lh_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_ll_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_ll_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_hh_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_hh_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_hl_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_hl_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_lh_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_lh_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_ll_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_ll_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_hh_s0, "ULLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_hh_s1, "ULLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_hl_s0, "ULLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_hl_s1, "ULLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_lh_s0, "ULLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_lh_s1, "ULLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_ll_s0, "ULLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyud_ll_s1, "ULLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpysmi, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_macsip, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_macsin, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_dpmpyss_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_dpmpyss_acc_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_dpmpyss_nac_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_dpmpyuu_s0, "ULLiii", "") -BUILTIN(__builtin_HEXAGON_M2_dpmpyuu_acc_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_dpmpyuu_nac_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_mpy_up, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyu_up, "Uiii", "") -BUILTIN(__builtin_HEXAGON_M2_dpmpyss_rnd_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyi, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mpyui, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_maci, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_acci, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_accii, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_nacci, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_naccii, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_subacc, "iiii", "") -BUILTIN(__builtin_HEXAGON_M2_vmpy2s_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_vmpy2s_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_vmac2s_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_vmac2s_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_vmpy2s_s0pack, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_vmpy2s_s1pack, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_vmac2, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_vmpy2es_s0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vmpy2es_s1, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vmac2es_s0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vmac2es_s1, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vmac2es, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vrmac_s0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vrmpy_s0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vdmpyrs_s0, "iLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vdmpyrs_s1, "iLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vdmacs_s0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vdmacs_s1, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vdmpys_s0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vdmpys_s1, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_cmpyrs_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_cmpyrs_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_cmpyrsc_s0, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_cmpyrsc_s1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_cmacs_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cmacs_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cmacsc_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cmacsc_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cmpys_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cmpys_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cmpysc_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cmpysc_s1, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cnacs_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cnacs_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cnacsc_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cnacsc_s1, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmpys_s1, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmpys_acc_s1, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmpys_s1rp, "iLLii", "") -BUILTIN(__builtin_HEXAGON_M2_mmacls_s0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmacls_s1, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmachs_s0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmachs_s1, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyl_s0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyl_s1, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyh_s0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyh_s1, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmacls_rs0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmacls_rs1, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmachs_rs0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmachs_rs1, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyl_rs0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyl_rs1, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyh_rs0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyh_rs1, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_hmmpyl_rs1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_hmmpyh_rs1, "iii", "") -BUILTIN(__builtin_HEXAGON_M2_mmaculs_s0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmaculs_s1, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmacuhs_s0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmacuhs_s1, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyul_s0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyul_s1, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyuh_s0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyuh_s1, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmaculs_rs0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmaculs_rs1, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmacuhs_rs0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmacuhs_rs1, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyul_rs0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyul_rs1, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyuh_rs0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_mmpyuh_rs1, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmaci_s0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmacr_s0, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmaci_s0c, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmacr_s0c, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_cmaci_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cmacr_s0, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmpyi_s0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmpyr_s0, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmpyi_s0c, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vrcmpyr_s0c, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_cmpyi_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_cmpyr_s0, "LLiii", "") -BUILTIN(__builtin_HEXAGON_M2_vcmpy_s0_sat_i, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vcmpy_s0_sat_r, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vcmpy_s1_sat_i, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vcmpy_s1_sat_r, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vcmac_s0_sat_i, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vcmac_s0_sat_r, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vcrotate, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_A2_add, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_sub, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addsat, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subsat, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addi, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_l16_ll, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_l16_hl, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_l16_sat_ll, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_l16_sat_hl, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_l16_ll, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_l16_hl, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_l16_sat_ll, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_l16_sat_hl, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_h16_ll, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_h16_lh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_h16_hl, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_h16_hh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_h16_sat_ll, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_h16_sat_lh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_h16_sat_hl, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_addh_h16_sat_hh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_h16_ll, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_h16_lh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_h16_hl, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_h16_hh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_h16_sat_ll, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_h16_sat_lh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_h16_sat_hl, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_subh_h16_sat_hh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_aslh, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_asrh, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_addp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_addpsat, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_addsp, "LLiiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_subp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_neg, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_negsat, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_abs, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_abssat, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_vconj, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_negp, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_absp, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_max, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_maxu, "Uiii", "") -BUILTIN(__builtin_HEXAGON_A2_min, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_minu, "Uiii", "") -BUILTIN(__builtin_HEXAGON_A2_maxp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_maxup, "ULLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_minp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_minup, "ULLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_tfr, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_tfrsi, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_tfrp, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_tfrpi, "LLii", "") -BUILTIN(__builtin_HEXAGON_A2_zxtb, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_sxtb, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_zxth, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_sxth, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_combinew, "LLiii", "") -BUILTIN(__builtin_HEXAGON_A2_combineii, "LLiii", "") -BUILTIN(__builtin_HEXAGON_A2_combine_hh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_combine_hl, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_combine_lh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_combine_ll, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_tfril, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_tfrih, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_and, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_or, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_xor, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_not, "ii", "") -BUILTIN(__builtin_HEXAGON_M2_xor_xacc, "iiii", "") -BUILTIN(__builtin_HEXAGON_A2_subri, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_andir, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_orir, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_andp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_orp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_xorp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_notp, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_sxtw, "LLii", "") -BUILTIN(__builtin_HEXAGON_A2_sat, "iLLi", "") -BUILTIN(__builtin_HEXAGON_A2_sath, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_satuh, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_satub, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_satb, "ii", "") -BUILTIN(__builtin_HEXAGON_A2_vaddub, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vaddubs, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vaddh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vaddhs, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vadduhs, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vaddw, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vaddws, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_svavgh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_svavghs, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_svnavgh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_svaddh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_svaddhs, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_svadduhs, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_svsubh, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_svsubhs, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_svsubuhs, "iii", "") -BUILTIN(__builtin_HEXAGON_A2_vraddub, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vraddub_acc, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vradduh, "iLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vsubub, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vsububs, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vsubh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vsubhs, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vsubuhs, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vsubw, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vsubws, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vabsh, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vabshsat, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vabsw, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vabswsat, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vabsdiffw, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_M2_vabsdiffh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vrsadub, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vrsadub_acc, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavgub, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavguh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavgh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vnavgh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavgw, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vnavgw, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavgwr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vnavgwr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavgwcr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vnavgwcr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavghcr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vnavghcr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavguw, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavguwr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavgubr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavguhr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vavghr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vnavghr, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vminh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vmaxh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vminub, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vmaxub, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vminuh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vmaxuh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vminw, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vmaxw, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vminuw, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A2_vmaxuw, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_r, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_r, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_r, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_r, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_p, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_p, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_p, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_p, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_r_acc, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_r_acc, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_r_acc, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_r_acc, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_p_acc, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_p_acc, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_p_acc, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_p_acc, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_r_nac, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_r_nac, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_r_nac, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_r_nac, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_p_nac, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_p_nac, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_p_nac, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_p_nac, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_r_and, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_r_and, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_r_and, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_r_and, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_r_or, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_r_or, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_r_or, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_r_or, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_p_and, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_p_and, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_p_and, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_p_and, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_p_or, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_p_or, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_p_or, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_p_or, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_r_sat, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_r_sat, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_r, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_r, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_r, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_p, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_p, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_p, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_r_acc, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_r_acc, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_r_acc, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_p_acc, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_p_acc, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_p_acc, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_r_nac, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_r_nac, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_r_nac, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_p_nac, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_p_nac, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_p_nac, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_r_xacc, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_r_xacc, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_p_xacc, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_p_xacc, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_r_and, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_r_and, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_r_and, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_r_or, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_r_or, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_r_or, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_p_and, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_p_and, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_p_and, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_p_or, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_p_or, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_p_or, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_r_sat, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_r_rnd, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_r_rnd_goodsyntax, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_addasl_rrri, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_valignib, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_valignrb, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_vspliceib, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_vsplicerb, "LLiLLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_vsplatrh, "LLii", "") -BUILTIN(__builtin_HEXAGON_S2_vsplatrb, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_insert, "iiiii", "") -BUILTIN(__builtin_HEXAGON_S2_tableidxb_goodsyntax, "iiiii", "") -BUILTIN(__builtin_HEXAGON_S2_tableidxh_goodsyntax, "iiiii", "") -BUILTIN(__builtin_HEXAGON_S2_tableidxw_goodsyntax, "iiiii", "") -BUILTIN(__builtin_HEXAGON_S2_tableidxd_goodsyntax, "iiiii", "") -BUILTIN(__builtin_HEXAGON_S2_extractu, "iiii", "") -BUILTIN(__builtin_HEXAGON_S2_insertp, "LLiLLiLLiii", "") -BUILTIN(__builtin_HEXAGON_S2_extractup, "LLiLLiii", "") -BUILTIN(__builtin_HEXAGON_S2_insert_rp, "iiiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_extractu_rp, "iiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_insertp_rp, "LLiLLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_extractup_rp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_tstbit_i, "bii", "") -BUILTIN(__builtin_HEXAGON_S2_setbit_i, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_togglebit_i, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_clrbit_i, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_tstbit_r, "bii", "") -BUILTIN(__builtin_HEXAGON_S2_setbit_r, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_togglebit_r, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_clrbit_r, "iii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_vh, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_vh, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_vh, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_vh, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_vh, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_vh, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_vh, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_vw, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_i_svw_trun, "iLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_svw_trun, "iLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_i_vw, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_i_vw, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asr_r_vw, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_asl_r_vw, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsr_r_vw, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_lsl_r_vw, "LLiLLii", "") -BUILTIN(__builtin_HEXAGON_S2_vrndpackwh, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vrndpackwhs, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vsxtbh, "LLii", "") -BUILTIN(__builtin_HEXAGON_S2_vzxtbh, "LLii", "") -BUILTIN(__builtin_HEXAGON_S2_vsathub, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_svsathub, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_svsathb, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_vsathb, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vtrunohb, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vtrunewh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vtrunowh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vtrunehb, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vsxthw, "LLii", "") -BUILTIN(__builtin_HEXAGON_S2_vzxthw, "LLii", "") -BUILTIN(__builtin_HEXAGON_S2_vsatwh, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vsatwuh, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_packhl, "LLiii", "") -BUILTIN(__builtin_HEXAGON_A2_swiz, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_vsathub_nopack, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vsathb_nopack, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vsatwh_nopack, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_vsatwuh_nopack, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_shuffob, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_shuffeb, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_shuffoh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_shuffeh, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_parityp, "iLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_lfsp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_clbnorm, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_clb, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_cl0, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_cl1, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_clbp, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_cl0p, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_cl1p, "iLLi", "") -BUILTIN(__builtin_HEXAGON_S2_brev, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_ct0, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_ct1, "ii", "") -BUILTIN(__builtin_HEXAGON_S2_interleave, "LLiLLi", "") -BUILTIN(__builtin_HEXAGON_S2_deinterleave, "LLiLLi", "") +// This one below is not generated from the autogenerated iset.py. +// So make sure you donot overwrite this one. BUILTIN(__builtin_SI_to_SXTHI_asrh, "ii", "") +BUILTIN(__builtin_circ_ldd, "LLi*LLi*LLi*ii", "") +// This one above is not generated from the autogenerated iset.py. +// So make sure you donot overwrite this one. -BUILTIN(__builtin_M2_vrcmpys_s1, "LLiLLii", "") -BUILTIN(__builtin_M2_vrcmpys_acc_s1, "LLiLLiLLii", "") -BUILTIN(__builtin_M2_vrcmpys_s1rp, "iLLii", "") - -BUILTIN(__builtin_M2_vradduh, "iLLiLLi", "") -BUILTIN(__builtin_A2_addsp, "LLiiLLi", "") -BUILTIN(__builtin_A2_addpsat, "LLiLLiLLi", "") - -BUILTIN(__builtin_A2_maxp, "LLiLLiLLi", "") -BUILTIN(__builtin_A2_maxup, "LLiLLiLLi", "") - -BUILTIN(__builtin_HEXAGON_A4_orn, "iii", "") -BUILTIN(__builtin_HEXAGON_A4_andn, "iii", "") -BUILTIN(__builtin_HEXAGON_A4_ornp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A4_andnp, "LLiLLiLLi", "") -BUILTIN(__builtin_HEXAGON_A4_combineir, "LLiii", "") -BUILTIN(__builtin_HEXAGON_A4_combineri, "LLiii", "") -BUILTIN(__builtin_HEXAGON_C4_cmpneqi, "bii", "") -BUILTIN(__builtin_HEXAGON_C4_cmpneq, "bii", "") -BUILTIN(__builtin_HEXAGON_C4_cmpltei, "bii", "") -BUILTIN(__builtin_HEXAGON_C4_cmplte, "bii", "") -BUILTIN(__builtin_HEXAGON_C4_cmplteui, "bii", "") -BUILTIN(__builtin_HEXAGON_C4_cmplteu, "bii", "") -BUILTIN(__builtin_HEXAGON_A4_rcmpneq, "iii", "") -BUILTIN(__builtin_HEXAGON_A4_rcmpneqi, "iii", "") -BUILTIN(__builtin_HEXAGON_A4_rcmpeq, "iii", "") -BUILTIN(__builtin_HEXAGON_A4_rcmpeqi, "iii", "") -BUILTIN(__builtin_HEXAGON_C4_fastcorner9, "bii", "") -BUILTIN(__builtin_HEXAGON_C4_fastcorner9_not, "bii", "") -BUILTIN(__builtin_HEXAGON_C4_and_andn, "biii", "") -BUILTIN(__builtin_HEXAGON_C4_and_and, "biii", "") -BUILTIN(__builtin_HEXAGON_C4_and_orn, "biii", "") -BUILTIN(__builtin_HEXAGON_C4_and_or, "biii", "") -BUILTIN(__builtin_HEXAGON_C4_or_andn, "biii", "") -BUILTIN(__builtin_HEXAGON_C4_or_and, "biii", "") -BUILTIN(__builtin_HEXAGON_C4_or_orn, "biii", "") -BUILTIN(__builtin_HEXAGON_C4_or_or, "biii", "") -BUILTIN(__builtin_HEXAGON_S4_addaddi, "iiii", "") -BUILTIN(__builtin_HEXAGON_S4_subaddi, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_xor_xacc, "LLiLLiLLiLLi", "") - -BUILTIN(__builtin_HEXAGON_M4_and_and, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_and_or, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_and_xor, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_and_andn, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_xor_and, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_xor_or, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_xor_andn, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_or_and, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_or_or, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_or_xor, "iiii", "") -BUILTIN(__builtin_HEXAGON_M4_or_andn, "iiii", "") -BUILTIN(__builtin_HEXAGON_S4_or_andix, "iiii", "") -BUILTIN(__builtin_HEXAGON_S4_or_andi, "iiii", "") -BUILTIN(__builtin_HEXAGON_S4_or_ori, "iiii", "") - -BUILTIN(__builtin_HEXAGON_A4_modwrapu, "iii", "") - -BUILTIN(__builtin_HEXAGON_A4_cround_ri, "iii", "") -BUILTIN(__builtin_HEXAGON_A4_cround_rr, "iii", "") -BUILTIN(__builtin_HEXAGON_A4_round_ri, "iii", "") -BUILTIN(__builtin_HEXAGON_A4_round_rr, "iii", "") -BUILTIN(__builtin_HEXAGON_A4_round_ri_sat, "iii", "") -BUILTIN(__builtin_HEXAGON_A4_round_rr_sat, "iii", "") - -#undef BUILTIN +BUILTIN(__builtin_HEXAGON_C2_cmpeq,"bii","") +BUILTIN(__builtin_HEXAGON_C2_cmpgt,"bii","") +BUILTIN(__builtin_HEXAGON_C2_cmpgtu,"bii","") +BUILTIN(__builtin_HEXAGON_C2_cmpeqp,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_C2_cmpgtp,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_C2_cmpgtup,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A4_rcmpeqi,"iii","") +BUILTIN(__builtin_HEXAGON_A4_rcmpneqi,"iii","") +BUILTIN(__builtin_HEXAGON_A4_rcmpeq,"iii","") +BUILTIN(__builtin_HEXAGON_A4_rcmpneq,"iii","") +BUILTIN(__builtin_HEXAGON_C2_bitsset,"bii","") +BUILTIN(__builtin_HEXAGON_C2_bitsclr,"bii","") +BUILTIN(__builtin_HEXAGON_C4_nbitsset,"bii","") +BUILTIN(__builtin_HEXAGON_C4_nbitsclr,"bii","") +BUILTIN(__builtin_HEXAGON_C2_cmpeqi,"bii","") +BUILTIN(__builtin_HEXAGON_C2_cmpgti,"bii","") +BUILTIN(__builtin_HEXAGON_C2_cmpgtui,"bii","") +BUILTIN(__builtin_HEXAGON_C2_cmpgei,"bii","") +BUILTIN(__builtin_HEXAGON_C2_cmpgeui,"bii","") +BUILTIN(__builtin_HEXAGON_C2_cmplt,"bii","") +BUILTIN(__builtin_HEXAGON_C2_cmpltu,"bii","") +BUILTIN(__builtin_HEXAGON_C2_bitsclri,"bii","") +BUILTIN(__builtin_HEXAGON_C4_nbitsclri,"bii","") +BUILTIN(__builtin_HEXAGON_C4_cmpneqi,"bii","") +BUILTIN(__builtin_HEXAGON_C4_cmpltei,"bii","") +BUILTIN(__builtin_HEXAGON_C4_cmplteui,"bii","") +BUILTIN(__builtin_HEXAGON_C4_cmpneq,"bii","") +BUILTIN(__builtin_HEXAGON_C4_cmplte,"bii","") +BUILTIN(__builtin_HEXAGON_C4_cmplteu,"bii","") +BUILTIN(__builtin_HEXAGON_C2_and,"bii","") +BUILTIN(__builtin_HEXAGON_C2_or,"bii","") +BUILTIN(__builtin_HEXAGON_C2_xor,"bii","") +BUILTIN(__builtin_HEXAGON_C2_andn,"bii","") +BUILTIN(__builtin_HEXAGON_C2_not,"bi","") +BUILTIN(__builtin_HEXAGON_C2_orn,"bii","") +BUILTIN(__builtin_HEXAGON_C4_and_and,"biii","") +BUILTIN(__builtin_HEXAGON_C4_and_or,"biii","") +BUILTIN(__builtin_HEXAGON_C4_or_and,"biii","") +BUILTIN(__builtin_HEXAGON_C4_or_or,"biii","") +BUILTIN(__builtin_HEXAGON_C4_and_andn,"biii","") +BUILTIN(__builtin_HEXAGON_C4_and_orn,"biii","") +BUILTIN(__builtin_HEXAGON_C4_or_andn,"biii","") +BUILTIN(__builtin_HEXAGON_C4_or_orn,"biii","") +BUILTIN(__builtin_HEXAGON_C2_pxfer_map,"bi","") +BUILTIN(__builtin_HEXAGON_C2_any8,"bi","") +BUILTIN(__builtin_HEXAGON_C2_all8,"bi","") +BUILTIN(__builtin_HEXAGON_C2_vitpack,"iii","") +BUILTIN(__builtin_HEXAGON_C2_mux,"iiii","") +BUILTIN(__builtin_HEXAGON_C2_muxii,"iiii","") +BUILTIN(__builtin_HEXAGON_C2_muxir,"iiii","") +BUILTIN(__builtin_HEXAGON_C2_muxri,"iiii","") +BUILTIN(__builtin_HEXAGON_C2_vmux,"LLiiLLiLLi","") +BUILTIN(__builtin_HEXAGON_C2_mask,"LLii","") +BUILTIN(__builtin_HEXAGON_A2_vcmpbeq,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A4_vcmpbeqi,"bLLii","") +BUILTIN(__builtin_HEXAGON_A4_vcmpbeq_any,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vcmpbgtu,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A4_vcmpbgtui,"bLLii","") +BUILTIN(__builtin_HEXAGON_A4_vcmpbgt,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A4_vcmpbgti,"bLLii","") +BUILTIN(__builtin_HEXAGON_A4_cmpbeq,"bii","") +BUILTIN(__builtin_HEXAGON_A4_cmpbeqi,"bii","") +BUILTIN(__builtin_HEXAGON_A4_cmpbgtu,"bii","") +BUILTIN(__builtin_HEXAGON_A4_cmpbgtui,"bii","") +BUILTIN(__builtin_HEXAGON_A4_cmpbgt,"bii","") +BUILTIN(__builtin_HEXAGON_A4_cmpbgti,"bii","") +BUILTIN(__builtin_HEXAGON_A2_vcmpheq,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vcmphgt,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vcmphgtu,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A4_vcmpheqi,"bLLii","") +BUILTIN(__builtin_HEXAGON_A4_vcmphgti,"bLLii","") +BUILTIN(__builtin_HEXAGON_A4_vcmphgtui,"bLLii","") +BUILTIN(__builtin_HEXAGON_A4_cmpheq,"bii","") +BUILTIN(__builtin_HEXAGON_A4_cmphgt,"bii","") +BUILTIN(__builtin_HEXAGON_A4_cmphgtu,"bii","") +BUILTIN(__builtin_HEXAGON_A4_cmpheqi,"bii","") +BUILTIN(__builtin_HEXAGON_A4_cmphgti,"bii","") +BUILTIN(__builtin_HEXAGON_A4_cmphgtui,"bii","") +BUILTIN(__builtin_HEXAGON_A2_vcmpweq,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vcmpwgt,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vcmpwgtu,"bLLiLLi","") +BUILTIN(__builtin_HEXAGON_A4_vcmpweqi,"bLLii","") +BUILTIN(__builtin_HEXAGON_A4_vcmpwgti,"bLLii","") +BUILTIN(__builtin_HEXAGON_A4_vcmpwgtui,"bLLii","") +BUILTIN(__builtin_HEXAGON_A4_boundscheck,"biLLi","") +BUILTIN(__builtin_HEXAGON_A4_tlbmatch,"bLLii","") +BUILTIN(__builtin_HEXAGON_C2_tfrpr,"ii","") +BUILTIN(__builtin_HEXAGON_C2_tfrrp,"bi","") +BUILTIN(__builtin_HEXAGON_C4_fastcorner9,"bii","") +BUILTIN(__builtin_HEXAGON_C4_fastcorner9_not,"bii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_hh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_hh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_hl_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_hl_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_lh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_lh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_ll_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_ll_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_hh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_hh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_hl_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_hl_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_lh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_lh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_ll_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_ll_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_hh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_hh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_hl_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_hl_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_lh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_lh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_ll_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_acc_sat_ll_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_hh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_hh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_hl_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_hl_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_lh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_lh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_ll_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_nac_sat_ll_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_hh_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_hh_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_hl_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_hl_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_lh_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_lh_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_ll_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_ll_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_hh_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_hh_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_hl_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_hl_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_lh_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_lh_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_ll_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_ll_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_hh_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_hh_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_hl_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_hl_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_lh_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_lh_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_ll_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_rnd_ll_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_hh_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_hh_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_hl_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_hl_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_lh_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_lh_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_ll_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_sat_rnd_ll_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_hh_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_hh_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_hl_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_hl_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_lh_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_lh_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_ll_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_acc_ll_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_hh_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_hh_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_hl_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_hl_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_lh_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_lh_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_ll_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_nac_ll_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_hh_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_hh_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_hl_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_hl_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_lh_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_lh_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_ll_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_ll_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_hh_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_hh_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_hl_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_hl_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_lh_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_lh_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_ll_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyd_rnd_ll_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_hh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_hh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_hl_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_hl_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_lh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_lh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_ll_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_acc_ll_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_hh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_hh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_hl_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_hl_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_lh_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_lh_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_ll_s0,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_nac_ll_s1,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_hh_s0,"Uiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_hh_s1,"Uiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_hl_s0,"Uiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_hl_s1,"Uiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_lh_s0,"Uiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_lh_s1,"Uiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_ll_s0,"Uiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_ll_s1,"Uiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_hh_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_hh_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_hl_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_hl_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_lh_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_lh_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_ll_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_acc_ll_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_hh_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_hh_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_hl_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_hl_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_lh_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_lh_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_ll_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_nac_ll_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_hh_s0,"ULLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_hh_s1,"ULLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_hl_s0,"ULLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_hl_s1,"ULLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_lh_s0,"ULLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_lh_s1,"ULLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_ll_s0,"ULLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyud_ll_s1,"ULLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpysmi,"iii","") +BUILTIN(__builtin_HEXAGON_M2_macsip,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_macsin,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_dpmpyss_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_dpmpyss_acc_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_dpmpyss_nac_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_dpmpyuu_s0,"ULLiii","") +BUILTIN(__builtin_HEXAGON_M2_dpmpyuu_acc_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_dpmpyuu_nac_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_up,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_up_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpy_up_s1_sat,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpyu_up,"Uiii","") +BUILTIN(__builtin_HEXAGON_M2_mpysu_up,"iii","") +BUILTIN(__builtin_HEXAGON_M2_dpmpyss_rnd_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M4_mac_up_s1_sat,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_nac_up_s1_sat,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_mpyi,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mpyui,"iii","") +BUILTIN(__builtin_HEXAGON_M2_maci,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_acci,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_accii,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_nacci,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_naccii,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_subacc,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_mpyrr_addr,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_mpyri_addr_u2,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_mpyri_addr,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_mpyri_addi,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_mpyrr_addi,"iiii","") +BUILTIN(__builtin_HEXAGON_M2_vmpy2s_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_vmpy2s_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_vmac2s_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_vmac2s_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_vmpy2su_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_vmpy2su_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_vmac2su_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_vmac2su_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_vmpy2s_s0pack,"iii","") +BUILTIN(__builtin_HEXAGON_M2_vmpy2s_s1pack,"iii","") +BUILTIN(__builtin_HEXAGON_M2_vmac2,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_vmpy2es_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vmpy2es_s1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vmac2es_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vmac2es_s1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vmac2es,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vrmac_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vrmpy_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vdmpyrs_s0,"iLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vdmpyrs_s1,"iLLiLLi","") +BUILTIN(__builtin_HEXAGON_M5_vrmpybuu,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M5_vrmacbuu,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M5_vrmpybsu,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M5_vrmacbsu,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M5_vmpybuu,"LLiii","") +BUILTIN(__builtin_HEXAGON_M5_vmpybsu,"LLiii","") +BUILTIN(__builtin_HEXAGON_M5_vmacbuu,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M5_vmacbsu,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M5_vdmpybsu,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M5_vdmacbsu,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vdmacs_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vdmacs_s1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vdmpys_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vdmpys_s1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_cmpyrs_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_cmpyrs_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_cmpyrsc_s0,"iii","") +BUILTIN(__builtin_HEXAGON_M2_cmpyrsc_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_cmacs_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_cmacs_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_cmacsc_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_cmacsc_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_cmpys_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_cmpys_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_cmpysc_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_cmpysc_s1,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_cnacs_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_cnacs_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_cnacsc_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_cnacsc_s1,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_vrcmpys_s1,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_M2_vrcmpys_acc_s1,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_M2_vrcmpys_s1rp,"iLLii","") +BUILTIN(__builtin_HEXAGON_M2_mmacls_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmacls_s1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmachs_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmachs_s1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyl_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyl_s1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyh_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyh_s1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmacls_rs0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmacls_rs1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmachs_rs0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmachs_rs1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyl_rs0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyl_rs1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyh_rs0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyh_rs1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M4_vrmpyeh_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M4_vrmpyeh_s1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M4_vrmpyeh_acc_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M4_vrmpyeh_acc_s1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M4_vrmpyoh_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M4_vrmpyoh_s1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M4_vrmpyoh_acc_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M4_vrmpyoh_acc_s1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_hmmpyl_rs1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_hmmpyh_rs1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_hmmpyl_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_hmmpyh_s1,"iii","") +BUILTIN(__builtin_HEXAGON_M2_mmaculs_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmaculs_s1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmacuhs_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmacuhs_s1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyul_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyul_s1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyuh_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyuh_s1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmaculs_rs0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmaculs_rs1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmacuhs_rs0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmacuhs_rs1,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyul_rs0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyul_rs1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyuh_rs0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_mmpyuh_rs1,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vrcmaci_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vrcmacr_s0,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vrcmaci_s0c,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vrcmacr_s0c,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_cmaci_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_cmacr_s0,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M2_vrcmpyi_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vrcmpyr_s0,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vrcmpyi_s0c,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vrcmpyr_s0c,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_cmpyi_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M2_cmpyr_s0,"LLiii","") +BUILTIN(__builtin_HEXAGON_M4_cmpyi_wh,"iLLii","") +BUILTIN(__builtin_HEXAGON_M4_cmpyr_wh,"iLLii","") +BUILTIN(__builtin_HEXAGON_M4_cmpyi_whc,"iLLii","") +BUILTIN(__builtin_HEXAGON_M4_cmpyr_whc,"iLLii","") +BUILTIN(__builtin_HEXAGON_M2_vcmpy_s0_sat_i,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vcmpy_s0_sat_r,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vcmpy_s1_sat_i,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vcmpy_s1_sat_r,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vcmac_s0_sat_i,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vcmac_s0_sat_r,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_vcrotate,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S4_vrcrotate_acc,"LLiLLiLLiii","") +BUILTIN(__builtin_HEXAGON_S4_vrcrotate,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_S2_vcnegh,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_vrcnegh,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_M4_pmpyw,"LLiii","") +BUILTIN(__builtin_HEXAGON_M4_vpmpyh,"LLiii","") +BUILTIN(__builtin_HEXAGON_M4_pmpyw_acc,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_M4_vpmpyh_acc,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_A2_add,"iii","") +BUILTIN(__builtin_HEXAGON_A2_sub,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addsat,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subsat,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addi,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_l16_ll,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_l16_hl,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_l16_sat_ll,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_l16_sat_hl,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_l16_ll,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_l16_hl,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_l16_sat_ll,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_l16_sat_hl,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_h16_ll,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_h16_lh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_h16_hl,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_h16_hh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_h16_sat_ll,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_h16_sat_lh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_h16_sat_hl,"iii","") +BUILTIN(__builtin_HEXAGON_A2_addh_h16_sat_hh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_h16_ll,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_h16_lh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_h16_hl,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_h16_hh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_h16_sat_ll,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_h16_sat_lh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_h16_sat_hl,"iii","") +BUILTIN(__builtin_HEXAGON_A2_subh_h16_sat_hh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_aslh,"ii","") +BUILTIN(__builtin_HEXAGON_A2_asrh,"ii","") +BUILTIN(__builtin_HEXAGON_A2_addp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_addpsat,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_addsp,"LLiiLLi","") +BUILTIN(__builtin_HEXAGON_A2_subp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_neg,"ii","") +BUILTIN(__builtin_HEXAGON_A2_negsat,"ii","") +BUILTIN(__builtin_HEXAGON_A2_abs,"ii","") +BUILTIN(__builtin_HEXAGON_A2_abssat,"ii","") +BUILTIN(__builtin_HEXAGON_A2_vconj,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_negp,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_absp,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_max,"iii","") +BUILTIN(__builtin_HEXAGON_A2_maxu,"Uiii","") +BUILTIN(__builtin_HEXAGON_A2_min,"iii","") +BUILTIN(__builtin_HEXAGON_A2_minu,"Uiii","") +BUILTIN(__builtin_HEXAGON_A2_maxp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_maxup,"ULLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_minp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_minup,"ULLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_tfr,"ii","") +BUILTIN(__builtin_HEXAGON_A2_tfrsi,"ii","") +BUILTIN(__builtin_HEXAGON_A2_tfrp,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_tfrpi,"LLii","") +BUILTIN(__builtin_HEXAGON_A2_zxtb,"ii","") +BUILTIN(__builtin_HEXAGON_A2_sxtb,"ii","") +BUILTIN(__builtin_HEXAGON_A2_zxth,"ii","") +BUILTIN(__builtin_HEXAGON_A2_sxth,"ii","") +BUILTIN(__builtin_HEXAGON_A2_combinew,"LLiii","") +BUILTIN(__builtin_HEXAGON_A4_combineri,"LLiii","") +BUILTIN(__builtin_HEXAGON_A4_combineir,"LLiii","") +BUILTIN(__builtin_HEXAGON_A2_combineii,"LLiii","") +BUILTIN(__builtin_HEXAGON_A2_combine_hh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_combine_hl,"iii","") +BUILTIN(__builtin_HEXAGON_A2_combine_lh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_combine_ll,"iii","") +BUILTIN(__builtin_HEXAGON_A2_tfril,"iii","") +BUILTIN(__builtin_HEXAGON_A2_tfrih,"iii","") +BUILTIN(__builtin_HEXAGON_A2_and,"iii","") +BUILTIN(__builtin_HEXAGON_A2_or,"iii","") +BUILTIN(__builtin_HEXAGON_A2_xor,"iii","") +BUILTIN(__builtin_HEXAGON_A2_not,"ii","") +BUILTIN(__builtin_HEXAGON_M2_xor_xacc,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_xor_xacc,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A4_andn,"iii","") +BUILTIN(__builtin_HEXAGON_A4_orn,"iii","") +BUILTIN(__builtin_HEXAGON_A4_andnp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A4_ornp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S4_addaddi,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_subaddi,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_and_and,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_and_andn,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_and_or,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_and_xor,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_or_and,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_or_andn,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_or_or,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_or_xor,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_or_andix,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_or_andi,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_or_ori,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_xor_and,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_xor_or,"iiii","") +BUILTIN(__builtin_HEXAGON_M4_xor_andn,"iiii","") +BUILTIN(__builtin_HEXAGON_A2_subri,"iii","") +BUILTIN(__builtin_HEXAGON_A2_andir,"iii","") +BUILTIN(__builtin_HEXAGON_A2_orir,"iii","") +BUILTIN(__builtin_HEXAGON_A2_andp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_orp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_xorp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_notp,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_sxtw,"LLii","") +BUILTIN(__builtin_HEXAGON_A2_sat,"iLLi","") +BUILTIN(__builtin_HEXAGON_A2_roundsat,"iLLi","") +BUILTIN(__builtin_HEXAGON_A2_sath,"ii","") +BUILTIN(__builtin_HEXAGON_A2_satuh,"ii","") +BUILTIN(__builtin_HEXAGON_A2_satub,"ii","") +BUILTIN(__builtin_HEXAGON_A2_satb,"ii","") +BUILTIN(__builtin_HEXAGON_A2_vaddub,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vaddb_map,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vaddubs,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vaddh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vaddhs,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vadduhs,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A5_vaddhubs,"iLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vaddw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vaddws,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S4_vxaddsubw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S4_vxsubaddw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S4_vxaddsubh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S4_vxsubaddh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S4_vxaddsubhr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S4_vxsubaddhr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_svavgh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_svavghs,"iii","") +BUILTIN(__builtin_HEXAGON_A2_svnavgh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_svaddh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_svaddhs,"iii","") +BUILTIN(__builtin_HEXAGON_A2_svadduhs,"iii","") +BUILTIN(__builtin_HEXAGON_A2_svsubh,"iii","") +BUILTIN(__builtin_HEXAGON_A2_svsubhs,"iii","") +BUILTIN(__builtin_HEXAGON_A2_svsubuhs,"iii","") +BUILTIN(__builtin_HEXAGON_A2_vraddub,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vraddub_acc,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vraddh,"iLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vradduh,"iLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vsubub,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vsubb_map,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vsububs,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vsubh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vsubhs,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vsubuhs,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vsubw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vsubws,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vabsh,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vabshsat,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vabsw,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vabswsat,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vabsdiffw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_M2_vabsdiffh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vrsadub,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vrsadub_acc,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavgub,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavguh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavgh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vnavgh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavgw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vnavgw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavgwr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vnavgwr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavgwcr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vnavgwcr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavghcr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vnavghcr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavguw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavguwr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavgubr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavguhr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vavghr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vnavghr,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A4_round_ri,"iii","") +BUILTIN(__builtin_HEXAGON_A4_round_rr,"iii","") +BUILTIN(__builtin_HEXAGON_A4_round_ri_sat,"iii","") +BUILTIN(__builtin_HEXAGON_A4_round_rr_sat,"iii","") +BUILTIN(__builtin_HEXAGON_A4_cround_ri,"iii","") +BUILTIN(__builtin_HEXAGON_A4_cround_rr,"iii","") +BUILTIN(__builtin_HEXAGON_A4_vrminh,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_A4_vrmaxh,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_A4_vrminuh,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_A4_vrmaxuh,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_A4_vrminw,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_A4_vrmaxw,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_A4_vrminuw,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_A4_vrmaxuw,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_A2_vminb,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vmaxb,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vminub,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vmaxub,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vminh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vmaxh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vminuh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vmaxuh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vminw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vmaxw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vminuw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A2_vmaxuw,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_A4_modwrapu,"iii","") +BUILTIN(__builtin_HEXAGON_F2_sfadd,"fff","") +BUILTIN(__builtin_HEXAGON_F2_sfsub,"fff","") +BUILTIN(__builtin_HEXAGON_F2_sfmpy,"fff","") +BUILTIN(__builtin_HEXAGON_F2_sffma,"ffff","") +BUILTIN(__builtin_HEXAGON_F2_sffma_sc,"ffffi","") +BUILTIN(__builtin_HEXAGON_F2_sffms,"ffff","") +BUILTIN(__builtin_HEXAGON_F2_sffma_lib,"ffff","") +BUILTIN(__builtin_HEXAGON_F2_sffms_lib,"ffff","") +BUILTIN(__builtin_HEXAGON_F2_sfcmpeq,"bff","") +BUILTIN(__builtin_HEXAGON_F2_sfcmpgt,"bff","") +BUILTIN(__builtin_HEXAGON_F2_sfcmpge,"bff","") +BUILTIN(__builtin_HEXAGON_F2_sfcmpuo,"bff","") +BUILTIN(__builtin_HEXAGON_F2_sfmax,"fff","") +BUILTIN(__builtin_HEXAGON_F2_sfmin,"fff","") +BUILTIN(__builtin_HEXAGON_F2_sfclass,"bfi","") +BUILTIN(__builtin_HEXAGON_F2_sfimm_p,"fi","") +BUILTIN(__builtin_HEXAGON_F2_sfimm_n,"fi","") +BUILTIN(__builtin_HEXAGON_F2_sffixupn,"fff","") +BUILTIN(__builtin_HEXAGON_F2_sffixupd,"fff","") +BUILTIN(__builtin_HEXAGON_F2_sffixupr,"ff","") +BUILTIN(__builtin_HEXAGON_F2_dfadd,"ddd","") +BUILTIN(__builtin_HEXAGON_F2_dfsub,"ddd","") +BUILTIN(__builtin_HEXAGON_F2_dfmpy,"ddd","") +BUILTIN(__builtin_HEXAGON_F2_dffma,"dddd","") +BUILTIN(__builtin_HEXAGON_F2_dffms,"dddd","") +BUILTIN(__builtin_HEXAGON_F2_dffma_lib,"dddd","") +BUILTIN(__builtin_HEXAGON_F2_dffms_lib,"dddd","") +BUILTIN(__builtin_HEXAGON_F2_dffma_sc,"ddddi","") +BUILTIN(__builtin_HEXAGON_F2_dfmax,"ddd","") +BUILTIN(__builtin_HEXAGON_F2_dfmin,"ddd","") +BUILTIN(__builtin_HEXAGON_F2_dfcmpeq,"bdd","") +BUILTIN(__builtin_HEXAGON_F2_dfcmpgt,"bdd","") +BUILTIN(__builtin_HEXAGON_F2_dfcmpge,"bdd","") +BUILTIN(__builtin_HEXAGON_F2_dfcmpuo,"bdd","") +BUILTIN(__builtin_HEXAGON_F2_dfclass,"bdi","") +BUILTIN(__builtin_HEXAGON_F2_dfimm_p,"di","") +BUILTIN(__builtin_HEXAGON_F2_dfimm_n,"di","") +BUILTIN(__builtin_HEXAGON_F2_dffixupn,"ddd","") +BUILTIN(__builtin_HEXAGON_F2_dffixupd,"ddd","") +BUILTIN(__builtin_HEXAGON_F2_dffixupr,"dd","") +BUILTIN(__builtin_HEXAGON_F2_conv_sf2df,"df","") +BUILTIN(__builtin_HEXAGON_F2_conv_df2sf,"fd","") +BUILTIN(__builtin_HEXAGON_F2_conv_uw2sf,"fi","") +BUILTIN(__builtin_HEXAGON_F2_conv_uw2df,"di","") +BUILTIN(__builtin_HEXAGON_F2_conv_w2sf,"fi","") +BUILTIN(__builtin_HEXAGON_F2_conv_w2df,"di","") +BUILTIN(__builtin_HEXAGON_F2_conv_ud2sf,"fLLi","") +BUILTIN(__builtin_HEXAGON_F2_conv_ud2df,"dLLi","") +BUILTIN(__builtin_HEXAGON_F2_conv_d2sf,"fLLi","") +BUILTIN(__builtin_HEXAGON_F2_conv_d2df,"dLLi","") +BUILTIN(__builtin_HEXAGON_F2_conv_sf2uw,"if","") +BUILTIN(__builtin_HEXAGON_F2_conv_sf2w,"if","") +BUILTIN(__builtin_HEXAGON_F2_conv_sf2ud,"LLif","") +BUILTIN(__builtin_HEXAGON_F2_conv_sf2d,"LLif","") +BUILTIN(__builtin_HEXAGON_F2_conv_df2uw,"id","") +BUILTIN(__builtin_HEXAGON_F2_conv_df2w,"id","") +BUILTIN(__builtin_HEXAGON_F2_conv_df2ud,"LLid","") +BUILTIN(__builtin_HEXAGON_F2_conv_df2d,"LLid","") +BUILTIN(__builtin_HEXAGON_F2_conv_sf2uw_chop,"if","") +BUILTIN(__builtin_HEXAGON_F2_conv_sf2w_chop,"if","") +BUILTIN(__builtin_HEXAGON_F2_conv_sf2ud_chop,"LLif","") +BUILTIN(__builtin_HEXAGON_F2_conv_sf2d_chop,"LLif","") +BUILTIN(__builtin_HEXAGON_F2_conv_df2uw_chop,"id","") +BUILTIN(__builtin_HEXAGON_F2_conv_df2w_chop,"id","") +BUILTIN(__builtin_HEXAGON_F2_conv_df2ud_chop,"LLid","") +BUILTIN(__builtin_HEXAGON_F2_conv_df2d_chop,"LLid","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_r,"iii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_r,"iii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_r,"iii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_r,"iii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_p,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_p,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_p,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_p,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_r_acc,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_r_acc,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_r_acc,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_r_acc,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_p_acc,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_p_acc,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_p_acc,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_p_acc,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_r_nac,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_r_nac,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_r_nac,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_r_nac,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_p_nac,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_p_nac,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_p_nac,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_p_nac,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_r_and,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_r_and,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_r_and,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_r_and,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_r_or,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_r_or,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_r_or,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_r_or,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_p_and,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_p_and,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_p_and,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_p_and,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_p_or,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_p_or,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_p_or,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_p_or,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_p_xor,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_p_xor,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_p_xor,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_p_xor,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_r_sat,"iii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_r_sat,"iii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_r,"iii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_r,"iii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_r,"iii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_p,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_p,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_p,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_r_acc,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_r_acc,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_r_acc,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_p_acc,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_p_acc,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_p_acc,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_r_nac,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_r_nac,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_r_nac,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_p_nac,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_p_nac,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_p_nac,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_r_xacc,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_r_xacc,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_p_xacc,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_p_xacc,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_r_and,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_r_and,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_r_and,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_r_or,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_r_or,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_r_or,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_p_and,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_p_and,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_p_and,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_p_or,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_p_or,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_p_or,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_r_sat,"iii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_r_rnd,"iii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_r_rnd_goodsyntax,"iii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_p_rnd,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_p_rnd_goodsyntax,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S4_lsli,"iii","") +BUILTIN(__builtin_HEXAGON_S2_addasl_rrri,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_andi_asl_ri,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_ori_asl_ri,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_addi_asl_ri,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_subi_asl_ri,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_andi_lsr_ri,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_ori_lsr_ri,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_addi_lsr_ri,"iiii","") +BUILTIN(__builtin_HEXAGON_S4_subi_lsr_ri,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_valignib,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_valignrb,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_vspliceib,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_vsplicerb,"LLiLLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_vsplatrh,"LLii","") +BUILTIN(__builtin_HEXAGON_S2_vsplatrb,"ii","") +BUILTIN(__builtin_HEXAGON_S2_insert,"iiiii","") +BUILTIN(__builtin_HEXAGON_S2_tableidxb_goodsyntax,"iiiii","") +BUILTIN(__builtin_HEXAGON_S2_tableidxh_goodsyntax,"iiiii","") +BUILTIN(__builtin_HEXAGON_S2_tableidxw_goodsyntax,"iiiii","") +BUILTIN(__builtin_HEXAGON_S2_tableidxd_goodsyntax,"iiiii","") +BUILTIN(__builtin_HEXAGON_A4_bitspliti,"LLiii","") +BUILTIN(__builtin_HEXAGON_A4_bitsplit,"LLiii","") +BUILTIN(__builtin_HEXAGON_S4_extract,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_extractu,"iiii","") +BUILTIN(__builtin_HEXAGON_S2_insertp,"LLiLLiLLiii","") +BUILTIN(__builtin_HEXAGON_S4_extractp,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_S2_extractup,"LLiLLiii","") +BUILTIN(__builtin_HEXAGON_S2_insert_rp,"iiiLLi","") +BUILTIN(__builtin_HEXAGON_S4_extract_rp,"iiLLi","") +BUILTIN(__builtin_HEXAGON_S2_extractu_rp,"iiLLi","") +BUILTIN(__builtin_HEXAGON_S2_insertp_rp,"LLiLLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S4_extractp_rp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_extractup_rp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_tstbit_i,"bii","") +BUILTIN(__builtin_HEXAGON_S4_ntstbit_i,"bii","") +BUILTIN(__builtin_HEXAGON_S2_setbit_i,"iii","") +BUILTIN(__builtin_HEXAGON_S2_togglebit_i,"iii","") +BUILTIN(__builtin_HEXAGON_S2_clrbit_i,"iii","") +BUILTIN(__builtin_HEXAGON_S2_tstbit_r,"bii","") +BUILTIN(__builtin_HEXAGON_S4_ntstbit_r,"bii","") +BUILTIN(__builtin_HEXAGON_S2_setbit_r,"iii","") +BUILTIN(__builtin_HEXAGON_S2_togglebit_r,"iii","") +BUILTIN(__builtin_HEXAGON_S2_clrbit_r,"iii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_vh,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_vh,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_vh,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_vh,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S5_asrhub_rnd_sat_goodsyntax,"iLLii","") +BUILTIN(__builtin_HEXAGON_S5_asrhub_sat,"iLLii","") +BUILTIN(__builtin_HEXAGON_S5_vasrhrnd_goodsyntax,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_vh,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_vh,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_vh,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_vw,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_i_svw_trun,"iLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_svw_trun,"iLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_i_vw,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_i_vw,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asr_r_vw,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_asl_r_vw,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsr_r_vw,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_lsl_r_vw,"LLiLLii","") +BUILTIN(__builtin_HEXAGON_S2_vrndpackwh,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_vrndpackwhs,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_vsxtbh,"LLii","") +BUILTIN(__builtin_HEXAGON_S2_vzxtbh,"LLii","") +BUILTIN(__builtin_HEXAGON_S2_vsathub,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_svsathub,"ii","") +BUILTIN(__builtin_HEXAGON_S2_svsathb,"ii","") +BUILTIN(__builtin_HEXAGON_S2_vsathb,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_vtrunohb,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_vtrunewh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_vtrunowh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_vtrunehb,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_vsxthw,"LLii","") +BUILTIN(__builtin_HEXAGON_S2_vzxthw,"LLii","") +BUILTIN(__builtin_HEXAGON_S2_vsatwh,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_vsatwuh,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_packhl,"LLiii","") +BUILTIN(__builtin_HEXAGON_A2_swiz,"ii","") +BUILTIN(__builtin_HEXAGON_S2_vsathub_nopack,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_vsathb_nopack,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_vsatwh_nopack,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_vsatwuh_nopack,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_shuffob,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_shuffeb,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_shuffoh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_shuffeh,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S5_popcountp,"iLLi","") +BUILTIN(__builtin_HEXAGON_S4_parity,"iii","") +BUILTIN(__builtin_HEXAGON_S2_parityp,"iLLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_lfsp,"LLiLLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_clbnorm,"ii","") +BUILTIN(__builtin_HEXAGON_S4_clbaddi,"iii","") +BUILTIN(__builtin_HEXAGON_S4_clbpnorm,"iLLi","") +BUILTIN(__builtin_HEXAGON_S4_clbpaddi,"iLLii","") +BUILTIN(__builtin_HEXAGON_S2_clb,"ii","") +BUILTIN(__builtin_HEXAGON_S2_cl0,"ii","") +BUILTIN(__builtin_HEXAGON_S2_cl1,"ii","") +BUILTIN(__builtin_HEXAGON_S2_clbp,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_cl0p,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_cl1p,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_brev,"ii","") +BUILTIN(__builtin_HEXAGON_S2_brevp,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_ct0,"ii","") +BUILTIN(__builtin_HEXAGON_S2_ct1,"ii","") +BUILTIN(__builtin_HEXAGON_S2_ct0p,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_ct1p,"iLLi","") +BUILTIN(__builtin_HEXAGON_S2_interleave,"LLiLLi","") +BUILTIN(__builtin_HEXAGON_S2_deinterleave,"LLiLLi","") diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index b7967716be..8c079d8704 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -36,6 +36,7 @@ def i_Group : OptionGroup<"">, Group; def clang_i_Group : OptionGroup<"">, Group; def m_Group : OptionGroup<"">, Group; def m_x86_Features_Group : OptionGroup<"">, Group; +def m_hexagon_Features_Group : OptionGroup<"">, Group; def u_Group : OptionGroup<"">; def pedantic_Group : OptionGroup<"">, @@ -951,6 +952,7 @@ def _warn_ : Joined<"--warn-">, Alias; def _write_dependencies : Flag<"--write-dependencies">, Alias; def _write_user_dependencies : Flag<"--write-user-dependencies">, Alias; def _ : Joined<"--">, Flags<[Unsupported]>; +def mieee_rnd_near : Flag<"-mieee-rnd-near">, Group; // Special internal option to handle -Xlinker --no-demangle. def Z_Xlinker__no_demangle : Flag<"-Z-Xlinker-no-demangle">, diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 1ad37c4e57..5856d1ddfc 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -3015,8 +3015,8 @@ public: HexagonTargetInfo(const std::string& triple) : TargetInfo(triple) { BigEndian = false; DescriptionString = ("e-p:32:32:32-" - "i64:64:64-i32:32:32-" - "i16:16:16-i1:32:32-a:0:0"); + "i64:64:64-i32:32:32-i16:16:16-i1:32:32" + "f64:64:64-f32:32:32-a0:0-n32"); // {} in inline assembly are packet specifiers, not assembly variant // specifiers. @@ -3057,6 +3057,7 @@ public: .Case("hexagonv2", "2") .Case("hexagonv3", "3") .Case("hexagonv4", "4") + .Case("hexagonv5", "5") .Default(0); } @@ -3111,6 +3112,14 @@ void HexagonTargetInfo::getTargetDefines(const LangOptions &Opts, Builder.defineMacro("__QDSP6_ARCH__", "4"); } } + else if(CPU == "hexagonv5") { + Builder.defineMacro("__HEXAGON_V5__"); + Builder.defineMacro("__HEXAGON_ARCH__", "5"); + if(Opts.HexagonQdsp6Compat) { + Builder.defineMacro("__QDSP6_V5__"); + Builder.defineMacro("__QDSP6_ARCH__", "5"); + } + } } const char * const HexagonTargetInfo::GCCRegNames[] = { diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index e30b5136ba..7592f31f1a 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -2460,6 +2460,16 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, switch (BuiltinID) { default: return 0; +// This one below is not generated from the autogenerated iset.py. +// So make sure you donot overwrite this one. + case Hexagon::BI__builtin_SI_to_SXTHI_asrh: + ID = Intrinsic::hexagon_SI_to_SXTHI_asrh; break; + + case Hexagon::BI__builtin_circ_ldd: + ID = Intrinsic::hexagon_circ_ldd; break; +// This one above is not generated from the autogenerated iset.py. +// So make sure you donot overwrite this one. + case Hexagon::BI__builtin_HEXAGON_C2_cmpeq: ID = Intrinsic::hexagon_C2_cmpeq; break; @@ -2478,12 +2488,30 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_C2_cmpgtup: ID = Intrinsic::hexagon_C2_cmpgtup; break; + case Hexagon::BI__builtin_HEXAGON_A4_rcmpeqi: + ID = Intrinsic::hexagon_A4_rcmpeqi; break; + + case Hexagon::BI__builtin_HEXAGON_A4_rcmpneqi: + ID = Intrinsic::hexagon_A4_rcmpneqi; break; + + case Hexagon::BI__builtin_HEXAGON_A4_rcmpeq: + ID = Intrinsic::hexagon_A4_rcmpeq; break; + + case Hexagon::BI__builtin_HEXAGON_A4_rcmpneq: + ID = Intrinsic::hexagon_A4_rcmpneq; break; + case Hexagon::BI__builtin_HEXAGON_C2_bitsset: ID = Intrinsic::hexagon_C2_bitsset; break; case Hexagon::BI__builtin_HEXAGON_C2_bitsclr: ID = Intrinsic::hexagon_C2_bitsclr; break; + case Hexagon::BI__builtin_HEXAGON_C4_nbitsset: + ID = Intrinsic::hexagon_C4_nbitsset; break; + + case Hexagon::BI__builtin_HEXAGON_C4_nbitsclr: + ID = Intrinsic::hexagon_C4_nbitsclr; break; + case Hexagon::BI__builtin_HEXAGON_C2_cmpeqi: ID = Intrinsic::hexagon_C2_cmpeqi; break; @@ -2508,6 +2536,27 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_C2_bitsclri: ID = Intrinsic::hexagon_C2_bitsclri; break; + case Hexagon::BI__builtin_HEXAGON_C4_nbitsclri: + ID = Intrinsic::hexagon_C4_nbitsclri; break; + + case Hexagon::BI__builtin_HEXAGON_C4_cmpneqi: + ID = Intrinsic::hexagon_C4_cmpneqi; break; + + case Hexagon::BI__builtin_HEXAGON_C4_cmpltei: + ID = Intrinsic::hexagon_C4_cmpltei; break; + + case Hexagon::BI__builtin_HEXAGON_C4_cmplteui: + ID = Intrinsic::hexagon_C4_cmplteui; break; + + case Hexagon::BI__builtin_HEXAGON_C4_cmpneq: + ID = Intrinsic::hexagon_C4_cmpneq; break; + + case Hexagon::BI__builtin_HEXAGON_C4_cmplte: + ID = Intrinsic::hexagon_C4_cmplte; break; + + case Hexagon::BI__builtin_HEXAGON_C4_cmplteu: + ID = Intrinsic::hexagon_C4_cmplteu; break; + case Hexagon::BI__builtin_HEXAGON_C2_and: ID = Intrinsic::hexagon_C2_and; break; @@ -2526,6 +2575,30 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_C2_orn: ID = Intrinsic::hexagon_C2_orn; break; + case Hexagon::BI__builtin_HEXAGON_C4_and_and: + ID = Intrinsic::hexagon_C4_and_and; break; + + case Hexagon::BI__builtin_HEXAGON_C4_and_or: + ID = Intrinsic::hexagon_C4_and_or; break; + + case Hexagon::BI__builtin_HEXAGON_C4_or_and: + ID = Intrinsic::hexagon_C4_or_and; break; + + case Hexagon::BI__builtin_HEXAGON_C4_or_or: + ID = Intrinsic::hexagon_C4_or_or; break; + + case Hexagon::BI__builtin_HEXAGON_C4_and_andn: + ID = Intrinsic::hexagon_C4_and_andn; break; + + case Hexagon::BI__builtin_HEXAGON_C4_and_orn: + ID = Intrinsic::hexagon_C4_and_orn; break; + + case Hexagon::BI__builtin_HEXAGON_C4_or_andn: + ID = Intrinsic::hexagon_C4_or_andn; break; + + case Hexagon::BI__builtin_HEXAGON_C4_or_orn: + ID = Intrinsic::hexagon_C4_or_orn; break; + case Hexagon::BI__builtin_HEXAGON_C2_pxfer_map: ID = Intrinsic::hexagon_C2_pxfer_map; break; @@ -2559,9 +2632,42 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_vcmpbeq: ID = Intrinsic::hexagon_A2_vcmpbeq; break; + case Hexagon::BI__builtin_HEXAGON_A4_vcmpbeqi: + ID = Intrinsic::hexagon_A4_vcmpbeqi; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vcmpbeq_any: + ID = Intrinsic::hexagon_A4_vcmpbeq_any; break; + case Hexagon::BI__builtin_HEXAGON_A2_vcmpbgtu: ID = Intrinsic::hexagon_A2_vcmpbgtu; break; + case Hexagon::BI__builtin_HEXAGON_A4_vcmpbgtui: + ID = Intrinsic::hexagon_A4_vcmpbgtui; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vcmpbgt: + ID = Intrinsic::hexagon_A4_vcmpbgt; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vcmpbgti: + ID = Intrinsic::hexagon_A4_vcmpbgti; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmpbeq: + ID = Intrinsic::hexagon_A4_cmpbeq; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmpbeqi: + ID = Intrinsic::hexagon_A4_cmpbeqi; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmpbgtu: + ID = Intrinsic::hexagon_A4_cmpbgtu; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmpbgtui: + ID = Intrinsic::hexagon_A4_cmpbgtui; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmpbgt: + ID = Intrinsic::hexagon_A4_cmpbgt; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmpbgti: + ID = Intrinsic::hexagon_A4_cmpbgti; break; + case Hexagon::BI__builtin_HEXAGON_A2_vcmpheq: ID = Intrinsic::hexagon_A2_vcmpheq; break; @@ -2571,6 +2677,33 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_vcmphgtu: ID = Intrinsic::hexagon_A2_vcmphgtu; break; + case Hexagon::BI__builtin_HEXAGON_A4_vcmpheqi: + ID = Intrinsic::hexagon_A4_vcmpheqi; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vcmphgti: + ID = Intrinsic::hexagon_A4_vcmphgti; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vcmphgtui: + ID = Intrinsic::hexagon_A4_vcmphgtui; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmpheq: + ID = Intrinsic::hexagon_A4_cmpheq; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmphgt: + ID = Intrinsic::hexagon_A4_cmphgt; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmphgtu: + ID = Intrinsic::hexagon_A4_cmphgtu; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmpheqi: + ID = Intrinsic::hexagon_A4_cmpheqi; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmphgti: + ID = Intrinsic::hexagon_A4_cmphgti; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cmphgtui: + ID = Intrinsic::hexagon_A4_cmphgtui; break; + case Hexagon::BI__builtin_HEXAGON_A2_vcmpweq: ID = Intrinsic::hexagon_A2_vcmpweq; break; @@ -2580,12 +2713,33 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_vcmpwgtu: ID = Intrinsic::hexagon_A2_vcmpwgtu; break; + case Hexagon::BI__builtin_HEXAGON_A4_vcmpweqi: + ID = Intrinsic::hexagon_A4_vcmpweqi; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vcmpwgti: + ID = Intrinsic::hexagon_A4_vcmpwgti; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vcmpwgtui: + ID = Intrinsic::hexagon_A4_vcmpwgtui; break; + + case Hexagon::BI__builtin_HEXAGON_A4_boundscheck: + ID = Intrinsic::hexagon_A4_boundscheck; break; + + case Hexagon::BI__builtin_HEXAGON_A4_tlbmatch: + ID = Intrinsic::hexagon_A4_tlbmatch; break; + case Hexagon::BI__builtin_HEXAGON_C2_tfrpr: ID = Intrinsic::hexagon_C2_tfrpr; break; case Hexagon::BI__builtin_HEXAGON_C2_tfrrp: ID = Intrinsic::hexagon_C2_tfrrp; break; + case Hexagon::BI__builtin_HEXAGON_C4_fastcorner9: + ID = Intrinsic::hexagon_C4_fastcorner9; break; + + case Hexagon::BI__builtin_HEXAGON_C4_fastcorner9_not: + ID = Intrinsic::hexagon_C4_fastcorner9_not; break; + case Hexagon::BI__builtin_HEXAGON_M2_mpy_acc_hh_s0: ID = Intrinsic::hexagon_M2_mpy_acc_hh_s0; break; @@ -3048,12 +3202,27 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_M2_mpy_up: ID = Intrinsic::hexagon_M2_mpy_up; break; + case Hexagon::BI__builtin_HEXAGON_M2_mpy_up_s1: + ID = Intrinsic::hexagon_M2_mpy_up_s1; break; + + case Hexagon::BI__builtin_HEXAGON_M2_mpy_up_s1_sat: + ID = Intrinsic::hexagon_M2_mpy_up_s1_sat; break; + case Hexagon::BI__builtin_HEXAGON_M2_mpyu_up: ID = Intrinsic::hexagon_M2_mpyu_up; break; + case Hexagon::BI__builtin_HEXAGON_M2_mpysu_up: + ID = Intrinsic::hexagon_M2_mpysu_up; break; + case Hexagon::BI__builtin_HEXAGON_M2_dpmpyss_rnd_s0: ID = Intrinsic::hexagon_M2_dpmpyss_rnd_s0; break; + case Hexagon::BI__builtin_HEXAGON_M4_mac_up_s1_sat: + ID = Intrinsic::hexagon_M4_mac_up_s1_sat; break; + + case Hexagon::BI__builtin_HEXAGON_M4_nac_up_s1_sat: + ID = Intrinsic::hexagon_M4_nac_up_s1_sat; break; + case Hexagon::BI__builtin_HEXAGON_M2_mpyi: ID = Intrinsic::hexagon_M2_mpyi; break; @@ -3078,6 +3247,21 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_M2_subacc: ID = Intrinsic::hexagon_M2_subacc; break; + case Hexagon::BI__builtin_HEXAGON_M4_mpyrr_addr: + ID = Intrinsic::hexagon_M4_mpyrr_addr; break; + + case Hexagon::BI__builtin_HEXAGON_M4_mpyri_addr_u2: + ID = Intrinsic::hexagon_M4_mpyri_addr_u2; break; + + case Hexagon::BI__builtin_HEXAGON_M4_mpyri_addr: + ID = Intrinsic::hexagon_M4_mpyri_addr; break; + + case Hexagon::BI__builtin_HEXAGON_M4_mpyri_addi: + ID = Intrinsic::hexagon_M4_mpyri_addi; break; + + case Hexagon::BI__builtin_HEXAGON_M4_mpyrr_addi: + ID = Intrinsic::hexagon_M4_mpyrr_addi; break; + case Hexagon::BI__builtin_HEXAGON_M2_vmpy2s_s0: ID = Intrinsic::hexagon_M2_vmpy2s_s0; break; @@ -3090,6 +3274,18 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_M2_vmac2s_s1: ID = Intrinsic::hexagon_M2_vmac2s_s1; break; + case Hexagon::BI__builtin_HEXAGON_M2_vmpy2su_s0: + ID = Intrinsic::hexagon_M2_vmpy2su_s0; break; + + case Hexagon::BI__builtin_HEXAGON_M2_vmpy2su_s1: + ID = Intrinsic::hexagon_M2_vmpy2su_s1; break; + + case Hexagon::BI__builtin_HEXAGON_M2_vmac2su_s0: + ID = Intrinsic::hexagon_M2_vmac2su_s0; break; + + case Hexagon::BI__builtin_HEXAGON_M2_vmac2su_s1: + ID = Intrinsic::hexagon_M2_vmac2su_s1; break; + case Hexagon::BI__builtin_HEXAGON_M2_vmpy2s_s0pack: ID = Intrinsic::hexagon_M2_vmpy2s_s0pack; break; @@ -3126,6 +3322,36 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_M2_vdmpyrs_s1: ID = Intrinsic::hexagon_M2_vdmpyrs_s1; break; + case Hexagon::BI__builtin_HEXAGON_M5_vrmpybuu: + ID = Intrinsic::hexagon_M5_vrmpybuu; break; + + case Hexagon::BI__builtin_HEXAGON_M5_vrmacbuu: + ID = Intrinsic::hexagon_M5_vrmacbuu; break; + + case Hexagon::BI__builtin_HEXAGON_M5_vrmpybsu: + ID = Intrinsic::hexagon_M5_vrmpybsu; break; + + case Hexagon::BI__builtin_HEXAGON_M5_vrmacbsu: + ID = Intrinsic::hexagon_M5_vrmacbsu; break; + + case Hexagon::BI__builtin_HEXAGON_M5_vmpybuu: + ID = Intrinsic::hexagon_M5_vmpybuu; break; + + case Hexagon::BI__builtin_HEXAGON_M5_vmpybsu: + ID = Intrinsic::hexagon_M5_vmpybsu; break; + + case Hexagon::BI__builtin_HEXAGON_M5_vmacbuu: + ID = Intrinsic::hexagon_M5_vmacbuu; break; + + case Hexagon::BI__builtin_HEXAGON_M5_vmacbsu: + ID = Intrinsic::hexagon_M5_vmacbsu; break; + + case Hexagon::BI__builtin_HEXAGON_M5_vdmpybsu: + ID = Intrinsic::hexagon_M5_vdmpybsu; break; + + case Hexagon::BI__builtin_HEXAGON_M5_vdmacbsu: + ID = Intrinsic::hexagon_M5_vdmacbsu; break; + case Hexagon::BI__builtin_HEXAGON_M2_vdmacs_s0: ID = Intrinsic::hexagon_M2_vdmacs_s0; break; @@ -3243,12 +3469,42 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_M2_mmpyh_rs1: ID = Intrinsic::hexagon_M2_mmpyh_rs1; break; + case Hexagon::BI__builtin_HEXAGON_M4_vrmpyeh_s0: + ID = Intrinsic::hexagon_M4_vrmpyeh_s0; break; + + case Hexagon::BI__builtin_HEXAGON_M4_vrmpyeh_s1: + ID = Intrinsic::hexagon_M4_vrmpyeh_s1; break; + + case Hexagon::BI__builtin_HEXAGON_M4_vrmpyeh_acc_s0: + ID = Intrinsic::hexagon_M4_vrmpyeh_acc_s0; break; + + case Hexagon::BI__builtin_HEXAGON_M4_vrmpyeh_acc_s1: + ID = Intrinsic::hexagon_M4_vrmpyeh_acc_s1; break; + + case Hexagon::BI__builtin_HEXAGON_M4_vrmpyoh_s0: + ID = Intrinsic::hexagon_M4_vrmpyoh_s0; break; + + case Hexagon::BI__builtin_HEXAGON_M4_vrmpyoh_s1: + ID = Intrinsic::hexagon_M4_vrmpyoh_s1; break; + + case Hexagon::BI__builtin_HEXAGON_M4_vrmpyoh_acc_s0: + ID = Intrinsic::hexagon_M4_vrmpyoh_acc_s0; break; + + case Hexagon::BI__builtin_HEXAGON_M4_vrmpyoh_acc_s1: + ID = Intrinsic::hexagon_M4_vrmpyoh_acc_s1; break; + case Hexagon::BI__builtin_HEXAGON_M2_hmmpyl_rs1: ID = Intrinsic::hexagon_M2_hmmpyl_rs1; break; case Hexagon::BI__builtin_HEXAGON_M2_hmmpyh_rs1: ID = Intrinsic::hexagon_M2_hmmpyh_rs1; break; + case Hexagon::BI__builtin_HEXAGON_M2_hmmpyl_s1: + ID = Intrinsic::hexagon_M2_hmmpyl_s1; break; + + case Hexagon::BI__builtin_HEXAGON_M2_hmmpyh_s1: + ID = Intrinsic::hexagon_M2_hmmpyh_s1; break; + case Hexagon::BI__builtin_HEXAGON_M2_mmaculs_s0: ID = Intrinsic::hexagon_M2_mmaculs_s0; break; @@ -3333,6 +3589,18 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_M2_cmpyr_s0: ID = Intrinsic::hexagon_M2_cmpyr_s0; break; + case Hexagon::BI__builtin_HEXAGON_M4_cmpyi_wh: + ID = Intrinsic::hexagon_M4_cmpyi_wh; break; + + case Hexagon::BI__builtin_HEXAGON_M4_cmpyr_wh: + ID = Intrinsic::hexagon_M4_cmpyr_wh; break; + + case Hexagon::BI__builtin_HEXAGON_M4_cmpyi_whc: + ID = Intrinsic::hexagon_M4_cmpyi_whc; break; + + case Hexagon::BI__builtin_HEXAGON_M4_cmpyr_whc: + ID = Intrinsic::hexagon_M4_cmpyr_whc; break; + case Hexagon::BI__builtin_HEXAGON_M2_vcmpy_s0_sat_i: ID = Intrinsic::hexagon_M2_vcmpy_s0_sat_i; break; @@ -3354,6 +3622,30 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_S2_vcrotate: ID = Intrinsic::hexagon_S2_vcrotate; break; + case Hexagon::BI__builtin_HEXAGON_S4_vrcrotate_acc: + ID = Intrinsic::hexagon_S4_vrcrotate_acc; break; + + case Hexagon::BI__builtin_HEXAGON_S4_vrcrotate: + ID = Intrinsic::hexagon_S4_vrcrotate; break; + + case Hexagon::BI__builtin_HEXAGON_S2_vcnegh: + ID = Intrinsic::hexagon_S2_vcnegh; break; + + case Hexagon::BI__builtin_HEXAGON_S2_vrcnegh: + ID = Intrinsic::hexagon_S2_vrcnegh; break; + + case Hexagon::BI__builtin_HEXAGON_M4_pmpyw: + ID = Intrinsic::hexagon_M4_pmpyw; break; + + case Hexagon::BI__builtin_HEXAGON_M4_vpmpyh: + ID = Intrinsic::hexagon_M4_vpmpyh; break; + + case Hexagon::BI__builtin_HEXAGON_M4_pmpyw_acc: + ID = Intrinsic::hexagon_M4_pmpyw_acc; break; + + case Hexagon::BI__builtin_HEXAGON_M4_vpmpyh_acc: + ID = Intrinsic::hexagon_M4_vpmpyh_acc; break; + case Hexagon::BI__builtin_HEXAGON_A2_add: ID = Intrinsic::hexagon_A2_add; break; @@ -3531,6 +3823,12 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_combinew: ID = Intrinsic::hexagon_A2_combinew; break; + case Hexagon::BI__builtin_HEXAGON_A4_combineri: + ID = Intrinsic::hexagon_A4_combineri; break; + + case Hexagon::BI__builtin_HEXAGON_A4_combineir: + ID = Intrinsic::hexagon_A4_combineir; break; + case Hexagon::BI__builtin_HEXAGON_A2_combineii: ID = Intrinsic::hexagon_A2_combineii; break; @@ -3567,6 +3865,69 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_M2_xor_xacc: ID = Intrinsic::hexagon_M2_xor_xacc; break; + case Hexagon::BI__builtin_HEXAGON_M4_xor_xacc: + ID = Intrinsic::hexagon_M4_xor_xacc; break; + + case Hexagon::BI__builtin_HEXAGON_A4_andn: + ID = Intrinsic::hexagon_A4_andn; break; + + case Hexagon::BI__builtin_HEXAGON_A4_orn: + ID = Intrinsic::hexagon_A4_orn; break; + + case Hexagon::BI__builtin_HEXAGON_A4_andnp: + ID = Intrinsic::hexagon_A4_andnp; break; + + case Hexagon::BI__builtin_HEXAGON_A4_ornp: + ID = Intrinsic::hexagon_A4_ornp; break; + + case Hexagon::BI__builtin_HEXAGON_S4_addaddi: + ID = Intrinsic::hexagon_S4_addaddi; break; + + case Hexagon::BI__builtin_HEXAGON_S4_subaddi: + ID = Intrinsic::hexagon_S4_subaddi; break; + + case Hexagon::BI__builtin_HEXAGON_M4_and_and: + ID = Intrinsic::hexagon_M4_and_and; break; + + case Hexagon::BI__builtin_HEXAGON_M4_and_andn: + ID = Intrinsic::hexagon_M4_and_andn; break; + + case Hexagon::BI__builtin_HEXAGON_M4_and_or: + ID = Intrinsic::hexagon_M4_and_or; break; + + case Hexagon::BI__builtin_HEXAGON_M4_and_xor: + ID = Intrinsic::hexagon_M4_and_xor; break; + + case Hexagon::BI__builtin_HEXAGON_M4_or_and: + ID = Intrinsic::hexagon_M4_or_and; break; + + case Hexagon::BI__builtin_HEXAGON_M4_or_andn: + ID = Intrinsic::hexagon_M4_or_andn; break; + + case Hexagon::BI__builtin_HEXAGON_M4_or_or: + ID = Intrinsic::hexagon_M4_or_or; break; + + case Hexagon::BI__builtin_HEXAGON_M4_or_xor: + ID = Intrinsic::hexagon_M4_or_xor; break; + + case Hexagon::BI__builtin_HEXAGON_S4_or_andix: + ID = Intrinsic::hexagon_S4_or_andix; break; + + case Hexagon::BI__builtin_HEXAGON_S4_or_andi: + ID = Intrinsic::hexagon_S4_or_andi; break; + + case Hexagon::BI__builtin_HEXAGON_S4_or_ori: + ID = Intrinsic::hexagon_S4_or_ori; break; + + case Hexagon::BI__builtin_HEXAGON_M4_xor_and: + ID = Intrinsic::hexagon_M4_xor_and; break; + + case Hexagon::BI__builtin_HEXAGON_M4_xor_or: + ID = Intrinsic::hexagon_M4_xor_or; break; + + case Hexagon::BI__builtin_HEXAGON_M4_xor_andn: + ID = Intrinsic::hexagon_M4_xor_andn; break; + case Hexagon::BI__builtin_HEXAGON_A2_subri: ID = Intrinsic::hexagon_A2_subri; break; @@ -3594,6 +3955,9 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_sat: ID = Intrinsic::hexagon_A2_sat; break; + case Hexagon::BI__builtin_HEXAGON_A2_roundsat: + ID = Intrinsic::hexagon_A2_roundsat; break; + case Hexagon::BI__builtin_HEXAGON_A2_sath: ID = Intrinsic::hexagon_A2_sath; break; @@ -3609,6 +3973,9 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_vaddub: ID = Intrinsic::hexagon_A2_vaddub; break; + case Hexagon::BI__builtin_HEXAGON_A2_vaddb_map: + ID = Intrinsic::hexagon_A2_vaddb_map; break; + case Hexagon::BI__builtin_HEXAGON_A2_vaddubs: ID = Intrinsic::hexagon_A2_vaddubs; break; @@ -3621,12 +3988,33 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_vadduhs: ID = Intrinsic::hexagon_A2_vadduhs; break; + case Hexagon::BI__builtin_HEXAGON_A5_vaddhubs: + ID = Intrinsic::hexagon_A5_vaddhubs; break; + case Hexagon::BI__builtin_HEXAGON_A2_vaddw: ID = Intrinsic::hexagon_A2_vaddw; break; case Hexagon::BI__builtin_HEXAGON_A2_vaddws: ID = Intrinsic::hexagon_A2_vaddws; break; + case Hexagon::BI__builtin_HEXAGON_S4_vxaddsubw: + ID = Intrinsic::hexagon_S4_vxaddsubw; break; + + case Hexagon::BI__builtin_HEXAGON_S4_vxsubaddw: + ID = Intrinsic::hexagon_S4_vxsubaddw; break; + + case Hexagon::BI__builtin_HEXAGON_S4_vxaddsubh: + ID = Intrinsic::hexagon_S4_vxaddsubh; break; + + case Hexagon::BI__builtin_HEXAGON_S4_vxsubaddh: + ID = Intrinsic::hexagon_S4_vxsubaddh; break; + + case Hexagon::BI__builtin_HEXAGON_S4_vxaddsubhr: + ID = Intrinsic::hexagon_S4_vxaddsubhr; break; + + case Hexagon::BI__builtin_HEXAGON_S4_vxsubaddhr: + ID = Intrinsic::hexagon_S4_vxsubaddhr; break; + case Hexagon::BI__builtin_HEXAGON_A2_svavgh: ID = Intrinsic::hexagon_A2_svavgh; break; @@ -3660,12 +4048,18 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_vraddub_acc: ID = Intrinsic::hexagon_A2_vraddub_acc; break; + case Hexagon::BI__builtin_HEXAGON_M2_vraddh: + ID = Intrinsic::hexagon_M2_vraddh; break; + case Hexagon::BI__builtin_HEXAGON_M2_vradduh: ID = Intrinsic::hexagon_M2_vradduh; break; case Hexagon::BI__builtin_HEXAGON_A2_vsubub: ID = Intrinsic::hexagon_A2_vsubub; break; + case Hexagon::BI__builtin_HEXAGON_A2_vsubb_map: + ID = Intrinsic::hexagon_A2_vsubb_map; break; + case Hexagon::BI__builtin_HEXAGON_A2_vsububs: ID = Intrinsic::hexagon_A2_vsububs; break; @@ -3762,11 +4156,53 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_vnavghr: ID = Intrinsic::hexagon_A2_vnavghr; break; - case Hexagon::BI__builtin_HEXAGON_A2_vminh: - ID = Intrinsic::hexagon_A2_vminh; break; + case Hexagon::BI__builtin_HEXAGON_A4_round_ri: + ID = Intrinsic::hexagon_A4_round_ri; break; - case Hexagon::BI__builtin_HEXAGON_A2_vmaxh: - ID = Intrinsic::hexagon_A2_vmaxh; break; + case Hexagon::BI__builtin_HEXAGON_A4_round_rr: + ID = Intrinsic::hexagon_A4_round_rr; break; + + case Hexagon::BI__builtin_HEXAGON_A4_round_ri_sat: + ID = Intrinsic::hexagon_A4_round_ri_sat; break; + + case Hexagon::BI__builtin_HEXAGON_A4_round_rr_sat: + ID = Intrinsic::hexagon_A4_round_rr_sat; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cround_ri: + ID = Intrinsic::hexagon_A4_cround_ri; break; + + case Hexagon::BI__builtin_HEXAGON_A4_cround_rr: + ID = Intrinsic::hexagon_A4_cround_rr; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vrminh: + ID = Intrinsic::hexagon_A4_vrminh; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vrmaxh: + ID = Intrinsic::hexagon_A4_vrmaxh; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vrminuh: + ID = Intrinsic::hexagon_A4_vrminuh; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vrmaxuh: + ID = Intrinsic::hexagon_A4_vrmaxuh; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vrminw: + ID = Intrinsic::hexagon_A4_vrminw; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vrmaxw: + ID = Intrinsic::hexagon_A4_vrmaxw; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vrminuw: + ID = Intrinsic::hexagon_A4_vrminuw; break; + + case Hexagon::BI__builtin_HEXAGON_A4_vrmaxuw: + ID = Intrinsic::hexagon_A4_vrmaxuw; break; + + case Hexagon::BI__builtin_HEXAGON_A2_vminb: + ID = Intrinsic::hexagon_A2_vminb; break; + + case Hexagon::BI__builtin_HEXAGON_A2_vmaxb: + ID = Intrinsic::hexagon_A2_vmaxb; break; case Hexagon::BI__builtin_HEXAGON_A2_vminub: ID = Intrinsic::hexagon_A2_vminub; break; @@ -3774,6 +4210,12 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_vmaxub: ID = Intrinsic::hexagon_A2_vmaxub; break; + case Hexagon::BI__builtin_HEXAGON_A2_vminh: + ID = Intrinsic::hexagon_A2_vminh; break; + + case Hexagon::BI__builtin_HEXAGON_A2_vmaxh: + ID = Intrinsic::hexagon_A2_vmaxh; break; + case Hexagon::BI__builtin_HEXAGON_A2_vminuh: ID = Intrinsic::hexagon_A2_vminuh; break; @@ -3792,6 +4234,207 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_A2_vmaxuw: ID = Intrinsic::hexagon_A2_vmaxuw; break; + case Hexagon::BI__builtin_HEXAGON_A4_modwrapu: + ID = Intrinsic::hexagon_A4_modwrapu; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfadd: + ID = Intrinsic::hexagon_F2_sfadd; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfsub: + ID = Intrinsic::hexagon_F2_sfsub; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfmpy: + ID = Intrinsic::hexagon_F2_sfmpy; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sffma: + ID = Intrinsic::hexagon_F2_sffma; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sffma_sc: + ID = Intrinsic::hexagon_F2_sffma_sc; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sffms: + ID = Intrinsic::hexagon_F2_sffms; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sffma_lib: + ID = Intrinsic::hexagon_F2_sffma_lib; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sffms_lib: + ID = Intrinsic::hexagon_F2_sffms_lib; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfcmpeq: + ID = Intrinsic::hexagon_F2_sfcmpeq; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfcmpgt: + ID = Intrinsic::hexagon_F2_sfcmpgt; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfcmpge: + ID = Intrinsic::hexagon_F2_sfcmpge; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfcmpuo: + ID = Intrinsic::hexagon_F2_sfcmpuo; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfmax: + ID = Intrinsic::hexagon_F2_sfmax; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfmin: + ID = Intrinsic::hexagon_F2_sfmin; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfclass: + ID = Intrinsic::hexagon_F2_sfclass; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfimm_p: + ID = Intrinsic::hexagon_F2_sfimm_p; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sfimm_n: + ID = Intrinsic::hexagon_F2_sfimm_n; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sffixupn: + ID = Intrinsic::hexagon_F2_sffixupn; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sffixupd: + ID = Intrinsic::hexagon_F2_sffixupd; break; + + case Hexagon::BI__builtin_HEXAGON_F2_sffixupr: + ID = Intrinsic::hexagon_F2_sffixupr; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfadd: + ID = Intrinsic::hexagon_F2_dfadd; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfsub: + ID = Intrinsic::hexagon_F2_dfsub; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfmpy: + ID = Intrinsic::hexagon_F2_dfmpy; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dffma: + ID = Intrinsic::hexagon_F2_dffma; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dffms: + ID = Intrinsic::hexagon_F2_dffms; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dffma_lib: + ID = Intrinsic::hexagon_F2_dffma_lib; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dffms_lib: + ID = Intrinsic::hexagon_F2_dffms_lib; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dffma_sc: + ID = Intrinsic::hexagon_F2_dffma_sc; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfmax: + ID = Intrinsic::hexagon_F2_dfmax; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfmin: + ID = Intrinsic::hexagon_F2_dfmin; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfcmpeq: + ID = Intrinsic::hexagon_F2_dfcmpeq; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfcmpgt: + ID = Intrinsic::hexagon_F2_dfcmpgt; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfcmpge: + ID = Intrinsic::hexagon_F2_dfcmpge; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfcmpuo: + ID = Intrinsic::hexagon_F2_dfcmpuo; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfclass: + ID = Intrinsic::hexagon_F2_dfclass; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfimm_p: + ID = Intrinsic::hexagon_F2_dfimm_p; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dfimm_n: + ID = Intrinsic::hexagon_F2_dfimm_n; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dffixupn: + ID = Intrinsic::hexagon_F2_dffixupn; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dffixupd: + ID = Intrinsic::hexagon_F2_dffixupd; break; + + case Hexagon::BI__builtin_HEXAGON_F2_dffixupr: + ID = Intrinsic::hexagon_F2_dffixupr; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_sf2df: + ID = Intrinsic::hexagon_F2_conv_sf2df; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_df2sf: + ID = Intrinsic::hexagon_F2_conv_df2sf; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_uw2sf: + ID = Intrinsic::hexagon_F2_conv_uw2sf; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_uw2df: + ID = Intrinsic::hexagon_F2_conv_uw2df; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_w2sf: + ID = Intrinsic::hexagon_F2_conv_w2sf; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_w2df: + ID = Intrinsic::hexagon_F2_conv_w2df; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_ud2sf: + ID = Intrinsic::hexagon_F2_conv_ud2sf; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_ud2df: + ID = Intrinsic::hexagon_F2_conv_ud2df; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_d2sf: + ID = Intrinsic::hexagon_F2_conv_d2sf; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_d2df: + ID = Intrinsic::hexagon_F2_conv_d2df; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_sf2uw: + ID = Intrinsic::hexagon_F2_conv_sf2uw; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_sf2w: + ID = Intrinsic::hexagon_F2_conv_sf2w; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_sf2ud: + ID = Intrinsic::hexagon_F2_conv_sf2ud; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_sf2d: + ID = Intrinsic::hexagon_F2_conv_sf2d; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_df2uw: + ID = Intrinsic::hexagon_F2_conv_df2uw; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_df2w: + ID = Intrinsic::hexagon_F2_conv_df2w; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_df2ud: + ID = Intrinsic::hexagon_F2_conv_df2ud; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_df2d: + ID = Intrinsic::hexagon_F2_conv_df2d; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_sf2uw_chop: + ID = Intrinsic::hexagon_F2_conv_sf2uw_chop; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_sf2w_chop: + ID = Intrinsic::hexagon_F2_conv_sf2w_chop; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_sf2ud_chop: + ID = Intrinsic::hexagon_F2_conv_sf2ud_chop; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_sf2d_chop: + ID = Intrinsic::hexagon_F2_conv_sf2d_chop; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_df2uw_chop: + ID = Intrinsic::hexagon_F2_conv_df2uw_chop; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_df2w_chop: + ID = Intrinsic::hexagon_F2_conv_df2w_chop; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_df2ud_chop: + ID = Intrinsic::hexagon_F2_conv_df2ud_chop; break; + + case Hexagon::BI__builtin_HEXAGON_F2_conv_df2d_chop: + ID = Intrinsic::hexagon_F2_conv_df2d_chop; break; + case Hexagon::BI__builtin_HEXAGON_S2_asr_r_r: ID = Intrinsic::hexagon_S2_asr_r_r; break; @@ -3912,6 +4555,18 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_S2_lsl_r_p_or: ID = Intrinsic::hexagon_S2_lsl_r_p_or; break; + case Hexagon::BI__builtin_HEXAGON_S2_asr_r_p_xor: + ID = Intrinsic::hexagon_S2_asr_r_p_xor; break; + + case Hexagon::BI__builtin_HEXAGON_S2_asl_r_p_xor: + ID = Intrinsic::hexagon_S2_asl_r_p_xor; break; + + case Hexagon::BI__builtin_HEXAGON_S2_lsr_r_p_xor: + ID = Intrinsic::hexagon_S2_lsr_r_p_xor; break; + + case Hexagon::BI__builtin_HEXAGON_S2_lsl_r_p_xor: + ID = Intrinsic::hexagon_S2_lsl_r_p_xor; break; + case Hexagon::BI__builtin_HEXAGON_S2_asr_r_r_sat: ID = Intrinsic::hexagon_S2_asr_r_r_sat; break; @@ -4029,9 +4684,42 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_S2_asr_i_r_rnd_goodsyntax: ID = Intrinsic::hexagon_S2_asr_i_r_rnd_goodsyntax; break; + case Hexagon::BI__builtin_HEXAGON_S2_asr_i_p_rnd: + ID = Intrinsic::hexagon_S2_asr_i_p_rnd; break; + + case Hexagon::BI__builtin_HEXAGON_S2_asr_i_p_rnd_goodsyntax: + ID = Intrinsic::hexagon_S2_asr_i_p_rnd_goodsyntax; break; + + case Hexagon::BI__builtin_HEXAGON_S4_lsli: + ID = Intrinsic::hexagon_S4_lsli; break; + case Hexagon::BI__builtin_HEXAGON_S2_addasl_rrri: ID = Intrinsic::hexagon_S2_addasl_rrri; break; + case Hexagon::BI__builtin_HEXAGON_S4_andi_asl_ri: + ID = Intrinsic::hexagon_S4_andi_asl_ri; break; + + case Hexagon::BI__builtin_HEXAGON_S4_ori_asl_ri: + ID = Intrinsic::hexagon_S4_ori_asl_ri; break; + + case Hexagon::BI__builtin_HEXAGON_S4_addi_asl_ri: + ID = Intrinsic::hexagon_S4_addi_asl_ri; break; + + case Hexagon::BI__builtin_HEXAGON_S4_subi_asl_ri: + ID = Intrinsic::hexagon_S4_subi_asl_ri; break; + + case Hexagon::BI__builtin_HEXAGON_S4_andi_lsr_ri: + ID = Intrinsic::hexagon_S4_andi_lsr_ri; break; + + case Hexagon::BI__builtin_HEXAGON_S4_ori_lsr_ri: + ID = Intrinsic::hexagon_S4_ori_lsr_ri; break; + + case Hexagon::BI__builtin_HEXAGON_S4_addi_lsr_ri: + ID = Intrinsic::hexagon_S4_addi_lsr_ri; break; + + case Hexagon::BI__builtin_HEXAGON_S4_subi_lsr_ri: + ID = Intrinsic::hexagon_S4_subi_lsr_ri; break; + case Hexagon::BI__builtin_HEXAGON_S2_valignib: ID = Intrinsic::hexagon_S2_valignib; break; @@ -4065,30 +4753,51 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_S2_tableidxd_goodsyntax: ID = Intrinsic::hexagon_S2_tableidxd_goodsyntax; break; + case Hexagon::BI__builtin_HEXAGON_A4_bitspliti: + ID = Intrinsic::hexagon_A4_bitspliti; break; + + case Hexagon::BI__builtin_HEXAGON_A4_bitsplit: + ID = Intrinsic::hexagon_A4_bitsplit; break; + + case Hexagon::BI__builtin_HEXAGON_S4_extract: + ID = Intrinsic::hexagon_S4_extract; break; + case Hexagon::BI__builtin_HEXAGON_S2_extractu: ID = Intrinsic::hexagon_S2_extractu; break; case Hexagon::BI__builtin_HEXAGON_S2_insertp: ID = Intrinsic::hexagon_S2_insertp; break; + case Hexagon::BI__builtin_HEXAGON_S4_extractp: + ID = Intrinsic::hexagon_S4_extractp; break; + case Hexagon::BI__builtin_HEXAGON_S2_extractup: ID = Intrinsic::hexagon_S2_extractup; break; case Hexagon::BI__builtin_HEXAGON_S2_insert_rp: ID = Intrinsic::hexagon_S2_insert_rp; break; + case Hexagon::BI__builtin_HEXAGON_S4_extract_rp: + ID = Intrinsic::hexagon_S4_extract_rp; break; + case Hexagon::BI__builtin_HEXAGON_S2_extractu_rp: ID = Intrinsic::hexagon_S2_extractu_rp; break; case Hexagon::BI__builtin_HEXAGON_S2_insertp_rp: ID = Intrinsic::hexagon_S2_insertp_rp; break; + case Hexagon::BI__builtin_HEXAGON_S4_extractp_rp: + ID = Intrinsic::hexagon_S4_extractp_rp; break; + case Hexagon::BI__builtin_HEXAGON_S2_extractup_rp: ID = Intrinsic::hexagon_S2_extractup_rp; break; case Hexagon::BI__builtin_HEXAGON_S2_tstbit_i: ID = Intrinsic::hexagon_S2_tstbit_i; break; + case Hexagon::BI__builtin_HEXAGON_S4_ntstbit_i: + ID = Intrinsic::hexagon_S4_ntstbit_i; break; + case Hexagon::BI__builtin_HEXAGON_S2_setbit_i: ID = Intrinsic::hexagon_S2_setbit_i; break; @@ -4101,6 +4810,9 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_S2_tstbit_r: ID = Intrinsic::hexagon_S2_tstbit_r; break; + case Hexagon::BI__builtin_HEXAGON_S4_ntstbit_r: + ID = Intrinsic::hexagon_S4_ntstbit_r; break; + case Hexagon::BI__builtin_HEXAGON_S2_setbit_r: ID = Intrinsic::hexagon_S2_setbit_r; break; @@ -4122,6 +4834,15 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_S2_asr_r_vh: ID = Intrinsic::hexagon_S2_asr_r_vh; break; + case Hexagon::BI__builtin_HEXAGON_S5_asrhub_rnd_sat_goodsyntax: + ID = Intrinsic::hexagon_S5_asrhub_rnd_sat_goodsyntax; break; + + case Hexagon::BI__builtin_HEXAGON_S5_asrhub_sat: + ID = Intrinsic::hexagon_S5_asrhub_sat; break; + + case Hexagon::BI__builtin_HEXAGON_S5_vasrhrnd_goodsyntax: + ID = Intrinsic::hexagon_S5_vasrhrnd_goodsyntax; break; + case Hexagon::BI__builtin_HEXAGON_S2_asl_r_vh: ID = Intrinsic::hexagon_S2_asl_r_vh; break; @@ -4236,6 +4957,12 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_S2_shuffeh: ID = Intrinsic::hexagon_S2_shuffeh; break; + case Hexagon::BI__builtin_HEXAGON_S5_popcountp: + ID = Intrinsic::hexagon_S5_popcountp; break; + + case Hexagon::BI__builtin_HEXAGON_S4_parity: + ID = Intrinsic::hexagon_S4_parity; break; + case Hexagon::BI__builtin_HEXAGON_S2_parityp: ID = Intrinsic::hexagon_S2_parityp; break; @@ -4245,6 +4972,15 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_S2_clbnorm: ID = Intrinsic::hexagon_S2_clbnorm; break; + case Hexagon::BI__builtin_HEXAGON_S4_clbaddi: + ID = Intrinsic::hexagon_S4_clbaddi; break; + + case Hexagon::BI__builtin_HEXAGON_S4_clbpnorm: + ID = Intrinsic::hexagon_S4_clbpnorm; break; + + case Hexagon::BI__builtin_HEXAGON_S4_clbpaddi: + ID = Intrinsic::hexagon_S4_clbpaddi; break; + case Hexagon::BI__builtin_HEXAGON_S2_clb: ID = Intrinsic::hexagon_S2_clb; break; @@ -4266,168 +5002,26 @@ Value *CodeGenFunction::EmitHexagonBuiltinExpr(unsigned BuiltinID, case Hexagon::BI__builtin_HEXAGON_S2_brev: ID = Intrinsic::hexagon_S2_brev; break; + case Hexagon::BI__builtin_HEXAGON_S2_brevp: + ID = Intrinsic::hexagon_S2_brevp; break; + case Hexagon::BI__builtin_HEXAGON_S2_ct0: ID = Intrinsic::hexagon_S2_ct0; break; case Hexagon::BI__builtin_HEXAGON_S2_ct1: ID = Intrinsic::hexagon_S2_ct1; break; + case Hexagon::BI__builtin_HEXAGON_S2_ct0p: + ID = Intrinsic::hexagon_S2_ct0p; break; + + case Hexagon::BI__builtin_HEXAGON_S2_ct1p: + ID = Intrinsic::hexagon_S2_ct1p; break; + case Hexagon::BI__builtin_HEXAGON_S2_interleave: ID = Intrinsic::hexagon_S2_interleave; break; case Hexagon::BI__builtin_HEXAGON_S2_deinterleave: ID = Intrinsic::hexagon_S2_deinterleave; break; - - case Hexagon::BI__builtin_SI_to_SXTHI_asrh: - ID = Intrinsic::hexagon_SI_to_SXTHI_asrh; break; - - case Hexagon::BI__builtin_HEXAGON_A4_orn: - ID = Intrinsic::hexagon_A4_orn; break; - - case Hexagon::BI__builtin_HEXAGON_A4_andn: - ID = Intrinsic::hexagon_A4_andn; break; - - case Hexagon::BI__builtin_HEXAGON_A4_ornp: - ID = Intrinsic::hexagon_A4_ornp; break; - - case Hexagon::BI__builtin_HEXAGON_A4_andnp: - ID = Intrinsic::hexagon_A4_andnp; break; - - case Hexagon::BI__builtin_HEXAGON_A4_combineir: - ID = Intrinsic::hexagon_A4_combineir; break; - - case Hexagon::BI__builtin_HEXAGON_A4_combineri: - ID = Intrinsic::hexagon_A4_combineri; break; - - case Hexagon::BI__builtin_HEXAGON_C4_cmpneqi: - ID = Intrinsic::hexagon_C4_cmpneqi; break; - - case Hexagon::BI__builtin_HEXAGON_C4_cmpneq: - ID = Intrinsic::hexagon_C4_cmpneq; break; - - case Hexagon::BI__builtin_HEXAGON_C4_cmpltei: - ID = Intrinsic::hexagon_C4_cmpltei; break; - - case Hexagon::BI__builtin_HEXAGON_C4_cmplte: - ID = Intrinsic::hexagon_C4_cmplte; break; - - case Hexagon::BI__builtin_HEXAGON_C4_cmplteui: - ID = Intrinsic::hexagon_C4_cmplteui; break; - - case Hexagon::BI__builtin_HEXAGON_C4_cmplteu: - ID = Intrinsic::hexagon_C4_cmplteu; break; - - case Hexagon::BI__builtin_HEXAGON_A4_rcmpneq: - ID = Intrinsic::hexagon_A4_rcmpneq; break; - - case Hexagon::BI__builtin_HEXAGON_A4_rcmpneqi: - ID = Intrinsic::hexagon_A4_rcmpneqi; break; - - case Hexagon::BI__builtin_HEXAGON_A4_rcmpeq: - ID = Intrinsic::hexagon_A4_rcmpeq; break; - - case Hexagon::BI__builtin_HEXAGON_A4_rcmpeqi: - ID = Intrinsic::hexagon_A4_rcmpeqi; break; - - case Hexagon::BI__builtin_HEXAGON_C4_fastcorner9: - ID = Intrinsic::hexagon_C4_fastcorner9; break; - - case Hexagon::BI__builtin_HEXAGON_C4_fastcorner9_not: - ID = Intrinsic::hexagon_C4_fastcorner9_not; break; - - case Hexagon::BI__builtin_HEXAGON_C4_and_andn: - ID = Intrinsic::hexagon_C4_and_andn; break; - - case Hexagon::BI__builtin_HEXAGON_C4_and_and: - ID = Intrinsic::hexagon_C4_and_and; break; - - case Hexagon::BI__builtin_HEXAGON_C4_and_orn: - ID = Intrinsic::hexagon_C4_and_orn; break; - - case Hexagon::BI__builtin_HEXAGON_C4_and_or: - ID = Intrinsic::hexagon_C4_and_or; break; - - case Hexagon::BI__builtin_HEXAGON_C4_or_andn: - ID = Intrinsic::hexagon_C4_or_andn; break; - - case Hexagon::BI__builtin_HEXAGON_C4_or_and: - ID = Intrinsic::hexagon_C4_or_and; break; - - case Hexagon::BI__builtin_HEXAGON_C4_or_orn: - ID = Intrinsic::hexagon_C4_or_orn; break; - - case Hexagon::BI__builtin_HEXAGON_C4_or_or: - ID = Intrinsic::hexagon_C4_or_or; break; - - case Hexagon::BI__builtin_HEXAGON_S4_addaddi: - ID = Intrinsic::hexagon_S4_addaddi; break; - - case Hexagon::BI__builtin_HEXAGON_S4_subaddi: - ID = Intrinsic::hexagon_S4_subaddi; break; - - case Hexagon::BI__builtin_HEXAGON_M4_xor_xacc: - ID = Intrinsic::hexagon_M4_xor_xacc; break; - - case Hexagon::BI__builtin_HEXAGON_M4_and_and: - ID = Intrinsic::hexagon_M4_and_and; break; - - case Hexagon::BI__builtin_HEXAGON_M4_and_or: - ID = Intrinsic::hexagon_M4_and_or; break; - - case Hexagon::BI__builtin_HEXAGON_M4_and_xor: - ID = Intrinsic::hexagon_M4_and_xor; break; - - case Hexagon::BI__builtin_HEXAGON_M4_and_andn: - ID = Intrinsic::hexagon_M4_and_andn; break; - - case Hexagon::BI__builtin_HEXAGON_M4_xor_and: - ID = Intrinsic::hexagon_M4_xor_and; break; - - case Hexagon::BI__builtin_HEXAGON_M4_xor_or: - ID = Intrinsic::hexagon_M4_xor_or; break; - - case Hexagon::BI__builtin_HEXAGON_M4_xor_andn: - ID = Intrinsic::hexagon_M4_xor_andn; break; - - case Hexagon::BI__builtin_HEXAGON_M4_or_and: - ID = Intrinsic::hexagon_M4_or_and; break; - - case Hexagon::BI__builtin_HEXAGON_M4_or_or: - ID = Intrinsic::hexagon_M4_or_or; break; - - case Hexagon::BI__builtin_HEXAGON_M4_or_xor: - ID = Intrinsic::hexagon_M4_or_xor; break; - - case Hexagon::BI__builtin_HEXAGON_M4_or_andn: - ID = Intrinsic::hexagon_M4_or_andn; break; - - case Hexagon::BI__builtin_HEXAGON_S4_or_andix: - ID = Intrinsic::hexagon_S4_or_andix; break; - - case Hexagon::BI__builtin_HEXAGON_S4_or_andi: - ID = Intrinsic::hexagon_S4_or_andi; break; - - case Hexagon::BI__builtin_HEXAGON_S4_or_ori: - ID = Intrinsic::hexagon_S4_or_ori; break; - - case Hexagon::BI__builtin_HEXAGON_A4_modwrapu: - ID = Intrinsic::hexagon_A4_modwrapu; break; - - case Hexagon::BI__builtin_HEXAGON_A4_cround_rr: - ID = Intrinsic::hexagon_A4_cround_rr; break; - - case Hexagon::BI__builtin_HEXAGON_A4_round_ri: - ID = Intrinsic::hexagon_A4_round_ri; break; - - case Hexagon::BI__builtin_HEXAGON_A4_round_rr: - ID = Intrinsic::hexagon_A4_round_rr; break; - - case Hexagon::BI__builtin_HEXAGON_A4_round_ri_sat: - ID = Intrinsic::hexagon_A4_round_ri_sat; break; - - case Hexagon::BI__builtin_HEXAGON_A4_round_rr_sat: - ID = Intrinsic::hexagon_A4_round_rr_sat; break; - } llvm::Function *F = CGM.getIntrinsic(ID); diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 47b5294954..3d17c81232 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -1100,6 +1100,12 @@ void Clang::AddHexagonTargetArgs(const ArgList &Args, A->claim(); } + if (!Args.hasArg(options::OPT_fno_short_enums)) + CmdArgs.push_back("-fshort-enums"); + if (Args.getLastArg(options::OPT_mieee_rnd_near)) { + CmdArgs.push_back ("-mllvm"); + CmdArgs.push_back ("-enable-hexagon-ieee-rnd-near"); + } CmdArgs.push_back ("-mllvm"); CmdArgs.push_back ("-machine-sink-split=0"); } -- 2.40.0