zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

hvx_hexagon_protos.h (281785B) - Raw


      1 //===----------------------------------------------------------------------===//
      2 //
      3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
      4 // See https://llvm.org/LICENSE.txt for license information.
      5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
      6 //
      7 //===----------------------------------------------------------------------===//
      8 // Automatically generated file, do not edit!
      9 //===----------------------------------------------------------------------===//
     10 
     11 
     12 #ifndef _HVX_HEXAGON_PROTOS_H_
     13 #define _HVX_HEXAGON_PROTOS_H_ 1
     14 
     15 #ifdef __HVX__
     16 #if __HVX_LENGTH__ == 128
     17 #define __BUILTIN_VECTOR_WRAP(a) a ## _128B
     18 #else
     19 #define __BUILTIN_VECTOR_WRAP(a) a
     20 #endif
     21 
     22 #if __HVX_ARCH__ >= 60
     23 /* ==========================================================================
     24    Assembly Syntax:       Rd32=vextract(Vu32,Rs32)
     25    C Intrinsic Prototype: Word32 Q6_R_vextract_VR(HVX_Vector Vu, Word32 Rs)
     26    Instruction Type:      LD
     27    Execution Slots:       SLOT0
     28    ========================================================================== */
     29 
     30 #define Q6_R_vextract_VR(Vu,Rs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_extractw)(Vu,Rs)
     31 #endif /* __HEXAGON_ARCH___ >= 60 */
     32 
     33 #if __HVX_ARCH__ >= 60
     34 /* ==========================================================================
     35    Assembly Syntax:       Vd32=hi(Vss32)
     36    C Intrinsic Prototype: HVX_Vector Q6_V_hi_W(HVX_VectorPair Vss)
     37    Instruction Type:      CVI_VA
     38    Execution Slots:       SLOT0123
     39    ========================================================================== */
     40 
     41 #define Q6_V_hi_W(Vss) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_hi)(Vss)
     42 #endif /* __HEXAGON_ARCH___ >= 60 */
     43 
     44 #if __HVX_ARCH__ >= 60
     45 /* ==========================================================================
     46    Assembly Syntax:       Vd32=lo(Vss32)
     47    C Intrinsic Prototype: HVX_Vector Q6_V_lo_W(HVX_VectorPair Vss)
     48    Instruction Type:      CVI_VA
     49    Execution Slots:       SLOT0123
     50    ========================================================================== */
     51 
     52 #define Q6_V_lo_W(Vss) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lo)(Vss)
     53 #endif /* __HEXAGON_ARCH___ >= 60 */
     54 
     55 #if __HVX_ARCH__ >= 60
     56 /* ==========================================================================
     57    Assembly Syntax:       Vd32=vsplat(Rt32)
     58    C Intrinsic Prototype: HVX_Vector Q6_V_vsplat_R(Word32 Rt)
     59    Instruction Type:      CVI_VX_LATE
     60    Execution Slots:       SLOT23
     61    ========================================================================== */
     62 
     63 #define Q6_V_vsplat_R(Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lvsplatw)(Rt)
     64 #endif /* __HEXAGON_ARCH___ >= 60 */
     65 
     66 #if __HVX_ARCH__ >= 60
     67 /* ==========================================================================
     68    Assembly Syntax:       Qd4=and(Qs4,Qt4)
     69    C Intrinsic Prototype: HVX_VectorPred Q6_Q_and_QQ(HVX_VectorPred Qs, HVX_VectorPred Qt)
     70    Instruction Type:      CVI_VA_DV
     71    Execution Slots:       SLOT0123
     72    ========================================================================== */
     73 
     74 #define Q6_Q_and_QQ(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
     75 #endif /* __HEXAGON_ARCH___ >= 60 */
     76 
     77 #if __HVX_ARCH__ >= 60
     78 /* ==========================================================================
     79    Assembly Syntax:       Qd4=and(Qs4,!Qt4)
     80    C Intrinsic Prototype: HVX_VectorPred Q6_Q_and_QQn(HVX_VectorPred Qs, HVX_VectorPred Qt)
     81    Instruction Type:      CVI_VA_DV
     82    Execution Slots:       SLOT0123
     83    ========================================================================== */
     84 
     85 #define Q6_Q_and_QQn(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_and_n)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
     86 #endif /* __HEXAGON_ARCH___ >= 60 */
     87 
     88 #if __HVX_ARCH__ >= 60
     89 /* ==========================================================================
     90    Assembly Syntax:       Qd4=not(Qs4)
     91    C Intrinsic Prototype: HVX_VectorPred Q6_Q_not_Q(HVX_VectorPred Qs)
     92    Instruction Type:      CVI_VA
     93    Execution Slots:       SLOT0123
     94    ========================================================================== */
     95 
     96 #define Q6_Q_not_Q(Qs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_not)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1))),-1)
     97 #endif /* __HEXAGON_ARCH___ >= 60 */
     98 
     99 #if __HVX_ARCH__ >= 60
    100 /* ==========================================================================
    101    Assembly Syntax:       Qd4=or(Qs4,Qt4)
    102    C Intrinsic Prototype: HVX_VectorPred Q6_Q_or_QQ(HVX_VectorPred Qs, HVX_VectorPred Qt)
    103    Instruction Type:      CVI_VA_DV
    104    Execution Slots:       SLOT0123
    105    ========================================================================== */
    106 
    107 #define Q6_Q_or_QQ(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
    108 #endif /* __HEXAGON_ARCH___ >= 60 */
    109 
    110 #if __HVX_ARCH__ >= 60
    111 /* ==========================================================================
    112    Assembly Syntax:       Qd4=or(Qs4,!Qt4)
    113    C Intrinsic Prototype: HVX_VectorPred Q6_Q_or_QQn(HVX_VectorPred Qs, HVX_VectorPred Qt)
    114    Instruction Type:      CVI_VA_DV
    115    Execution Slots:       SLOT0123
    116    ========================================================================== */
    117 
    118 #define Q6_Q_or_QQn(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_or_n)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
    119 #endif /* __HEXAGON_ARCH___ >= 60 */
    120 
    121 #if __HVX_ARCH__ >= 60
    122 /* ==========================================================================
    123    Assembly Syntax:       Qd4=vsetq(Rt32)
    124    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vsetq_R(Word32 Rt)
    125    Instruction Type:      CVI_VP
    126    Execution Slots:       SLOT0123
    127    ========================================================================== */
    128 
    129 #define Q6_Q_vsetq_R(Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_scalar2)(Rt)),-1)
    130 #endif /* __HEXAGON_ARCH___ >= 60 */
    131 
    132 #if __HVX_ARCH__ >= 60
    133 /* ==========================================================================
    134    Assembly Syntax:       Qd4=xor(Qs4,Qt4)
    135    C Intrinsic Prototype: HVX_VectorPred Q6_Q_xor_QQ(HVX_VectorPred Qs, HVX_VectorPred Qt)
    136    Instruction Type:      CVI_VA_DV
    137    Execution Slots:       SLOT0123
    138    ========================================================================== */
    139 
    140 #define Q6_Q_xor_QQ(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
    141 #endif /* __HEXAGON_ARCH___ >= 60 */
    142 
    143 #if __HVX_ARCH__ >= 60
    144 /* ==========================================================================
    145    Assembly Syntax:       if (!Qv4) vmem(Rt32+#s4)=Vs32
    146    C Intrinsic Prototype: void Q6_vmem_QnRIV(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
    147    Instruction Type:      CVI_VM_ST
    148    Execution Slots:       SLOT0
    149    ========================================================================== */
    150 
    151 #define Q6_vmem_QnRIV(Qv,Rt,Vs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_nqpred_ai)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Rt,Vs)
    152 #endif /* __HEXAGON_ARCH___ >= 60 */
    153 
    154 #if __HVX_ARCH__ >= 60
    155 /* ==========================================================================
    156    Assembly Syntax:       if (!Qv4) vmem(Rt32+#s4):nt=Vs32
    157    C Intrinsic Prototype: void Q6_vmem_QnRIV_nt(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
    158    Instruction Type:      CVI_VM_ST
    159    Execution Slots:       SLOT0
    160    ========================================================================== */
    161 
    162 #define Q6_vmem_QnRIV_nt(Qv,Rt,Vs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_nt_nqpred_ai)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Rt,Vs)
    163 #endif /* __HEXAGON_ARCH___ >= 60 */
    164 
    165 #if __HVX_ARCH__ >= 60
    166 /* ==========================================================================
    167    Assembly Syntax:       if (Qv4) vmem(Rt32+#s4):nt=Vs32
    168    C Intrinsic Prototype: void Q6_vmem_QRIV_nt(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
    169    Instruction Type:      CVI_VM_ST
    170    Execution Slots:       SLOT0
    171    ========================================================================== */
    172 
    173 #define Q6_vmem_QRIV_nt(Qv,Rt,Vs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_nt_qpred_ai)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Rt,Vs)
    174 #endif /* __HEXAGON_ARCH___ >= 60 */
    175 
    176 #if __HVX_ARCH__ >= 60
    177 /* ==========================================================================
    178    Assembly Syntax:       if (Qv4) vmem(Rt32+#s4)=Vs32
    179    C Intrinsic Prototype: void Q6_vmem_QRIV(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
    180    Instruction Type:      CVI_VM_ST
    181    Execution Slots:       SLOT0
    182    ========================================================================== */
    183 
    184 #define Q6_vmem_QRIV(Qv,Rt,Vs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_qpred_ai)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Rt,Vs)
    185 #endif /* __HEXAGON_ARCH___ >= 60 */
    186 
    187 #if __HVX_ARCH__ >= 60
    188 /* ==========================================================================
    189    Assembly Syntax:       Vd32.uh=vabsdiff(Vu32.h,Vv32.h)
    190    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vabsdiff_VhVh(HVX_Vector Vu, HVX_Vector Vv)
    191    Instruction Type:      CVI_VX
    192    Execution Slots:       SLOT23
    193    ========================================================================== */
    194 
    195 #define Q6_Vuh_vabsdiff_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffh)(Vu,Vv)
    196 #endif /* __HEXAGON_ARCH___ >= 60 */
    197 
    198 #if __HVX_ARCH__ >= 60
    199 /* ==========================================================================
    200    Assembly Syntax:       Vd32.ub=vabsdiff(Vu32.ub,Vv32.ub)
    201    C Intrinsic Prototype: HVX_Vector Q6_Vub_vabsdiff_VubVub(HVX_Vector Vu, HVX_Vector Vv)
    202    Instruction Type:      CVI_VX
    203    Execution Slots:       SLOT23
    204    ========================================================================== */
    205 
    206 #define Q6_Vub_vabsdiff_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffub)(Vu,Vv)
    207 #endif /* __HEXAGON_ARCH___ >= 60 */
    208 
    209 #if __HVX_ARCH__ >= 60
    210 /* ==========================================================================
    211    Assembly Syntax:       Vd32.uh=vabsdiff(Vu32.uh,Vv32.uh)
    212    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vabsdiff_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
    213    Instruction Type:      CVI_VX
    214    Execution Slots:       SLOT23
    215    ========================================================================== */
    216 
    217 #define Q6_Vuh_vabsdiff_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffuh)(Vu,Vv)
    218 #endif /* __HEXAGON_ARCH___ >= 60 */
    219 
    220 #if __HVX_ARCH__ >= 60
    221 /* ==========================================================================
    222    Assembly Syntax:       Vd32.uw=vabsdiff(Vu32.w,Vv32.w)
    223    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vabsdiff_VwVw(HVX_Vector Vu, HVX_Vector Vv)
    224    Instruction Type:      CVI_VX
    225    Execution Slots:       SLOT23
    226    ========================================================================== */
    227 
    228 #define Q6_Vuw_vabsdiff_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffw)(Vu,Vv)
    229 #endif /* __HEXAGON_ARCH___ >= 60 */
    230 
    231 #if __HVX_ARCH__ >= 60
    232 /* ==========================================================================
    233    Assembly Syntax:       Vd32.h=vabs(Vu32.h)
    234    C Intrinsic Prototype: HVX_Vector Q6_Vh_vabs_Vh(HVX_Vector Vu)
    235    Instruction Type:      CVI_VA
    236    Execution Slots:       SLOT0123
    237    ========================================================================== */
    238 
    239 #define Q6_Vh_vabs_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsh)(Vu)
    240 #endif /* __HEXAGON_ARCH___ >= 60 */
    241 
    242 #if __HVX_ARCH__ >= 60
    243 /* ==========================================================================
    244    Assembly Syntax:       Vd32.h=vabs(Vu32.h):sat
    245    C Intrinsic Prototype: HVX_Vector Q6_Vh_vabs_Vh_sat(HVX_Vector Vu)
    246    Instruction Type:      CVI_VA
    247    Execution Slots:       SLOT0123
    248    ========================================================================== */
    249 
    250 #define Q6_Vh_vabs_Vh_sat(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsh_sat)(Vu)
    251 #endif /* __HEXAGON_ARCH___ >= 60 */
    252 
    253 #if __HVX_ARCH__ >= 60
    254 /* ==========================================================================
    255    Assembly Syntax:       Vd32.w=vabs(Vu32.w)
    256    C Intrinsic Prototype: HVX_Vector Q6_Vw_vabs_Vw(HVX_Vector Vu)
    257    Instruction Type:      CVI_VA
    258    Execution Slots:       SLOT0123
    259    ========================================================================== */
    260 
    261 #define Q6_Vw_vabs_Vw(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsw)(Vu)
    262 #endif /* __HEXAGON_ARCH___ >= 60 */
    263 
    264 #if __HVX_ARCH__ >= 60
    265 /* ==========================================================================
    266    Assembly Syntax:       Vd32.w=vabs(Vu32.w):sat
    267    C Intrinsic Prototype: HVX_Vector Q6_Vw_vabs_Vw_sat(HVX_Vector Vu)
    268    Instruction Type:      CVI_VA
    269    Execution Slots:       SLOT0123
    270    ========================================================================== */
    271 
    272 #define Q6_Vw_vabs_Vw_sat(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsw_sat)(Vu)
    273 #endif /* __HEXAGON_ARCH___ >= 60 */
    274 
    275 #if __HVX_ARCH__ >= 60
    276 /* ==========================================================================
    277    Assembly Syntax:       Vd32.b=vadd(Vu32.b,Vv32.b)
    278    C Intrinsic Prototype: HVX_Vector Q6_Vb_vadd_VbVb(HVX_Vector Vu, HVX_Vector Vv)
    279    Instruction Type:      CVI_VA
    280    Execution Slots:       SLOT0123
    281    ========================================================================== */
    282 
    283 #define Q6_Vb_vadd_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddb)(Vu,Vv)
    284 #endif /* __HEXAGON_ARCH___ >= 60 */
    285 
    286 #if __HVX_ARCH__ >= 60
    287 /* ==========================================================================
    288    Assembly Syntax:       Vdd32.b=vadd(Vuu32.b,Vvv32.b)
    289    C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vadd_WbWb(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
    290    Instruction Type:      CVI_VA_DV
    291    Execution Slots:       SLOT0123
    292    ========================================================================== */
    293 
    294 #define Q6_Wb_vadd_WbWb(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddb_dv)(Vuu,Vvv)
    295 #endif /* __HEXAGON_ARCH___ >= 60 */
    296 
    297 #if __HVX_ARCH__ >= 60
    298 /* ==========================================================================
    299    Assembly Syntax:       if (!Qv4) Vx32.b+=Vu32.b
    300    C Intrinsic Prototype: HVX_Vector Q6_Vb_condacc_QnVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
    301    Instruction Type:      CVI_VA
    302    Execution Slots:       SLOT0123
    303    ========================================================================== */
    304 
    305 #define Q6_Vb_condacc_QnVbVb(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
    306 #endif /* __HEXAGON_ARCH___ >= 60 */
    307 
    308 #if __HVX_ARCH__ >= 60
    309 /* ==========================================================================
    310    Assembly Syntax:       if (Qv4) Vx32.b+=Vu32.b
    311    C Intrinsic Prototype: HVX_Vector Q6_Vb_condacc_QVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
    312    Instruction Type:      CVI_VA
    313    Execution Slots:       SLOT0123
    314    ========================================================================== */
    315 
    316 #define Q6_Vb_condacc_QVbVb(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
    317 #endif /* __HEXAGON_ARCH___ >= 60 */
    318 
    319 #if __HVX_ARCH__ >= 60
    320 /* ==========================================================================
    321    Assembly Syntax:       Vd32.h=vadd(Vu32.h,Vv32.h)
    322    C Intrinsic Prototype: HVX_Vector Q6_Vh_vadd_VhVh(HVX_Vector Vu, HVX_Vector Vv)
    323    Instruction Type:      CVI_VA
    324    Execution Slots:       SLOT0123
    325    ========================================================================== */
    326 
    327 #define Q6_Vh_vadd_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddh)(Vu,Vv)
    328 #endif /* __HEXAGON_ARCH___ >= 60 */
    329 
    330 #if __HVX_ARCH__ >= 60
    331 /* ==========================================================================
    332    Assembly Syntax:       Vdd32.h=vadd(Vuu32.h,Vvv32.h)
    333    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vadd_WhWh(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
    334    Instruction Type:      CVI_VA_DV
    335    Execution Slots:       SLOT0123
    336    ========================================================================== */
    337 
    338 #define Q6_Wh_vadd_WhWh(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddh_dv)(Vuu,Vvv)
    339 #endif /* __HEXAGON_ARCH___ >= 60 */
    340 
    341 #if __HVX_ARCH__ >= 60
    342 /* ==========================================================================
    343    Assembly Syntax:       if (!Qv4) Vx32.h+=Vu32.h
    344    C Intrinsic Prototype: HVX_Vector Q6_Vh_condacc_QnVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
    345    Instruction Type:      CVI_VA
    346    Execution Slots:       SLOT0123
    347    ========================================================================== */
    348 
    349 #define Q6_Vh_condacc_QnVhVh(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
    350 #endif /* __HEXAGON_ARCH___ >= 60 */
    351 
    352 #if __HVX_ARCH__ >= 60
    353 /* ==========================================================================
    354    Assembly Syntax:       if (Qv4) Vx32.h+=Vu32.h
    355    C Intrinsic Prototype: HVX_Vector Q6_Vh_condacc_QVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
    356    Instruction Type:      CVI_VA
    357    Execution Slots:       SLOT0123
    358    ========================================================================== */
    359 
    360 #define Q6_Vh_condacc_QVhVh(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
    361 #endif /* __HEXAGON_ARCH___ >= 60 */
    362 
    363 #if __HVX_ARCH__ >= 60
    364 /* ==========================================================================
    365    Assembly Syntax:       Vd32.h=vadd(Vu32.h,Vv32.h):sat
    366    C Intrinsic Prototype: HVX_Vector Q6_Vh_vadd_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
    367    Instruction Type:      CVI_VA
    368    Execution Slots:       SLOT0123
    369    ========================================================================== */
    370 
    371 #define Q6_Vh_vadd_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhsat)(Vu,Vv)
    372 #endif /* __HEXAGON_ARCH___ >= 60 */
    373 
    374 #if __HVX_ARCH__ >= 60
    375 /* ==========================================================================
    376    Assembly Syntax:       Vdd32.h=vadd(Vuu32.h,Vvv32.h):sat
    377    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vadd_WhWh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
    378    Instruction Type:      CVI_VA_DV
    379    Execution Slots:       SLOT0123
    380    ========================================================================== */
    381 
    382 #define Q6_Wh_vadd_WhWh_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhsat_dv)(Vuu,Vvv)
    383 #endif /* __HEXAGON_ARCH___ >= 60 */
    384 
    385 #if __HVX_ARCH__ >= 60
    386 /* ==========================================================================
    387    Assembly Syntax:       Vdd32.w=vadd(Vu32.h,Vv32.h)
    388    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_VhVh(HVX_Vector Vu, HVX_Vector Vv)
    389    Instruction Type:      CVI_VX_DV
    390    Execution Slots:       SLOT23
    391    ========================================================================== */
    392 
    393 #define Q6_Ww_vadd_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhw)(Vu,Vv)
    394 #endif /* __HEXAGON_ARCH___ >= 60 */
    395 
    396 #if __HVX_ARCH__ >= 60
    397 /* ==========================================================================
    398    Assembly Syntax:       Vdd32.h=vadd(Vu32.ub,Vv32.ub)
    399    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vadd_VubVub(HVX_Vector Vu, HVX_Vector Vv)
    400    Instruction Type:      CVI_VX_DV
    401    Execution Slots:       SLOT23
    402    ========================================================================== */
    403 
    404 #define Q6_Wh_vadd_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubh)(Vu,Vv)
    405 #endif /* __HEXAGON_ARCH___ >= 60 */
    406 
    407 #if __HVX_ARCH__ >= 60
    408 /* ==========================================================================
    409    Assembly Syntax:       Vd32.ub=vadd(Vu32.ub,Vv32.ub):sat
    410    C Intrinsic Prototype: HVX_Vector Q6_Vub_vadd_VubVub_sat(HVX_Vector Vu, HVX_Vector Vv)
    411    Instruction Type:      CVI_VA
    412    Execution Slots:       SLOT0123
    413    ========================================================================== */
    414 
    415 #define Q6_Vub_vadd_VubVub_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubsat)(Vu,Vv)
    416 #endif /* __HEXAGON_ARCH___ >= 60 */
    417 
    418 #if __HVX_ARCH__ >= 60
    419 /* ==========================================================================
    420    Assembly Syntax:       Vdd32.ub=vadd(Vuu32.ub,Vvv32.ub):sat
    421    C Intrinsic Prototype: HVX_VectorPair Q6_Wub_vadd_WubWub_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
    422    Instruction Type:      CVI_VA_DV
    423    Execution Slots:       SLOT0123
    424    ========================================================================== */
    425 
    426 #define Q6_Wub_vadd_WubWub_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubsat_dv)(Vuu,Vvv)
    427 #endif /* __HEXAGON_ARCH___ >= 60 */
    428 
    429 #if __HVX_ARCH__ >= 60
    430 /* ==========================================================================
    431    Assembly Syntax:       Vd32.uh=vadd(Vu32.uh,Vv32.uh):sat
    432    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vadd_VuhVuh_sat(HVX_Vector Vu, HVX_Vector Vv)
    433    Instruction Type:      CVI_VA
    434    Execution Slots:       SLOT0123
    435    ========================================================================== */
    436 
    437 #define Q6_Vuh_vadd_VuhVuh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhsat)(Vu,Vv)
    438 #endif /* __HEXAGON_ARCH___ >= 60 */
    439 
    440 #if __HVX_ARCH__ >= 60
    441 /* ==========================================================================
    442    Assembly Syntax:       Vdd32.uh=vadd(Vuu32.uh,Vvv32.uh):sat
    443    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vadd_WuhWuh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
    444    Instruction Type:      CVI_VA_DV
    445    Execution Slots:       SLOT0123
    446    ========================================================================== */
    447 
    448 #define Q6_Wuh_vadd_WuhWuh_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhsat_dv)(Vuu,Vvv)
    449 #endif /* __HEXAGON_ARCH___ >= 60 */
    450 
    451 #if __HVX_ARCH__ >= 60
    452 /* ==========================================================================
    453    Assembly Syntax:       Vdd32.w=vadd(Vu32.uh,Vv32.uh)
    454    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
    455    Instruction Type:      CVI_VX_DV
    456    Execution Slots:       SLOT23
    457    ========================================================================== */
    458 
    459 #define Q6_Ww_vadd_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhw)(Vu,Vv)
    460 #endif /* __HEXAGON_ARCH___ >= 60 */
    461 
    462 #if __HVX_ARCH__ >= 60
    463 /* ==========================================================================
    464    Assembly Syntax:       Vd32.w=vadd(Vu32.w,Vv32.w)
    465    C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_VwVw(HVX_Vector Vu, HVX_Vector Vv)
    466    Instruction Type:      CVI_VA
    467    Execution Slots:       SLOT0123
    468    ========================================================================== */
    469 
    470 #define Q6_Vw_vadd_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddw)(Vu,Vv)
    471 #endif /* __HEXAGON_ARCH___ >= 60 */
    472 
    473 #if __HVX_ARCH__ >= 60
    474 /* ==========================================================================
    475    Assembly Syntax:       Vdd32.w=vadd(Vuu32.w,Vvv32.w)
    476    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_WwWw(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
    477    Instruction Type:      CVI_VA_DV
    478    Execution Slots:       SLOT0123
    479    ========================================================================== */
    480 
    481 #define Q6_Ww_vadd_WwWw(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddw_dv)(Vuu,Vvv)
    482 #endif /* __HEXAGON_ARCH___ >= 60 */
    483 
    484 #if __HVX_ARCH__ >= 60
    485 /* ==========================================================================
    486    Assembly Syntax:       if (!Qv4) Vx32.w+=Vu32.w
    487    C Intrinsic Prototype: HVX_Vector Q6_Vw_condacc_QnVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
    488    Instruction Type:      CVI_VA
    489    Execution Slots:       SLOT0123
    490    ========================================================================== */
    491 
    492 #define Q6_Vw_condacc_QnVwVw(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
    493 #endif /* __HEXAGON_ARCH___ >= 60 */
    494 
    495 #if __HVX_ARCH__ >= 60
    496 /* ==========================================================================
    497    Assembly Syntax:       if (Qv4) Vx32.w+=Vu32.w
    498    C Intrinsic Prototype: HVX_Vector Q6_Vw_condacc_QVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
    499    Instruction Type:      CVI_VA
    500    Execution Slots:       SLOT0123
    501    ========================================================================== */
    502 
    503 #define Q6_Vw_condacc_QVwVw(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
    504 #endif /* __HEXAGON_ARCH___ >= 60 */
    505 
    506 #if __HVX_ARCH__ >= 60
    507 /* ==========================================================================
    508    Assembly Syntax:       Vd32.w=vadd(Vu32.w,Vv32.w):sat
    509    C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
    510    Instruction Type:      CVI_VA
    511    Execution Slots:       SLOT0123
    512    ========================================================================== */
    513 
    514 #define Q6_Vw_vadd_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwsat)(Vu,Vv)
    515 #endif /* __HEXAGON_ARCH___ >= 60 */
    516 
    517 #if __HVX_ARCH__ >= 60
    518 /* ==========================================================================
    519    Assembly Syntax:       Vdd32.w=vadd(Vuu32.w,Vvv32.w):sat
    520    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_WwWw_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
    521    Instruction Type:      CVI_VA_DV
    522    Execution Slots:       SLOT0123
    523    ========================================================================== */
    524 
    525 #define Q6_Ww_vadd_WwWw_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwsat_dv)(Vuu,Vvv)
    526 #endif /* __HEXAGON_ARCH___ >= 60 */
    527 
    528 #if __HVX_ARCH__ >= 60
    529 /* ==========================================================================
    530    Assembly Syntax:       Vd32=valign(Vu32,Vv32,Rt8)
    531    C Intrinsic Prototype: HVX_Vector Q6_V_valign_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
    532    Instruction Type:      CVI_VP
    533    Execution Slots:       SLOT0123
    534    ========================================================================== */
    535 
    536 #define Q6_V_valign_VVR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_valignb)(Vu,Vv,Rt)
    537 #endif /* __HEXAGON_ARCH___ >= 60 */
    538 
    539 #if __HVX_ARCH__ >= 60
    540 /* ==========================================================================
    541    Assembly Syntax:       Vd32=valign(Vu32,Vv32,#u3)
    542    C Intrinsic Prototype: HVX_Vector Q6_V_valign_VVI(HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
    543    Instruction Type:      CVI_VP
    544    Execution Slots:       SLOT0123
    545    ========================================================================== */
    546 
    547 #define Q6_V_valign_VVI(Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_valignbi)(Vu,Vv,Iu3)
    548 #endif /* __HEXAGON_ARCH___ >= 60 */
    549 
    550 #if __HVX_ARCH__ >= 60
    551 /* ==========================================================================
    552    Assembly Syntax:       Vd32=vand(Vu32,Vv32)
    553    C Intrinsic Prototype: HVX_Vector Q6_V_vand_VV(HVX_Vector Vu, HVX_Vector Vv)
    554    Instruction Type:      CVI_VA
    555    Execution Slots:       SLOT0123
    556    ========================================================================== */
    557 
    558 #define Q6_V_vand_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vand)(Vu,Vv)
    559 #endif /* __HEXAGON_ARCH___ >= 60 */
    560 
    561 #if __HVX_ARCH__ >= 60
    562 /* ==========================================================================
    563    Assembly Syntax:       Vd32=vand(Qu4,Rt32)
    564    C Intrinsic Prototype: HVX_Vector Q6_V_vand_QR(HVX_VectorPred Qu, Word32 Rt)
    565    Instruction Type:      CVI_VX_LATE
    566    Execution Slots:       SLOT23
    567    ========================================================================== */
    568 
    569 #define Q6_V_vand_QR(Qu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qu),-1),Rt)
    570 #endif /* __HEXAGON_ARCH___ >= 60 */
    571 
    572 #if __HVX_ARCH__ >= 60
    573 /* ==========================================================================
    574    Assembly Syntax:       Vx32|=vand(Qu4,Rt32)
    575    C Intrinsic Prototype: HVX_Vector Q6_V_vandor_VQR(HVX_Vector Vx, HVX_VectorPred Qu, Word32 Rt)
    576    Instruction Type:      CVI_VX_LATE
    577    Execution Slots:       SLOT23
    578    ========================================================================== */
    579 
    580 #define Q6_V_vandor_VQR(Vx,Qu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt_acc)(Vx,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qu),-1),Rt)
    581 #endif /* __HEXAGON_ARCH___ >= 60 */
    582 
    583 #if __HVX_ARCH__ >= 60
    584 /* ==========================================================================
    585    Assembly Syntax:       Qd4=vand(Vu32,Rt32)
    586    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vand_VR(HVX_Vector Vu, Word32 Rt)
    587    Instruction Type:      CVI_VX_LATE
    588    Execution Slots:       SLOT23
    589    ========================================================================== */
    590 
    591 #define Q6_Q_vand_VR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)(Vu,Rt)),-1)
    592 #endif /* __HEXAGON_ARCH___ >= 60 */
    593 
    594 #if __HVX_ARCH__ >= 60
    595 /* ==========================================================================
    596    Assembly Syntax:       Qx4|=vand(Vu32,Rt32)
    597    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vandor_QVR(HVX_VectorPred Qx, HVX_Vector Vu, Word32 Rt)
    598    Instruction Type:      CVI_VX_LATE
    599    Execution Slots:       SLOT23
    600    ========================================================================== */
    601 
    602 #define Q6_Q_vandor_QVR(Qx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt_acc)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Rt)),-1)
    603 #endif /* __HEXAGON_ARCH___ >= 60 */
    604 
    605 #if __HVX_ARCH__ >= 60
    606 /* ==========================================================================
    607    Assembly Syntax:       Vd32.h=vasl(Vu32.h,Rt32)
    608    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasl_VhR(HVX_Vector Vu, Word32 Rt)
    609    Instruction Type:      CVI_VS
    610    Execution Slots:       SLOT0123
    611    ========================================================================== */
    612 
    613 #define Q6_Vh_vasl_VhR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslh)(Vu,Rt)
    614 #endif /* __HEXAGON_ARCH___ >= 60 */
    615 
    616 #if __HVX_ARCH__ >= 60
    617 /* ==========================================================================
    618    Assembly Syntax:       Vd32.h=vasl(Vu32.h,Vv32.h)
    619    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasl_VhVh(HVX_Vector Vu, HVX_Vector Vv)
    620    Instruction Type:      CVI_VS
    621    Execution Slots:       SLOT0123
    622    ========================================================================== */
    623 
    624 #define Q6_Vh_vasl_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslhv)(Vu,Vv)
    625 #endif /* __HEXAGON_ARCH___ >= 60 */
    626 
    627 #if __HVX_ARCH__ >= 60
    628 /* ==========================================================================
    629    Assembly Syntax:       Vd32.w=vasl(Vu32.w,Rt32)
    630    C Intrinsic Prototype: HVX_Vector Q6_Vw_vasl_VwR(HVX_Vector Vu, Word32 Rt)
    631    Instruction Type:      CVI_VS
    632    Execution Slots:       SLOT0123
    633    ========================================================================== */
    634 
    635 #define Q6_Vw_vasl_VwR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslw)(Vu,Rt)
    636 #endif /* __HEXAGON_ARCH___ >= 60 */
    637 
    638 #if __HVX_ARCH__ >= 60
    639 /* ==========================================================================
    640    Assembly Syntax:       Vx32.w+=vasl(Vu32.w,Rt32)
    641    C Intrinsic Prototype: HVX_Vector Q6_Vw_vaslacc_VwVwR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
    642    Instruction Type:      CVI_VS
    643    Execution Slots:       SLOT0123
    644    ========================================================================== */
    645 
    646 #define Q6_Vw_vaslacc_VwVwR(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslw_acc)(Vx,Vu,Rt)
    647 #endif /* __HEXAGON_ARCH___ >= 60 */
    648 
    649 #if __HVX_ARCH__ >= 60
    650 /* ==========================================================================
    651    Assembly Syntax:       Vd32.w=vasl(Vu32.w,Vv32.w)
    652    C Intrinsic Prototype: HVX_Vector Q6_Vw_vasl_VwVw(HVX_Vector Vu, HVX_Vector Vv)
    653    Instruction Type:      CVI_VS
    654    Execution Slots:       SLOT0123
    655    ========================================================================== */
    656 
    657 #define Q6_Vw_vasl_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslwv)(Vu,Vv)
    658 #endif /* __HEXAGON_ARCH___ >= 60 */
    659 
    660 #if __HVX_ARCH__ >= 60
    661 /* ==========================================================================
    662    Assembly Syntax:       Vd32.h=vasr(Vu32.h,Rt32)
    663    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VhR(HVX_Vector Vu, Word32 Rt)
    664    Instruction Type:      CVI_VS
    665    Execution Slots:       SLOT0123
    666    ========================================================================== */
    667 
    668 #define Q6_Vh_vasr_VhR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrh)(Vu,Rt)
    669 #endif /* __HEXAGON_ARCH___ >= 60 */
    670 
    671 #if __HVX_ARCH__ >= 60
    672 /* ==========================================================================
    673    Assembly Syntax:       Vd32.b=vasr(Vu32.h,Vv32.h,Rt8):rnd:sat
    674    C Intrinsic Prototype: HVX_Vector Q6_Vb_vasr_VhVhR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
    675    Instruction Type:      CVI_VS
    676    Execution Slots:       SLOT0123
    677    ========================================================================== */
    678 
    679 #define Q6_Vb_vasr_VhVhR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhbrndsat)(Vu,Vv,Rt)
    680 #endif /* __HEXAGON_ARCH___ >= 60 */
    681 
    682 #if __HVX_ARCH__ >= 60
    683 /* ==========================================================================
    684    Assembly Syntax:       Vd32.ub=vasr(Vu32.h,Vv32.h,Rt8):rnd:sat
    685    C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_VhVhR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
    686    Instruction Type:      CVI_VS
    687    Execution Slots:       SLOT0123
    688    ========================================================================== */
    689 
    690 #define Q6_Vub_vasr_VhVhR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhubrndsat)(Vu,Vv,Rt)
    691 #endif /* __HEXAGON_ARCH___ >= 60 */
    692 
    693 #if __HVX_ARCH__ >= 60
    694 /* ==========================================================================
    695    Assembly Syntax:       Vd32.ub=vasr(Vu32.h,Vv32.h,Rt8):sat
    696    C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_VhVhR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
    697    Instruction Type:      CVI_VS
    698    Execution Slots:       SLOT0123
    699    ========================================================================== */
    700 
    701 #define Q6_Vub_vasr_VhVhR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhubsat)(Vu,Vv,Rt)
    702 #endif /* __HEXAGON_ARCH___ >= 60 */
    703 
    704 #if __HVX_ARCH__ >= 60
    705 /* ==========================================================================
    706    Assembly Syntax:       Vd32.h=vasr(Vu32.h,Vv32.h)
    707    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VhVh(HVX_Vector Vu, HVX_Vector Vv)
    708    Instruction Type:      CVI_VS
    709    Execution Slots:       SLOT0123
    710    ========================================================================== */
    711 
    712 #define Q6_Vh_vasr_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhv)(Vu,Vv)
    713 #endif /* __HEXAGON_ARCH___ >= 60 */
    714 
    715 #if __HVX_ARCH__ >= 60
    716 /* ==========================================================================
    717    Assembly Syntax:       Vd32.w=vasr(Vu32.w,Rt32)
    718    C Intrinsic Prototype: HVX_Vector Q6_Vw_vasr_VwR(HVX_Vector Vu, Word32 Rt)
    719    Instruction Type:      CVI_VS
    720    Execution Slots:       SLOT0123
    721    ========================================================================== */
    722 
    723 #define Q6_Vw_vasr_VwR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrw)(Vu,Rt)
    724 #endif /* __HEXAGON_ARCH___ >= 60 */
    725 
    726 #if __HVX_ARCH__ >= 60
    727 /* ==========================================================================
    728    Assembly Syntax:       Vx32.w+=vasr(Vu32.w,Rt32)
    729    C Intrinsic Prototype: HVX_Vector Q6_Vw_vasracc_VwVwR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
    730    Instruction Type:      CVI_VS
    731    Execution Slots:       SLOT0123
    732    ========================================================================== */
    733 
    734 #define Q6_Vw_vasracc_VwVwR(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrw_acc)(Vx,Vu,Rt)
    735 #endif /* __HEXAGON_ARCH___ >= 60 */
    736 
    737 #if __HVX_ARCH__ >= 60
    738 /* ==========================================================================
    739    Assembly Syntax:       Vd32.h=vasr(Vu32.w,Vv32.w,Rt8)
    740    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VwVwR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
    741    Instruction Type:      CVI_VS
    742    Execution Slots:       SLOT0123
    743    ========================================================================== */
    744 
    745 #define Q6_Vh_vasr_VwVwR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwh)(Vu,Vv,Rt)
    746 #endif /* __HEXAGON_ARCH___ >= 60 */
    747 
    748 #if __HVX_ARCH__ >= 60
    749 /* ==========================================================================
    750    Assembly Syntax:       Vd32.h=vasr(Vu32.w,Vv32.w,Rt8):rnd:sat
    751    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VwVwR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
    752    Instruction Type:      CVI_VS
    753    Execution Slots:       SLOT0123
    754    ========================================================================== */
    755 
    756 #define Q6_Vh_vasr_VwVwR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwhrndsat)(Vu,Vv,Rt)
    757 #endif /* __HEXAGON_ARCH___ >= 60 */
    758 
    759 #if __HVX_ARCH__ >= 60
    760 /* ==========================================================================
    761    Assembly Syntax:       Vd32.h=vasr(Vu32.w,Vv32.w,Rt8):sat
    762    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VwVwR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
    763    Instruction Type:      CVI_VS
    764    Execution Slots:       SLOT0123
    765    ========================================================================== */
    766 
    767 #define Q6_Vh_vasr_VwVwR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwhsat)(Vu,Vv,Rt)
    768 #endif /* __HEXAGON_ARCH___ >= 60 */
    769 
    770 #if __HVX_ARCH__ >= 60
    771 /* ==========================================================================
    772    Assembly Syntax:       Vd32.uh=vasr(Vu32.w,Vv32.w,Rt8):sat
    773    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_VwVwR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
    774    Instruction Type:      CVI_VS
    775    Execution Slots:       SLOT0123
    776    ========================================================================== */
    777 
    778 #define Q6_Vuh_vasr_VwVwR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwuhsat)(Vu,Vv,Rt)
    779 #endif /* __HEXAGON_ARCH___ >= 60 */
    780 
    781 #if __HVX_ARCH__ >= 60
    782 /* ==========================================================================
    783    Assembly Syntax:       Vd32.w=vasr(Vu32.w,Vv32.w)
    784    C Intrinsic Prototype: HVX_Vector Q6_Vw_vasr_VwVw(HVX_Vector Vu, HVX_Vector Vv)
    785    Instruction Type:      CVI_VS
    786    Execution Slots:       SLOT0123
    787    ========================================================================== */
    788 
    789 #define Q6_Vw_vasr_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwv)(Vu,Vv)
    790 #endif /* __HEXAGON_ARCH___ >= 60 */
    791 
    792 #if __HVX_ARCH__ >= 60
    793 /* ==========================================================================
    794    Assembly Syntax:       Vd32=Vu32
    795    C Intrinsic Prototype: HVX_Vector Q6_V_equals_V(HVX_Vector Vu)
    796    Instruction Type:      CVI_VA
    797    Execution Slots:       SLOT0123
    798    ========================================================================== */
    799 
    800 #define Q6_V_equals_V(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vassign)(Vu)
    801 #endif /* __HEXAGON_ARCH___ >= 60 */
    802 
    803 #if __HVX_ARCH__ >= 60
    804 /* ==========================================================================
    805    Assembly Syntax:       Vdd32=Vuu32
    806    C Intrinsic Prototype: HVX_VectorPair Q6_W_equals_W(HVX_VectorPair Vuu)
    807    Instruction Type:      CVI_VA_DV
    808    Execution Slots:       SLOT0123
    809    ========================================================================== */
    810 
    811 #define Q6_W_equals_W(Vuu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vassignp)(Vuu)
    812 #endif /* __HEXAGON_ARCH___ >= 60 */
    813 
    814 #if __HVX_ARCH__ >= 60
    815 /* ==========================================================================
    816    Assembly Syntax:       Vd32.h=vavg(Vu32.h,Vv32.h)
    817    C Intrinsic Prototype: HVX_Vector Q6_Vh_vavg_VhVh(HVX_Vector Vu, HVX_Vector Vv)
    818    Instruction Type:      CVI_VA
    819    Execution Slots:       SLOT0123
    820    ========================================================================== */
    821 
    822 #define Q6_Vh_vavg_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgh)(Vu,Vv)
    823 #endif /* __HEXAGON_ARCH___ >= 60 */
    824 
    825 #if __HVX_ARCH__ >= 60
    826 /* ==========================================================================
    827    Assembly Syntax:       Vd32.h=vavg(Vu32.h,Vv32.h):rnd
    828    C Intrinsic Prototype: HVX_Vector Q6_Vh_vavg_VhVh_rnd(HVX_Vector Vu, HVX_Vector Vv)
    829    Instruction Type:      CVI_VA
    830    Execution Slots:       SLOT0123
    831    ========================================================================== */
    832 
    833 #define Q6_Vh_vavg_VhVh_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavghrnd)(Vu,Vv)
    834 #endif /* __HEXAGON_ARCH___ >= 60 */
    835 
    836 #if __HVX_ARCH__ >= 60
    837 /* ==========================================================================
    838    Assembly Syntax:       Vd32.ub=vavg(Vu32.ub,Vv32.ub)
    839    C Intrinsic Prototype: HVX_Vector Q6_Vub_vavg_VubVub(HVX_Vector Vu, HVX_Vector Vv)
    840    Instruction Type:      CVI_VA
    841    Execution Slots:       SLOT0123
    842    ========================================================================== */
    843 
    844 #define Q6_Vub_vavg_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgub)(Vu,Vv)
    845 #endif /* __HEXAGON_ARCH___ >= 60 */
    846 
    847 #if __HVX_ARCH__ >= 60
    848 /* ==========================================================================
    849    Assembly Syntax:       Vd32.ub=vavg(Vu32.ub,Vv32.ub):rnd
    850    C Intrinsic Prototype: HVX_Vector Q6_Vub_vavg_VubVub_rnd(HVX_Vector Vu, HVX_Vector Vv)
    851    Instruction Type:      CVI_VA
    852    Execution Slots:       SLOT0123
    853    ========================================================================== */
    854 
    855 #define Q6_Vub_vavg_VubVub_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgubrnd)(Vu,Vv)
    856 #endif /* __HEXAGON_ARCH___ >= 60 */
    857 
    858 #if __HVX_ARCH__ >= 60
    859 /* ==========================================================================
    860    Assembly Syntax:       Vd32.uh=vavg(Vu32.uh,Vv32.uh)
    861    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vavg_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
    862    Instruction Type:      CVI_VA
    863    Execution Slots:       SLOT0123
    864    ========================================================================== */
    865 
    866 #define Q6_Vuh_vavg_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguh)(Vu,Vv)
    867 #endif /* __HEXAGON_ARCH___ >= 60 */
    868 
    869 #if __HVX_ARCH__ >= 60
    870 /* ==========================================================================
    871    Assembly Syntax:       Vd32.uh=vavg(Vu32.uh,Vv32.uh):rnd
    872    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vavg_VuhVuh_rnd(HVX_Vector Vu, HVX_Vector Vv)
    873    Instruction Type:      CVI_VA
    874    Execution Slots:       SLOT0123
    875    ========================================================================== */
    876 
    877 #define Q6_Vuh_vavg_VuhVuh_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguhrnd)(Vu,Vv)
    878 #endif /* __HEXAGON_ARCH___ >= 60 */
    879 
    880 #if __HVX_ARCH__ >= 60
    881 /* ==========================================================================
    882    Assembly Syntax:       Vd32.w=vavg(Vu32.w,Vv32.w)
    883    C Intrinsic Prototype: HVX_Vector Q6_Vw_vavg_VwVw(HVX_Vector Vu, HVX_Vector Vv)
    884    Instruction Type:      CVI_VA
    885    Execution Slots:       SLOT0123
    886    ========================================================================== */
    887 
    888 #define Q6_Vw_vavg_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgw)(Vu,Vv)
    889 #endif /* __HEXAGON_ARCH___ >= 60 */
    890 
    891 #if __HVX_ARCH__ >= 60
    892 /* ==========================================================================
    893    Assembly Syntax:       Vd32.w=vavg(Vu32.w,Vv32.w):rnd
    894    C Intrinsic Prototype: HVX_Vector Q6_Vw_vavg_VwVw_rnd(HVX_Vector Vu, HVX_Vector Vv)
    895    Instruction Type:      CVI_VA
    896    Execution Slots:       SLOT0123
    897    ========================================================================== */
    898 
    899 #define Q6_Vw_vavg_VwVw_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgwrnd)(Vu,Vv)
    900 #endif /* __HEXAGON_ARCH___ >= 60 */
    901 
    902 #if __HVX_ARCH__ >= 60
    903 /* ==========================================================================
    904    Assembly Syntax:       Vd32.uh=vcl0(Vu32.uh)
    905    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vcl0_Vuh(HVX_Vector Vu)
    906    Instruction Type:      CVI_VS
    907    Execution Slots:       SLOT0123
    908    ========================================================================== */
    909 
    910 #define Q6_Vuh_vcl0_Vuh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcl0h)(Vu)
    911 #endif /* __HEXAGON_ARCH___ >= 60 */
    912 
    913 #if __HVX_ARCH__ >= 60
    914 /* ==========================================================================
    915    Assembly Syntax:       Vd32.uw=vcl0(Vu32.uw)
    916    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vcl0_Vuw(HVX_Vector Vu)
    917    Instruction Type:      CVI_VS
    918    Execution Slots:       SLOT0123
    919    ========================================================================== */
    920 
    921 #define Q6_Vuw_vcl0_Vuw(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcl0w)(Vu)
    922 #endif /* __HEXAGON_ARCH___ >= 60 */
    923 
    924 #if __HVX_ARCH__ >= 60
    925 /* ==========================================================================
    926    Assembly Syntax:       Vdd32=vcombine(Vu32,Vv32)
    927    C Intrinsic Prototype: HVX_VectorPair Q6_W_vcombine_VV(HVX_Vector Vu, HVX_Vector Vv)
    928    Instruction Type:      CVI_VA_DV
    929    Execution Slots:       SLOT0123
    930    ========================================================================== */
    931 
    932 #define Q6_W_vcombine_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcombine)(Vu,Vv)
    933 #endif /* __HEXAGON_ARCH___ >= 60 */
    934 
    935 #if __HVX_ARCH__ >= 60
    936 /* ==========================================================================
    937    Assembly Syntax:       Vd32=#0
    938    C Intrinsic Prototype: HVX_Vector Q6_V_vzero()
    939    Instruction Type:      CVI_VA
    940    Execution Slots:       SLOT0123
    941    ========================================================================== */
    942 
    943 #define Q6_V_vzero() __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vd0)()
    944 #endif /* __HEXAGON_ARCH___ >= 60 */
    945 
    946 #if __HVX_ARCH__ >= 60
    947 /* ==========================================================================
    948    Assembly Syntax:       Vd32.b=vdeal(Vu32.b)
    949    C Intrinsic Prototype: HVX_Vector Q6_Vb_vdeal_Vb(HVX_Vector Vu)
    950    Instruction Type:      CVI_VP
    951    Execution Slots:       SLOT0123
    952    ========================================================================== */
    953 
    954 #define Q6_Vb_vdeal_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealb)(Vu)
    955 #endif /* __HEXAGON_ARCH___ >= 60 */
    956 
    957 #if __HVX_ARCH__ >= 60
    958 /* ==========================================================================
    959    Assembly Syntax:       Vd32.b=vdeale(Vu32.b,Vv32.b)
    960    C Intrinsic Prototype: HVX_Vector Q6_Vb_vdeale_VbVb(HVX_Vector Vu, HVX_Vector Vv)
    961    Instruction Type:      CVI_VP
    962    Execution Slots:       SLOT0123
    963    ========================================================================== */
    964 
    965 #define Q6_Vb_vdeale_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealb4w)(Vu,Vv)
    966 #endif /* __HEXAGON_ARCH___ >= 60 */
    967 
    968 #if __HVX_ARCH__ >= 60
    969 /* ==========================================================================
    970    Assembly Syntax:       Vd32.h=vdeal(Vu32.h)
    971    C Intrinsic Prototype: HVX_Vector Q6_Vh_vdeal_Vh(HVX_Vector Vu)
    972    Instruction Type:      CVI_VP
    973    Execution Slots:       SLOT0123
    974    ========================================================================== */
    975 
    976 #define Q6_Vh_vdeal_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealh)(Vu)
    977 #endif /* __HEXAGON_ARCH___ >= 60 */
    978 
    979 #if __HVX_ARCH__ >= 60
    980 /* ==========================================================================
    981    Assembly Syntax:       Vdd32=vdeal(Vu32,Vv32,Rt8)
    982    C Intrinsic Prototype: HVX_VectorPair Q6_W_vdeal_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
    983    Instruction Type:      CVI_VP_VS
    984    Execution Slots:       SLOT0123
    985    ========================================================================== */
    986 
    987 #define Q6_W_vdeal_VVR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealvdd)(Vu,Vv,Rt)
    988 #endif /* __HEXAGON_ARCH___ >= 60 */
    989 
    990 #if __HVX_ARCH__ >= 60
    991 /* ==========================================================================
    992    Assembly Syntax:       Vd32=vdelta(Vu32,Vv32)
    993    C Intrinsic Prototype: HVX_Vector Q6_V_vdelta_VV(HVX_Vector Vu, HVX_Vector Vv)
    994    Instruction Type:      CVI_VP
    995    Execution Slots:       SLOT0123
    996    ========================================================================== */
    997 
    998 #define Q6_V_vdelta_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdelta)(Vu,Vv)
    999 #endif /* __HEXAGON_ARCH___ >= 60 */
   1000 
   1001 #if __HVX_ARCH__ >= 60
   1002 /* ==========================================================================
   1003    Assembly Syntax:       Vd32.h=vdmpy(Vu32.ub,Rt32.b)
   1004    C Intrinsic Prototype: HVX_Vector Q6_Vh_vdmpy_VubRb(HVX_Vector Vu, Word32 Rt)
   1005    Instruction Type:      CVI_VX
   1006    Execution Slots:       SLOT23
   1007    ========================================================================== */
   1008 
   1009 #define Q6_Vh_vdmpy_VubRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus)(Vu,Rt)
   1010 #endif /* __HEXAGON_ARCH___ >= 60 */
   1011 
   1012 #if __HVX_ARCH__ >= 60
   1013 /* ==========================================================================
   1014    Assembly Syntax:       Vx32.h+=vdmpy(Vu32.ub,Rt32.b)
   1015    C Intrinsic Prototype: HVX_Vector Q6_Vh_vdmpyacc_VhVubRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   1016    Instruction Type:      CVI_VX
   1017    Execution Slots:       SLOT23
   1018    ========================================================================== */
   1019 
   1020 #define Q6_Vh_vdmpyacc_VhVubRb(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus_acc)(Vx,Vu,Rt)
   1021 #endif /* __HEXAGON_ARCH___ >= 60 */
   1022 
   1023 #if __HVX_ARCH__ >= 60
   1024 /* ==========================================================================
   1025    Assembly Syntax:       Vdd32.h=vdmpy(Vuu32.ub,Rt32.b)
   1026    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vdmpy_WubRb(HVX_VectorPair Vuu, Word32 Rt)
   1027    Instruction Type:      CVI_VX_DV
   1028    Execution Slots:       SLOT23
   1029    ========================================================================== */
   1030 
   1031 #define Q6_Wh_vdmpy_WubRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus_dv)(Vuu,Rt)
   1032 #endif /* __HEXAGON_ARCH___ >= 60 */
   1033 
   1034 #if __HVX_ARCH__ >= 60
   1035 /* ==========================================================================
   1036    Assembly Syntax:       Vxx32.h+=vdmpy(Vuu32.ub,Rt32.b)
   1037    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vdmpyacc_WhWubRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
   1038    Instruction Type:      CVI_VX_DV
   1039    Execution Slots:       SLOT23
   1040    ========================================================================== */
   1041 
   1042 #define Q6_Wh_vdmpyacc_WhWubRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus_dv_acc)(Vxx,Vuu,Rt)
   1043 #endif /* __HEXAGON_ARCH___ >= 60 */
   1044 
   1045 #if __HVX_ARCH__ >= 60
   1046 /* ==========================================================================
   1047    Assembly Syntax:       Vd32.w=vdmpy(Vu32.h,Rt32.b)
   1048    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhRb(HVX_Vector Vu, Word32 Rt)
   1049    Instruction Type:      CVI_VX
   1050    Execution Slots:       SLOT23
   1051    ========================================================================== */
   1052 
   1053 #define Q6_Vw_vdmpy_VhRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb)(Vu,Rt)
   1054 #endif /* __HEXAGON_ARCH___ >= 60 */
   1055 
   1056 #if __HVX_ARCH__ >= 60
   1057 /* ==========================================================================
   1058    Assembly Syntax:       Vx32.w+=vdmpy(Vu32.h,Rt32.b)
   1059    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   1060    Instruction Type:      CVI_VX
   1061    Execution Slots:       SLOT23
   1062    ========================================================================== */
   1063 
   1064 #define Q6_Vw_vdmpyacc_VwVhRb(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb_acc)(Vx,Vu,Rt)
   1065 #endif /* __HEXAGON_ARCH___ >= 60 */
   1066 
   1067 #if __HVX_ARCH__ >= 60
   1068 /* ==========================================================================
   1069    Assembly Syntax:       Vdd32.w=vdmpy(Vuu32.h,Rt32.b)
   1070    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vdmpy_WhRb(HVX_VectorPair Vuu, Word32 Rt)
   1071    Instruction Type:      CVI_VX_DV
   1072    Execution Slots:       SLOT23
   1073    ========================================================================== */
   1074 
   1075 #define Q6_Ww_vdmpy_WhRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb_dv)(Vuu,Rt)
   1076 #endif /* __HEXAGON_ARCH___ >= 60 */
   1077 
   1078 #if __HVX_ARCH__ >= 60
   1079 /* ==========================================================================
   1080    Assembly Syntax:       Vxx32.w+=vdmpy(Vuu32.h,Rt32.b)
   1081    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vdmpyacc_WwWhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
   1082    Instruction Type:      CVI_VX_DV
   1083    Execution Slots:       SLOT23
   1084    ========================================================================== */
   1085 
   1086 #define Q6_Ww_vdmpyacc_WwWhRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb_dv_acc)(Vxx,Vuu,Rt)
   1087 #endif /* __HEXAGON_ARCH___ >= 60 */
   1088 
   1089 #if __HVX_ARCH__ >= 60
   1090 /* ==========================================================================
   1091    Assembly Syntax:       Vd32.w=vdmpy(Vuu32.h,Rt32.h):sat
   1092    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_WhRh_sat(HVX_VectorPair Vuu, Word32 Rt)
   1093    Instruction Type:      CVI_VX_DV
   1094    Execution Slots:       SLOT23
   1095    ========================================================================== */
   1096 
   1097 #define Q6_Vw_vdmpy_WhRh_sat(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhisat)(Vuu,Rt)
   1098 #endif /* __HEXAGON_ARCH___ >= 60 */
   1099 
   1100 #if __HVX_ARCH__ >= 60
   1101 /* ==========================================================================
   1102    Assembly Syntax:       Vx32.w+=vdmpy(Vuu32.h,Rt32.h):sat
   1103    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwWhRh_sat(HVX_Vector Vx, HVX_VectorPair Vuu, Word32 Rt)
   1104    Instruction Type:      CVI_VX_DV
   1105    Execution Slots:       SLOT23
   1106    ========================================================================== */
   1107 
   1108 #define Q6_Vw_vdmpyacc_VwWhRh_sat(Vx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhisat_acc)(Vx,Vuu,Rt)
   1109 #endif /* __HEXAGON_ARCH___ >= 60 */
   1110 
   1111 #if __HVX_ARCH__ >= 60
   1112 /* ==========================================================================
   1113    Assembly Syntax:       Vd32.w=vdmpy(Vu32.h,Rt32.h):sat
   1114    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhRh_sat(HVX_Vector Vu, Word32 Rt)
   1115    Instruction Type:      CVI_VX
   1116    Execution Slots:       SLOT23
   1117    ========================================================================== */
   1118 
   1119 #define Q6_Vw_vdmpy_VhRh_sat(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsat)(Vu,Rt)
   1120 #endif /* __HEXAGON_ARCH___ >= 60 */
   1121 
   1122 #if __HVX_ARCH__ >= 60
   1123 /* ==========================================================================
   1124    Assembly Syntax:       Vx32.w+=vdmpy(Vu32.h,Rt32.h):sat
   1125    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhRh_sat(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   1126    Instruction Type:      CVI_VX
   1127    Execution Slots:       SLOT23
   1128    ========================================================================== */
   1129 
   1130 #define Q6_Vw_vdmpyacc_VwVhRh_sat(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsat_acc)(Vx,Vu,Rt)
   1131 #endif /* __HEXAGON_ARCH___ >= 60 */
   1132 
   1133 #if __HVX_ARCH__ >= 60
   1134 /* ==========================================================================
   1135    Assembly Syntax:       Vd32.w=vdmpy(Vuu32.h,Rt32.uh,#1):sat
   1136    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_WhRuh_sat(HVX_VectorPair Vuu, Word32 Rt)
   1137    Instruction Type:      CVI_VX_DV
   1138    Execution Slots:       SLOT23
   1139    ========================================================================== */
   1140 
   1141 #define Q6_Vw_vdmpy_WhRuh_sat(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsuisat)(Vuu,Rt)
   1142 #endif /* __HEXAGON_ARCH___ >= 60 */
   1143 
   1144 #if __HVX_ARCH__ >= 60
   1145 /* ==========================================================================
   1146    Assembly Syntax:       Vx32.w+=vdmpy(Vuu32.h,Rt32.uh,#1):sat
   1147    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwWhRuh_sat(HVX_Vector Vx, HVX_VectorPair Vuu, Word32 Rt)
   1148    Instruction Type:      CVI_VX_DV
   1149    Execution Slots:       SLOT23
   1150    ========================================================================== */
   1151 
   1152 #define Q6_Vw_vdmpyacc_VwWhRuh_sat(Vx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsuisat_acc)(Vx,Vuu,Rt)
   1153 #endif /* __HEXAGON_ARCH___ >= 60 */
   1154 
   1155 #if __HVX_ARCH__ >= 60
   1156 /* ==========================================================================
   1157    Assembly Syntax:       Vd32.w=vdmpy(Vu32.h,Rt32.uh):sat
   1158    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhRuh_sat(HVX_Vector Vu, Word32 Rt)
   1159    Instruction Type:      CVI_VX
   1160    Execution Slots:       SLOT23
   1161    ========================================================================== */
   1162 
   1163 #define Q6_Vw_vdmpy_VhRuh_sat(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsusat)(Vu,Rt)
   1164 #endif /* __HEXAGON_ARCH___ >= 60 */
   1165 
   1166 #if __HVX_ARCH__ >= 60
   1167 /* ==========================================================================
   1168    Assembly Syntax:       Vx32.w+=vdmpy(Vu32.h,Rt32.uh):sat
   1169    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhRuh_sat(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   1170    Instruction Type:      CVI_VX
   1171    Execution Slots:       SLOT23
   1172    ========================================================================== */
   1173 
   1174 #define Q6_Vw_vdmpyacc_VwVhRuh_sat(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsusat_acc)(Vx,Vu,Rt)
   1175 #endif /* __HEXAGON_ARCH___ >= 60 */
   1176 
   1177 #if __HVX_ARCH__ >= 60
   1178 /* ==========================================================================
   1179    Assembly Syntax:       Vd32.w=vdmpy(Vu32.h,Vv32.h):sat
   1180    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
   1181    Instruction Type:      CVI_VX
   1182    Execution Slots:       SLOT23
   1183    ========================================================================== */
   1184 
   1185 #define Q6_Vw_vdmpy_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhvsat)(Vu,Vv)
   1186 #endif /* __HEXAGON_ARCH___ >= 60 */
   1187 
   1188 #if __HVX_ARCH__ >= 60
   1189 /* ==========================================================================
   1190    Assembly Syntax:       Vx32.w+=vdmpy(Vu32.h,Vv32.h):sat
   1191    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhVh_sat(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   1192    Instruction Type:      CVI_VX_DV
   1193    Execution Slots:       SLOT23
   1194    ========================================================================== */
   1195 
   1196 #define Q6_Vw_vdmpyacc_VwVhVh_sat(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhvsat_acc)(Vx,Vu,Vv)
   1197 #endif /* __HEXAGON_ARCH___ >= 60 */
   1198 
   1199 #if __HVX_ARCH__ >= 60
   1200 /* ==========================================================================
   1201    Assembly Syntax:       Vdd32.uw=vdsad(Vuu32.uh,Rt32.uh)
   1202    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vdsad_WuhRuh(HVX_VectorPair Vuu, Word32 Rt)
   1203    Instruction Type:      CVI_VX_DV
   1204    Execution Slots:       SLOT23
   1205    ========================================================================== */
   1206 
   1207 #define Q6_Wuw_vdsad_WuhRuh(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdsaduh)(Vuu,Rt)
   1208 #endif /* __HEXAGON_ARCH___ >= 60 */
   1209 
   1210 #if __HVX_ARCH__ >= 60
   1211 /* ==========================================================================
   1212    Assembly Syntax:       Vxx32.uw+=vdsad(Vuu32.uh,Rt32.uh)
   1213    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vdsadacc_WuwWuhRuh(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
   1214    Instruction Type:      CVI_VX_DV
   1215    Execution Slots:       SLOT23
   1216    ========================================================================== */
   1217 
   1218 #define Q6_Wuw_vdsadacc_WuwWuhRuh(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdsaduh_acc)(Vxx,Vuu,Rt)
   1219 #endif /* __HEXAGON_ARCH___ >= 60 */
   1220 
   1221 #if __HVX_ARCH__ >= 60
   1222 /* ==========================================================================
   1223    Assembly Syntax:       Qd4=vcmp.eq(Vu32.b,Vv32.b)
   1224    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   1225    Instruction Type:      CVI_VA
   1226    Execution Slots:       SLOT0123
   1227    ========================================================================== */
   1228 
   1229 #define Q6_Q_vcmp_eq_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb)(Vu,Vv)),-1)
   1230 #endif /* __HEXAGON_ARCH___ >= 60 */
   1231 
   1232 #if __HVX_ARCH__ >= 60
   1233 /* ==========================================================================
   1234    Assembly Syntax:       Qx4&=vcmp.eq(Vu32.b,Vv32.b)
   1235    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1236    Instruction Type:      CVI_VA
   1237    Execution Slots:       SLOT0123
   1238    ========================================================================== */
   1239 
   1240 #define Q6_Q_vcmp_eqand_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1241 #endif /* __HEXAGON_ARCH___ >= 60 */
   1242 
   1243 #if __HVX_ARCH__ >= 60
   1244 /* ==========================================================================
   1245    Assembly Syntax:       Qx4|=vcmp.eq(Vu32.b,Vv32.b)
   1246    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1247    Instruction Type:      CVI_VA
   1248    Execution Slots:       SLOT0123
   1249    ========================================================================== */
   1250 
   1251 #define Q6_Q_vcmp_eqor_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1252 #endif /* __HEXAGON_ARCH___ >= 60 */
   1253 
   1254 #if __HVX_ARCH__ >= 60
   1255 /* ==========================================================================
   1256    Assembly Syntax:       Qx4^=vcmp.eq(Vu32.b,Vv32.b)
   1257    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1258    Instruction Type:      CVI_VA
   1259    Execution Slots:       SLOT0123
   1260    ========================================================================== */
   1261 
   1262 #define Q6_Q_vcmp_eqxacc_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1263 #endif /* __HEXAGON_ARCH___ >= 60 */
   1264 
   1265 #if __HVX_ARCH__ >= 60
   1266 /* ==========================================================================
   1267    Assembly Syntax:       Qd4=vcmp.eq(Vu32.h,Vv32.h)
   1268    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   1269    Instruction Type:      CVI_VA
   1270    Execution Slots:       SLOT0123
   1271    ========================================================================== */
   1272 
   1273 #define Q6_Q_vcmp_eq_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh)(Vu,Vv)),-1)
   1274 #endif /* __HEXAGON_ARCH___ >= 60 */
   1275 
   1276 #if __HVX_ARCH__ >= 60
   1277 /* ==========================================================================
   1278    Assembly Syntax:       Qx4&=vcmp.eq(Vu32.h,Vv32.h)
   1279    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1280    Instruction Type:      CVI_VA
   1281    Execution Slots:       SLOT0123
   1282    ========================================================================== */
   1283 
   1284 #define Q6_Q_vcmp_eqand_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1285 #endif /* __HEXAGON_ARCH___ >= 60 */
   1286 
   1287 #if __HVX_ARCH__ >= 60
   1288 /* ==========================================================================
   1289    Assembly Syntax:       Qx4|=vcmp.eq(Vu32.h,Vv32.h)
   1290    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1291    Instruction Type:      CVI_VA
   1292    Execution Slots:       SLOT0123
   1293    ========================================================================== */
   1294 
   1295 #define Q6_Q_vcmp_eqor_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1296 #endif /* __HEXAGON_ARCH___ >= 60 */
   1297 
   1298 #if __HVX_ARCH__ >= 60
   1299 /* ==========================================================================
   1300    Assembly Syntax:       Qx4^=vcmp.eq(Vu32.h,Vv32.h)
   1301    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1302    Instruction Type:      CVI_VA
   1303    Execution Slots:       SLOT0123
   1304    ========================================================================== */
   1305 
   1306 #define Q6_Q_vcmp_eqxacc_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1307 #endif /* __HEXAGON_ARCH___ >= 60 */
   1308 
   1309 #if __HVX_ARCH__ >= 60
   1310 /* ==========================================================================
   1311    Assembly Syntax:       Qd4=vcmp.eq(Vu32.w,Vv32.w)
   1312    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   1313    Instruction Type:      CVI_VA
   1314    Execution Slots:       SLOT0123
   1315    ========================================================================== */
   1316 
   1317 #define Q6_Q_vcmp_eq_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw)(Vu,Vv)),-1)
   1318 #endif /* __HEXAGON_ARCH___ >= 60 */
   1319 
   1320 #if __HVX_ARCH__ >= 60
   1321 /* ==========================================================================
   1322    Assembly Syntax:       Qx4&=vcmp.eq(Vu32.w,Vv32.w)
   1323    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1324    Instruction Type:      CVI_VA
   1325    Execution Slots:       SLOT0123
   1326    ========================================================================== */
   1327 
   1328 #define Q6_Q_vcmp_eqand_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1329 #endif /* __HEXAGON_ARCH___ >= 60 */
   1330 
   1331 #if __HVX_ARCH__ >= 60
   1332 /* ==========================================================================
   1333    Assembly Syntax:       Qx4|=vcmp.eq(Vu32.w,Vv32.w)
   1334    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1335    Instruction Type:      CVI_VA
   1336    Execution Slots:       SLOT0123
   1337    ========================================================================== */
   1338 
   1339 #define Q6_Q_vcmp_eqor_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1340 #endif /* __HEXAGON_ARCH___ >= 60 */
   1341 
   1342 #if __HVX_ARCH__ >= 60
   1343 /* ==========================================================================
   1344    Assembly Syntax:       Qx4^=vcmp.eq(Vu32.w,Vv32.w)
   1345    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1346    Instruction Type:      CVI_VA
   1347    Execution Slots:       SLOT0123
   1348    ========================================================================== */
   1349 
   1350 #define Q6_Q_vcmp_eqxacc_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1351 #endif /* __HEXAGON_ARCH___ >= 60 */
   1352 
   1353 #if __HVX_ARCH__ >= 60
   1354 /* ==========================================================================
   1355    Assembly Syntax:       Qd4=vcmp.gt(Vu32.b,Vv32.b)
   1356    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   1357    Instruction Type:      CVI_VA
   1358    Execution Slots:       SLOT0123
   1359    ========================================================================== */
   1360 
   1361 #define Q6_Q_vcmp_gt_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb)(Vu,Vv)),-1)
   1362 #endif /* __HEXAGON_ARCH___ >= 60 */
   1363 
   1364 #if __HVX_ARCH__ >= 60
   1365 /* ==========================================================================
   1366    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.b,Vv32.b)
   1367    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1368    Instruction Type:      CVI_VA
   1369    Execution Slots:       SLOT0123
   1370    ========================================================================== */
   1371 
   1372 #define Q6_Q_vcmp_gtand_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1373 #endif /* __HEXAGON_ARCH___ >= 60 */
   1374 
   1375 #if __HVX_ARCH__ >= 60
   1376 /* ==========================================================================
   1377    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.b,Vv32.b)
   1378    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1379    Instruction Type:      CVI_VA
   1380    Execution Slots:       SLOT0123
   1381    ========================================================================== */
   1382 
   1383 #define Q6_Q_vcmp_gtor_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1384 #endif /* __HEXAGON_ARCH___ >= 60 */
   1385 
   1386 #if __HVX_ARCH__ >= 60
   1387 /* ==========================================================================
   1388    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.b,Vv32.b)
   1389    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1390    Instruction Type:      CVI_VA
   1391    Execution Slots:       SLOT0123
   1392    ========================================================================== */
   1393 
   1394 #define Q6_Q_vcmp_gtxacc_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1395 #endif /* __HEXAGON_ARCH___ >= 60 */
   1396 
   1397 #if __HVX_ARCH__ >= 60
   1398 /* ==========================================================================
   1399    Assembly Syntax:       Qd4=vcmp.gt(Vu32.h,Vv32.h)
   1400    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   1401    Instruction Type:      CVI_VA
   1402    Execution Slots:       SLOT0123
   1403    ========================================================================== */
   1404 
   1405 #define Q6_Q_vcmp_gt_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth)(Vu,Vv)),-1)
   1406 #endif /* __HEXAGON_ARCH___ >= 60 */
   1407 
   1408 #if __HVX_ARCH__ >= 60
   1409 /* ==========================================================================
   1410    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.h,Vv32.h)
   1411    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1412    Instruction Type:      CVI_VA
   1413    Execution Slots:       SLOT0123
   1414    ========================================================================== */
   1415 
   1416 #define Q6_Q_vcmp_gtand_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1417 #endif /* __HEXAGON_ARCH___ >= 60 */
   1418 
   1419 #if __HVX_ARCH__ >= 60
   1420 /* ==========================================================================
   1421    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.h,Vv32.h)
   1422    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1423    Instruction Type:      CVI_VA
   1424    Execution Slots:       SLOT0123
   1425    ========================================================================== */
   1426 
   1427 #define Q6_Q_vcmp_gtor_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1428 #endif /* __HEXAGON_ARCH___ >= 60 */
   1429 
   1430 #if __HVX_ARCH__ >= 60
   1431 /* ==========================================================================
   1432    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.h,Vv32.h)
   1433    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1434    Instruction Type:      CVI_VA
   1435    Execution Slots:       SLOT0123
   1436    ========================================================================== */
   1437 
   1438 #define Q6_Q_vcmp_gtxacc_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1439 #endif /* __HEXAGON_ARCH___ >= 60 */
   1440 
   1441 #if __HVX_ARCH__ >= 60
   1442 /* ==========================================================================
   1443    Assembly Syntax:       Qd4=vcmp.gt(Vu32.ub,Vv32.ub)
   1444    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VubVub(HVX_Vector Vu, HVX_Vector Vv)
   1445    Instruction Type:      CVI_VA
   1446    Execution Slots:       SLOT0123
   1447    ========================================================================== */
   1448 
   1449 #define Q6_Q_vcmp_gt_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub)(Vu,Vv)),-1)
   1450 #endif /* __HEXAGON_ARCH___ >= 60 */
   1451 
   1452 #if __HVX_ARCH__ >= 60
   1453 /* ==========================================================================
   1454    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.ub,Vv32.ub)
   1455    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVubVub(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1456    Instruction Type:      CVI_VA
   1457    Execution Slots:       SLOT0123
   1458    ========================================================================== */
   1459 
   1460 #define Q6_Q_vcmp_gtand_QVubVub(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1461 #endif /* __HEXAGON_ARCH___ >= 60 */
   1462 
   1463 #if __HVX_ARCH__ >= 60
   1464 /* ==========================================================================
   1465    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.ub,Vv32.ub)
   1466    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVubVub(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1467    Instruction Type:      CVI_VA
   1468    Execution Slots:       SLOT0123
   1469    ========================================================================== */
   1470 
   1471 #define Q6_Q_vcmp_gtor_QVubVub(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1472 #endif /* __HEXAGON_ARCH___ >= 60 */
   1473 
   1474 #if __HVX_ARCH__ >= 60
   1475 /* ==========================================================================
   1476    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.ub,Vv32.ub)
   1477    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVubVub(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1478    Instruction Type:      CVI_VA
   1479    Execution Slots:       SLOT0123
   1480    ========================================================================== */
   1481 
   1482 #define Q6_Q_vcmp_gtxacc_QVubVub(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1483 #endif /* __HEXAGON_ARCH___ >= 60 */
   1484 
   1485 #if __HVX_ARCH__ >= 60
   1486 /* ==========================================================================
   1487    Assembly Syntax:       Qd4=vcmp.gt(Vu32.uh,Vv32.uh)
   1488    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
   1489    Instruction Type:      CVI_VA
   1490    Execution Slots:       SLOT0123
   1491    ========================================================================== */
   1492 
   1493 #define Q6_Q_vcmp_gt_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh)(Vu,Vv)),-1)
   1494 #endif /* __HEXAGON_ARCH___ >= 60 */
   1495 
   1496 #if __HVX_ARCH__ >= 60
   1497 /* ==========================================================================
   1498    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.uh,Vv32.uh)
   1499    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVuhVuh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1500    Instruction Type:      CVI_VA
   1501    Execution Slots:       SLOT0123
   1502    ========================================================================== */
   1503 
   1504 #define Q6_Q_vcmp_gtand_QVuhVuh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1505 #endif /* __HEXAGON_ARCH___ >= 60 */
   1506 
   1507 #if __HVX_ARCH__ >= 60
   1508 /* ==========================================================================
   1509    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.uh,Vv32.uh)
   1510    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVuhVuh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1511    Instruction Type:      CVI_VA
   1512    Execution Slots:       SLOT0123
   1513    ========================================================================== */
   1514 
   1515 #define Q6_Q_vcmp_gtor_QVuhVuh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1516 #endif /* __HEXAGON_ARCH___ >= 60 */
   1517 
   1518 #if __HVX_ARCH__ >= 60
   1519 /* ==========================================================================
   1520    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.uh,Vv32.uh)
   1521    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVuhVuh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1522    Instruction Type:      CVI_VA
   1523    Execution Slots:       SLOT0123
   1524    ========================================================================== */
   1525 
   1526 #define Q6_Q_vcmp_gtxacc_QVuhVuh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1527 #endif /* __HEXAGON_ARCH___ >= 60 */
   1528 
   1529 #if __HVX_ARCH__ >= 60
   1530 /* ==========================================================================
   1531    Assembly Syntax:       Qd4=vcmp.gt(Vu32.uw,Vv32.uw)
   1532    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VuwVuw(HVX_Vector Vu, HVX_Vector Vv)
   1533    Instruction Type:      CVI_VA
   1534    Execution Slots:       SLOT0123
   1535    ========================================================================== */
   1536 
   1537 #define Q6_Q_vcmp_gt_VuwVuw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw)(Vu,Vv)),-1)
   1538 #endif /* __HEXAGON_ARCH___ >= 60 */
   1539 
   1540 #if __HVX_ARCH__ >= 60
   1541 /* ==========================================================================
   1542    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.uw,Vv32.uw)
   1543    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVuwVuw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1544    Instruction Type:      CVI_VA
   1545    Execution Slots:       SLOT0123
   1546    ========================================================================== */
   1547 
   1548 #define Q6_Q_vcmp_gtand_QVuwVuw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1549 #endif /* __HEXAGON_ARCH___ >= 60 */
   1550 
   1551 #if __HVX_ARCH__ >= 60
   1552 /* ==========================================================================
   1553    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.uw,Vv32.uw)
   1554    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVuwVuw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1555    Instruction Type:      CVI_VA
   1556    Execution Slots:       SLOT0123
   1557    ========================================================================== */
   1558 
   1559 #define Q6_Q_vcmp_gtor_QVuwVuw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1560 #endif /* __HEXAGON_ARCH___ >= 60 */
   1561 
   1562 #if __HVX_ARCH__ >= 60
   1563 /* ==========================================================================
   1564    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.uw,Vv32.uw)
   1565    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVuwVuw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1566    Instruction Type:      CVI_VA
   1567    Execution Slots:       SLOT0123
   1568    ========================================================================== */
   1569 
   1570 #define Q6_Q_vcmp_gtxacc_QVuwVuw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1571 #endif /* __HEXAGON_ARCH___ >= 60 */
   1572 
   1573 #if __HVX_ARCH__ >= 60
   1574 /* ==========================================================================
   1575    Assembly Syntax:       Qd4=vcmp.gt(Vu32.w,Vv32.w)
   1576    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   1577    Instruction Type:      CVI_VA
   1578    Execution Slots:       SLOT0123
   1579    ========================================================================== */
   1580 
   1581 #define Q6_Q_vcmp_gt_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw)(Vu,Vv)),-1)
   1582 #endif /* __HEXAGON_ARCH___ >= 60 */
   1583 
   1584 #if __HVX_ARCH__ >= 60
   1585 /* ==========================================================================
   1586    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.w,Vv32.w)
   1587    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1588    Instruction Type:      CVI_VA
   1589    Execution Slots:       SLOT0123
   1590    ========================================================================== */
   1591 
   1592 #define Q6_Q_vcmp_gtand_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1593 #endif /* __HEXAGON_ARCH___ >= 60 */
   1594 
   1595 #if __HVX_ARCH__ >= 60
   1596 /* ==========================================================================
   1597    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.w,Vv32.w)
   1598    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1599    Instruction Type:      CVI_VA
   1600    Execution Slots:       SLOT0123
   1601    ========================================================================== */
   1602 
   1603 #define Q6_Q_vcmp_gtor_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1604 #endif /* __HEXAGON_ARCH___ >= 60 */
   1605 
   1606 #if __HVX_ARCH__ >= 60
   1607 /* ==========================================================================
   1608    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.w,Vv32.w)
   1609    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   1610    Instruction Type:      CVI_VA
   1611    Execution Slots:       SLOT0123
   1612    ========================================================================== */
   1613 
   1614 #define Q6_Q_vcmp_gtxacc_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   1615 #endif /* __HEXAGON_ARCH___ >= 60 */
   1616 
   1617 #if __HVX_ARCH__ >= 60
   1618 /* ==========================================================================
   1619    Assembly Syntax:       Vx32.w=vinsert(Rt32)
   1620    C Intrinsic Prototype: HVX_Vector Q6_Vw_vinsert_VwR(HVX_Vector Vx, Word32 Rt)
   1621    Instruction Type:      CVI_VX_LATE
   1622    Execution Slots:       SLOT23
   1623    ========================================================================== */
   1624 
   1625 #define Q6_Vw_vinsert_VwR(Vx,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vinsertwr)(Vx,Rt)
   1626 #endif /* __HEXAGON_ARCH___ >= 60 */
   1627 
   1628 #if __HVX_ARCH__ >= 60
   1629 /* ==========================================================================
   1630    Assembly Syntax:       Vd32=vlalign(Vu32,Vv32,Rt8)
   1631    C Intrinsic Prototype: HVX_Vector Q6_V_vlalign_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   1632    Instruction Type:      CVI_VP
   1633    Execution Slots:       SLOT0123
   1634    ========================================================================== */
   1635 
   1636 #define Q6_V_vlalign_VVR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlalignb)(Vu,Vv,Rt)
   1637 #endif /* __HEXAGON_ARCH___ >= 60 */
   1638 
   1639 #if __HVX_ARCH__ >= 60
   1640 /* ==========================================================================
   1641    Assembly Syntax:       Vd32=vlalign(Vu32,Vv32,#u3)
   1642    C Intrinsic Prototype: HVX_Vector Q6_V_vlalign_VVI(HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
   1643    Instruction Type:      CVI_VP
   1644    Execution Slots:       SLOT0123
   1645    ========================================================================== */
   1646 
   1647 #define Q6_V_vlalign_VVI(Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlalignbi)(Vu,Vv,Iu3)
   1648 #endif /* __HEXAGON_ARCH___ >= 60 */
   1649 
   1650 #if __HVX_ARCH__ >= 60
   1651 /* ==========================================================================
   1652    Assembly Syntax:       Vd32.uh=vlsr(Vu32.uh,Rt32)
   1653    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vlsr_VuhR(HVX_Vector Vu, Word32 Rt)
   1654    Instruction Type:      CVI_VS
   1655    Execution Slots:       SLOT0123
   1656    ========================================================================== */
   1657 
   1658 #define Q6_Vuh_vlsr_VuhR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrh)(Vu,Rt)
   1659 #endif /* __HEXAGON_ARCH___ >= 60 */
   1660 
   1661 #if __HVX_ARCH__ >= 60
   1662 /* ==========================================================================
   1663    Assembly Syntax:       Vd32.h=vlsr(Vu32.h,Vv32.h)
   1664    C Intrinsic Prototype: HVX_Vector Q6_Vh_vlsr_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   1665    Instruction Type:      CVI_VS
   1666    Execution Slots:       SLOT0123
   1667    ========================================================================== */
   1668 
   1669 #define Q6_Vh_vlsr_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrhv)(Vu,Vv)
   1670 #endif /* __HEXAGON_ARCH___ >= 60 */
   1671 
   1672 #if __HVX_ARCH__ >= 60
   1673 /* ==========================================================================
   1674    Assembly Syntax:       Vd32.uw=vlsr(Vu32.uw,Rt32)
   1675    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vlsr_VuwR(HVX_Vector Vu, Word32 Rt)
   1676    Instruction Type:      CVI_VS
   1677    Execution Slots:       SLOT0123
   1678    ========================================================================== */
   1679 
   1680 #define Q6_Vuw_vlsr_VuwR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrw)(Vu,Rt)
   1681 #endif /* __HEXAGON_ARCH___ >= 60 */
   1682 
   1683 #if __HVX_ARCH__ >= 60
   1684 /* ==========================================================================
   1685    Assembly Syntax:       Vd32.w=vlsr(Vu32.w,Vv32.w)
   1686    C Intrinsic Prototype: HVX_Vector Q6_Vw_vlsr_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   1687    Instruction Type:      CVI_VS
   1688    Execution Slots:       SLOT0123
   1689    ========================================================================== */
   1690 
   1691 #define Q6_Vw_vlsr_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrwv)(Vu,Vv)
   1692 #endif /* __HEXAGON_ARCH___ >= 60 */
   1693 
   1694 #if __HVX_ARCH__ >= 60
   1695 /* ==========================================================================
   1696    Assembly Syntax:       Vd32.b=vlut32(Vu32.b,Vv32.b,Rt8)
   1697    C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32_VbVbR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   1698    Instruction Type:      CVI_VP
   1699    Execution Slots:       SLOT0123
   1700    ========================================================================== */
   1701 
   1702 #define Q6_Vb_vlut32_VbVbR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb)(Vu,Vv,Rt)
   1703 #endif /* __HEXAGON_ARCH___ >= 60 */
   1704 
   1705 #if __HVX_ARCH__ >= 60
   1706 /* ==========================================================================
   1707    Assembly Syntax:       Vx32.b|=vlut32(Vu32.b,Vv32.b,Rt8)
   1708    C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32or_VbVbVbR(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   1709    Instruction Type:      CVI_VP_VS
   1710    Execution Slots:       SLOT0123
   1711    ========================================================================== */
   1712 
   1713 #define Q6_Vb_vlut32or_VbVbVbR(Vx,Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb_oracc)(Vx,Vu,Vv,Rt)
   1714 #endif /* __HEXAGON_ARCH___ >= 60 */
   1715 
   1716 #if __HVX_ARCH__ >= 60
   1717 /* ==========================================================================
   1718    Assembly Syntax:       Vdd32.h=vlut16(Vu32.b,Vv32.h,Rt8)
   1719    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16_VbVhR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   1720    Instruction Type:      CVI_VP_VS
   1721    Execution Slots:       SLOT0123
   1722    ========================================================================== */
   1723 
   1724 #define Q6_Wh_vlut16_VbVhR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh)(Vu,Vv,Rt)
   1725 #endif /* __HEXAGON_ARCH___ >= 60 */
   1726 
   1727 #if __HVX_ARCH__ >= 60
   1728 /* ==========================================================================
   1729    Assembly Syntax:       Vxx32.h|=vlut16(Vu32.b,Vv32.h,Rt8)
   1730    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16or_WhVbVhR(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   1731    Instruction Type:      CVI_VP_VS
   1732    Execution Slots:       SLOT0123
   1733    ========================================================================== */
   1734 
   1735 #define Q6_Wh_vlut16or_WhVbVhR(Vxx,Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh_oracc)(Vxx,Vu,Vv,Rt)
   1736 #endif /* __HEXAGON_ARCH___ >= 60 */
   1737 
   1738 #if __HVX_ARCH__ >= 60
   1739 /* ==========================================================================
   1740    Assembly Syntax:       Vd32.h=vmax(Vu32.h,Vv32.h)
   1741    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmax_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   1742    Instruction Type:      CVI_VA
   1743    Execution Slots:       SLOT0123
   1744    ========================================================================== */
   1745 
   1746 #define Q6_Vh_vmax_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxh)(Vu,Vv)
   1747 #endif /* __HEXAGON_ARCH___ >= 60 */
   1748 
   1749 #if __HVX_ARCH__ >= 60
   1750 /* ==========================================================================
   1751    Assembly Syntax:       Vd32.ub=vmax(Vu32.ub,Vv32.ub)
   1752    C Intrinsic Prototype: HVX_Vector Q6_Vub_vmax_VubVub(HVX_Vector Vu, HVX_Vector Vv)
   1753    Instruction Type:      CVI_VA
   1754    Execution Slots:       SLOT0123
   1755    ========================================================================== */
   1756 
   1757 #define Q6_Vub_vmax_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxub)(Vu,Vv)
   1758 #endif /* __HEXAGON_ARCH___ >= 60 */
   1759 
   1760 #if __HVX_ARCH__ >= 60
   1761 /* ==========================================================================
   1762    Assembly Syntax:       Vd32.uh=vmax(Vu32.uh,Vv32.uh)
   1763    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vmax_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
   1764    Instruction Type:      CVI_VA
   1765    Execution Slots:       SLOT0123
   1766    ========================================================================== */
   1767 
   1768 #define Q6_Vuh_vmax_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxuh)(Vu,Vv)
   1769 #endif /* __HEXAGON_ARCH___ >= 60 */
   1770 
   1771 #if __HVX_ARCH__ >= 60
   1772 /* ==========================================================================
   1773    Assembly Syntax:       Vd32.w=vmax(Vu32.w,Vv32.w)
   1774    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmax_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   1775    Instruction Type:      CVI_VA
   1776    Execution Slots:       SLOT0123
   1777    ========================================================================== */
   1778 
   1779 #define Q6_Vw_vmax_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxw)(Vu,Vv)
   1780 #endif /* __HEXAGON_ARCH___ >= 60 */
   1781 
   1782 #if __HVX_ARCH__ >= 60
   1783 /* ==========================================================================
   1784    Assembly Syntax:       Vd32.h=vmin(Vu32.h,Vv32.h)
   1785    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmin_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   1786    Instruction Type:      CVI_VA
   1787    Execution Slots:       SLOT0123
   1788    ========================================================================== */
   1789 
   1790 #define Q6_Vh_vmin_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminh)(Vu,Vv)
   1791 #endif /* __HEXAGON_ARCH___ >= 60 */
   1792 
   1793 #if __HVX_ARCH__ >= 60
   1794 /* ==========================================================================
   1795    Assembly Syntax:       Vd32.ub=vmin(Vu32.ub,Vv32.ub)
   1796    C Intrinsic Prototype: HVX_Vector Q6_Vub_vmin_VubVub(HVX_Vector Vu, HVX_Vector Vv)
   1797    Instruction Type:      CVI_VA
   1798    Execution Slots:       SLOT0123
   1799    ========================================================================== */
   1800 
   1801 #define Q6_Vub_vmin_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminub)(Vu,Vv)
   1802 #endif /* __HEXAGON_ARCH___ >= 60 */
   1803 
   1804 #if __HVX_ARCH__ >= 60
   1805 /* ==========================================================================
   1806    Assembly Syntax:       Vd32.uh=vmin(Vu32.uh,Vv32.uh)
   1807    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vmin_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
   1808    Instruction Type:      CVI_VA
   1809    Execution Slots:       SLOT0123
   1810    ========================================================================== */
   1811 
   1812 #define Q6_Vuh_vmin_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminuh)(Vu,Vv)
   1813 #endif /* __HEXAGON_ARCH___ >= 60 */
   1814 
   1815 #if __HVX_ARCH__ >= 60
   1816 /* ==========================================================================
   1817    Assembly Syntax:       Vd32.w=vmin(Vu32.w,Vv32.w)
   1818    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmin_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   1819    Instruction Type:      CVI_VA
   1820    Execution Slots:       SLOT0123
   1821    ========================================================================== */
   1822 
   1823 #define Q6_Vw_vmin_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminw)(Vu,Vv)
   1824 #endif /* __HEXAGON_ARCH___ >= 60 */
   1825 
   1826 #if __HVX_ARCH__ >= 60
   1827 /* ==========================================================================
   1828    Assembly Syntax:       Vdd32.h=vmpa(Vuu32.ub,Rt32.b)
   1829    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubRb(HVX_VectorPair Vuu, Word32 Rt)
   1830    Instruction Type:      CVI_VX_DV
   1831    Execution Slots:       SLOT23
   1832    ========================================================================== */
   1833 
   1834 #define Q6_Wh_vmpa_WubRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabus)(Vuu,Rt)
   1835 #endif /* __HEXAGON_ARCH___ >= 60 */
   1836 
   1837 #if __HVX_ARCH__ >= 60
   1838 /* ==========================================================================
   1839    Assembly Syntax:       Vxx32.h+=vmpa(Vuu32.ub,Rt32.b)
   1840    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpaacc_WhWubRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
   1841    Instruction Type:      CVI_VX_DV
   1842    Execution Slots:       SLOT23
   1843    ========================================================================== */
   1844 
   1845 #define Q6_Wh_vmpaacc_WhWubRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabus_acc)(Vxx,Vuu,Rt)
   1846 #endif /* __HEXAGON_ARCH___ >= 60 */
   1847 
   1848 #if __HVX_ARCH__ >= 60
   1849 /* ==========================================================================
   1850    Assembly Syntax:       Vdd32.h=vmpa(Vuu32.ub,Vvv32.b)
   1851    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubWb(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   1852    Instruction Type:      CVI_VX_DV
   1853    Execution Slots:       SLOT23
   1854    ========================================================================== */
   1855 
   1856 #define Q6_Wh_vmpa_WubWb(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabusv)(Vuu,Vvv)
   1857 #endif /* __HEXAGON_ARCH___ >= 60 */
   1858 
   1859 #if __HVX_ARCH__ >= 60
   1860 /* ==========================================================================
   1861    Assembly Syntax:       Vdd32.h=vmpa(Vuu32.ub,Vvv32.ub)
   1862    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubWub(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   1863    Instruction Type:      CVI_VX_DV
   1864    Execution Slots:       SLOT23
   1865    ========================================================================== */
   1866 
   1867 #define Q6_Wh_vmpa_WubWub(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabuuv)(Vuu,Vvv)
   1868 #endif /* __HEXAGON_ARCH___ >= 60 */
   1869 
   1870 #if __HVX_ARCH__ >= 60
   1871 /* ==========================================================================
   1872    Assembly Syntax:       Vdd32.w=vmpa(Vuu32.h,Rt32.b)
   1873    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpa_WhRb(HVX_VectorPair Vuu, Word32 Rt)
   1874    Instruction Type:      CVI_VX_DV
   1875    Execution Slots:       SLOT23
   1876    ========================================================================== */
   1877 
   1878 #define Q6_Ww_vmpa_WhRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpahb)(Vuu,Rt)
   1879 #endif /* __HEXAGON_ARCH___ >= 60 */
   1880 
   1881 #if __HVX_ARCH__ >= 60
   1882 /* ==========================================================================
   1883    Assembly Syntax:       Vxx32.w+=vmpa(Vuu32.h,Rt32.b)
   1884    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpaacc_WwWhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
   1885    Instruction Type:      CVI_VX_DV
   1886    Execution Slots:       SLOT23
   1887    ========================================================================== */
   1888 
   1889 #define Q6_Ww_vmpaacc_WwWhRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpahb_acc)(Vxx,Vuu,Rt)
   1890 #endif /* __HEXAGON_ARCH___ >= 60 */
   1891 
   1892 #if __HVX_ARCH__ >= 60
   1893 /* ==========================================================================
   1894    Assembly Syntax:       Vdd32.h=vmpy(Vu32.ub,Rt32.b)
   1895    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpy_VubRb(HVX_Vector Vu, Word32 Rt)
   1896    Instruction Type:      CVI_VX_DV
   1897    Execution Slots:       SLOT23
   1898    ========================================================================== */
   1899 
   1900 #define Q6_Wh_vmpy_VubRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybus)(Vu,Rt)
   1901 #endif /* __HEXAGON_ARCH___ >= 60 */
   1902 
   1903 #if __HVX_ARCH__ >= 60
   1904 /* ==========================================================================
   1905    Assembly Syntax:       Vxx32.h+=vmpy(Vu32.ub,Rt32.b)
   1906    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpyacc_WhVubRb(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
   1907    Instruction Type:      CVI_VX_DV
   1908    Execution Slots:       SLOT23
   1909    ========================================================================== */
   1910 
   1911 #define Q6_Wh_vmpyacc_WhVubRb(Vxx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybus_acc)(Vxx,Vu,Rt)
   1912 #endif /* __HEXAGON_ARCH___ >= 60 */
   1913 
   1914 #if __HVX_ARCH__ >= 60
   1915 /* ==========================================================================
   1916    Assembly Syntax:       Vdd32.h=vmpy(Vu32.ub,Vv32.b)
   1917    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpy_VubVb(HVX_Vector Vu, HVX_Vector Vv)
   1918    Instruction Type:      CVI_VX_DV
   1919    Execution Slots:       SLOT23
   1920    ========================================================================== */
   1921 
   1922 #define Q6_Wh_vmpy_VubVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybusv)(Vu,Vv)
   1923 #endif /* __HEXAGON_ARCH___ >= 60 */
   1924 
   1925 #if __HVX_ARCH__ >= 60
   1926 /* ==========================================================================
   1927    Assembly Syntax:       Vxx32.h+=vmpy(Vu32.ub,Vv32.b)
   1928    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpyacc_WhVubVb(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   1929    Instruction Type:      CVI_VX_DV
   1930    Execution Slots:       SLOT23
   1931    ========================================================================== */
   1932 
   1933 #define Q6_Wh_vmpyacc_WhVubVb(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybusv_acc)(Vxx,Vu,Vv)
   1934 #endif /* __HEXAGON_ARCH___ >= 60 */
   1935 
   1936 #if __HVX_ARCH__ >= 60
   1937 /* ==========================================================================
   1938    Assembly Syntax:       Vdd32.h=vmpy(Vu32.b,Vv32.b)
   1939    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpy_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   1940    Instruction Type:      CVI_VX_DV
   1941    Execution Slots:       SLOT23
   1942    ========================================================================== */
   1943 
   1944 #define Q6_Wh_vmpy_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybv)(Vu,Vv)
   1945 #endif /* __HEXAGON_ARCH___ >= 60 */
   1946 
   1947 #if __HVX_ARCH__ >= 60
   1948 /* ==========================================================================
   1949    Assembly Syntax:       Vxx32.h+=vmpy(Vu32.b,Vv32.b)
   1950    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpyacc_WhVbVb(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   1951    Instruction Type:      CVI_VX_DV
   1952    Execution Slots:       SLOT23
   1953    ========================================================================== */
   1954 
   1955 #define Q6_Wh_vmpyacc_WhVbVb(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybv_acc)(Vxx,Vu,Vv)
   1956 #endif /* __HEXAGON_ARCH___ >= 60 */
   1957 
   1958 #if __HVX_ARCH__ >= 60
   1959 /* ==========================================================================
   1960    Assembly Syntax:       Vd32.w=vmpye(Vu32.w,Vv32.uh)
   1961    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpye_VwVuh(HVX_Vector Vu, HVX_Vector Vv)
   1962    Instruction Type:      CVI_VX_DV
   1963    Execution Slots:       SLOT23
   1964    ========================================================================== */
   1965 
   1966 #define Q6_Vw_vmpye_VwVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyewuh)(Vu,Vv)
   1967 #endif /* __HEXAGON_ARCH___ >= 60 */
   1968 
   1969 #if __HVX_ARCH__ >= 60
   1970 /* ==========================================================================
   1971    Assembly Syntax:       Vdd32.w=vmpy(Vu32.h,Rt32.h)
   1972    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpy_VhRh(HVX_Vector Vu, Word32 Rt)
   1973    Instruction Type:      CVI_VX_DV
   1974    Execution Slots:       SLOT23
   1975    ========================================================================== */
   1976 
   1977 #define Q6_Ww_vmpy_VhRh(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyh)(Vu,Rt)
   1978 #endif /* __HEXAGON_ARCH___ >= 60 */
   1979 
   1980 #if __HVX_ARCH__ >= 60
   1981 /* ==========================================================================
   1982    Assembly Syntax:       Vxx32.w+=vmpy(Vu32.h,Rt32.h):sat
   1983    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhRh_sat(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
   1984    Instruction Type:      CVI_VX_DV
   1985    Execution Slots:       SLOT23
   1986    ========================================================================== */
   1987 
   1988 #define Q6_Ww_vmpyacc_WwVhRh_sat(Vxx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhsat_acc)(Vxx,Vu,Rt)
   1989 #endif /* __HEXAGON_ARCH___ >= 60 */
   1990 
   1991 #if __HVX_ARCH__ >= 60
   1992 /* ==========================================================================
   1993    Assembly Syntax:       Vd32.h=vmpy(Vu32.h,Rt32.h):<<1:rnd:sat
   1994    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpy_VhRh_s1_rnd_sat(HVX_Vector Vu, Word32 Rt)
   1995    Instruction Type:      CVI_VX
   1996    Execution Slots:       SLOT23
   1997    ========================================================================== */
   1998 
   1999 #define Q6_Vh_vmpy_VhRh_s1_rnd_sat(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhsrs)(Vu,Rt)
   2000 #endif /* __HEXAGON_ARCH___ >= 60 */
   2001 
   2002 #if __HVX_ARCH__ >= 60
   2003 /* ==========================================================================
   2004    Assembly Syntax:       Vd32.h=vmpy(Vu32.h,Rt32.h):<<1:sat
   2005    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpy_VhRh_s1_sat(HVX_Vector Vu, Word32 Rt)
   2006    Instruction Type:      CVI_VX
   2007    Execution Slots:       SLOT23
   2008    ========================================================================== */
   2009 
   2010 #define Q6_Vh_vmpy_VhRh_s1_sat(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhss)(Vu,Rt)
   2011 #endif /* __HEXAGON_ARCH___ >= 60 */
   2012 
   2013 #if __HVX_ARCH__ >= 60
   2014 /* ==========================================================================
   2015    Assembly Syntax:       Vdd32.w=vmpy(Vu32.h,Vv32.uh)
   2016    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpy_VhVuh(HVX_Vector Vu, HVX_Vector Vv)
   2017    Instruction Type:      CVI_VX_DV
   2018    Execution Slots:       SLOT23
   2019    ========================================================================== */
   2020 
   2021 #define Q6_Ww_vmpy_VhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhus)(Vu,Vv)
   2022 #endif /* __HEXAGON_ARCH___ >= 60 */
   2023 
   2024 #if __HVX_ARCH__ >= 60
   2025 /* ==========================================================================
   2026    Assembly Syntax:       Vxx32.w+=vmpy(Vu32.h,Vv32.uh)
   2027    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhVuh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   2028    Instruction Type:      CVI_VX_DV
   2029    Execution Slots:       SLOT23
   2030    ========================================================================== */
   2031 
   2032 #define Q6_Ww_vmpyacc_WwVhVuh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhus_acc)(Vxx,Vu,Vv)
   2033 #endif /* __HEXAGON_ARCH___ >= 60 */
   2034 
   2035 #if __HVX_ARCH__ >= 60
   2036 /* ==========================================================================
   2037    Assembly Syntax:       Vdd32.w=vmpy(Vu32.h,Vv32.h)
   2038    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpy_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2039    Instruction Type:      CVI_VX_DV
   2040    Execution Slots:       SLOT23
   2041    ========================================================================== */
   2042 
   2043 #define Q6_Ww_vmpy_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhv)(Vu,Vv)
   2044 #endif /* __HEXAGON_ARCH___ >= 60 */
   2045 
   2046 #if __HVX_ARCH__ >= 60
   2047 /* ==========================================================================
   2048    Assembly Syntax:       Vxx32.w+=vmpy(Vu32.h,Vv32.h)
   2049    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhVh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   2050    Instruction Type:      CVI_VX_DV
   2051    Execution Slots:       SLOT23
   2052    ========================================================================== */
   2053 
   2054 #define Q6_Ww_vmpyacc_WwVhVh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhv_acc)(Vxx,Vu,Vv)
   2055 #endif /* __HEXAGON_ARCH___ >= 60 */
   2056 
   2057 #if __HVX_ARCH__ >= 60
   2058 /* ==========================================================================
   2059    Assembly Syntax:       Vd32.h=vmpy(Vu32.h,Vv32.h):<<1:rnd:sat
   2060    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpy_VhVh_s1_rnd_sat(HVX_Vector Vu, HVX_Vector Vv)
   2061    Instruction Type:      CVI_VX
   2062    Execution Slots:       SLOT23
   2063    ========================================================================== */
   2064 
   2065 #define Q6_Vh_vmpy_VhVh_s1_rnd_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhvsrs)(Vu,Vv)
   2066 #endif /* __HEXAGON_ARCH___ >= 60 */
   2067 
   2068 #if __HVX_ARCH__ >= 60
   2069 /* ==========================================================================
   2070    Assembly Syntax:       Vd32.w=vmpyieo(Vu32.h,Vv32.h)
   2071    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyieo_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2072    Instruction Type:      CVI_VX
   2073    Execution Slots:       SLOT23
   2074    ========================================================================== */
   2075 
   2076 #define Q6_Vw_vmpyieo_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyieoh)(Vu,Vv)
   2077 #endif /* __HEXAGON_ARCH___ >= 60 */
   2078 
   2079 #if __HVX_ARCH__ >= 60
   2080 /* ==========================================================================
   2081    Assembly Syntax:       Vx32.w+=vmpyie(Vu32.w,Vv32.h)
   2082    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyieacc_VwVwVh(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   2083    Instruction Type:      CVI_VX_DV
   2084    Execution Slots:       SLOT23
   2085    ========================================================================== */
   2086 
   2087 #define Q6_Vw_vmpyieacc_VwVwVh(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiewh_acc)(Vx,Vu,Vv)
   2088 #endif /* __HEXAGON_ARCH___ >= 60 */
   2089 
   2090 #if __HVX_ARCH__ >= 60
   2091 /* ==========================================================================
   2092    Assembly Syntax:       Vd32.w=vmpyie(Vu32.w,Vv32.uh)
   2093    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyie_VwVuh(HVX_Vector Vu, HVX_Vector Vv)
   2094    Instruction Type:      CVI_VX_DV
   2095    Execution Slots:       SLOT23
   2096    ========================================================================== */
   2097 
   2098 #define Q6_Vw_vmpyie_VwVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiewuh)(Vu,Vv)
   2099 #endif /* __HEXAGON_ARCH___ >= 60 */
   2100 
   2101 #if __HVX_ARCH__ >= 60
   2102 /* ==========================================================================
   2103    Assembly Syntax:       Vx32.w+=vmpyie(Vu32.w,Vv32.uh)
   2104    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyieacc_VwVwVuh(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   2105    Instruction Type:      CVI_VX_DV
   2106    Execution Slots:       SLOT23
   2107    ========================================================================== */
   2108 
   2109 #define Q6_Vw_vmpyieacc_VwVwVuh(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiewuh_acc)(Vx,Vu,Vv)
   2110 #endif /* __HEXAGON_ARCH___ >= 60 */
   2111 
   2112 #if __HVX_ARCH__ >= 60
   2113 /* ==========================================================================
   2114    Assembly Syntax:       Vd32.h=vmpyi(Vu32.h,Vv32.h)
   2115    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyi_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2116    Instruction Type:      CVI_VX_DV
   2117    Execution Slots:       SLOT23
   2118    ========================================================================== */
   2119 
   2120 #define Q6_Vh_vmpyi_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyih)(Vu,Vv)
   2121 #endif /* __HEXAGON_ARCH___ >= 60 */
   2122 
   2123 #if __HVX_ARCH__ >= 60
   2124 /* ==========================================================================
   2125    Assembly Syntax:       Vx32.h+=vmpyi(Vu32.h,Vv32.h)
   2126    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyiacc_VhVhVh(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   2127    Instruction Type:      CVI_VX_DV
   2128    Execution Slots:       SLOT23
   2129    ========================================================================== */
   2130 
   2131 #define Q6_Vh_vmpyiacc_VhVhVh(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyih_acc)(Vx,Vu,Vv)
   2132 #endif /* __HEXAGON_ARCH___ >= 60 */
   2133 
   2134 #if __HVX_ARCH__ >= 60
   2135 /* ==========================================================================
   2136    Assembly Syntax:       Vd32.h=vmpyi(Vu32.h,Rt32.b)
   2137    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyi_VhRb(HVX_Vector Vu, Word32 Rt)
   2138    Instruction Type:      CVI_VX
   2139    Execution Slots:       SLOT23
   2140    ========================================================================== */
   2141 
   2142 #define Q6_Vh_vmpyi_VhRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyihb)(Vu,Rt)
   2143 #endif /* __HEXAGON_ARCH___ >= 60 */
   2144 
   2145 #if __HVX_ARCH__ >= 60
   2146 /* ==========================================================================
   2147    Assembly Syntax:       Vx32.h+=vmpyi(Vu32.h,Rt32.b)
   2148    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyiacc_VhVhRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   2149    Instruction Type:      CVI_VX
   2150    Execution Slots:       SLOT23
   2151    ========================================================================== */
   2152 
   2153 #define Q6_Vh_vmpyiacc_VhVhRb(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyihb_acc)(Vx,Vu,Rt)
   2154 #endif /* __HEXAGON_ARCH___ >= 60 */
   2155 
   2156 #if __HVX_ARCH__ >= 60
   2157 /* ==========================================================================
   2158    Assembly Syntax:       Vd32.w=vmpyio(Vu32.w,Vv32.h)
   2159    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyio_VwVh(HVX_Vector Vu, HVX_Vector Vv)
   2160    Instruction Type:      CVI_VX_DV
   2161    Execution Slots:       SLOT23
   2162    ========================================================================== */
   2163 
   2164 #define Q6_Vw_vmpyio_VwVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiowh)(Vu,Vv)
   2165 #endif /* __HEXAGON_ARCH___ >= 60 */
   2166 
   2167 #if __HVX_ARCH__ >= 60
   2168 /* ==========================================================================
   2169    Assembly Syntax:       Vd32.w=vmpyi(Vu32.w,Rt32.b)
   2170    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyi_VwRb(HVX_Vector Vu, Word32 Rt)
   2171    Instruction Type:      CVI_VX
   2172    Execution Slots:       SLOT23
   2173    ========================================================================== */
   2174 
   2175 #define Q6_Vw_vmpyi_VwRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwb)(Vu,Rt)
   2176 #endif /* __HEXAGON_ARCH___ >= 60 */
   2177 
   2178 #if __HVX_ARCH__ >= 60
   2179 /* ==========================================================================
   2180    Assembly Syntax:       Vx32.w+=vmpyi(Vu32.w,Rt32.b)
   2181    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyiacc_VwVwRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   2182    Instruction Type:      CVI_VX
   2183    Execution Slots:       SLOT23
   2184    ========================================================================== */
   2185 
   2186 #define Q6_Vw_vmpyiacc_VwVwRb(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwb_acc)(Vx,Vu,Rt)
   2187 #endif /* __HEXAGON_ARCH___ >= 60 */
   2188 
   2189 #if __HVX_ARCH__ >= 60
   2190 /* ==========================================================================
   2191    Assembly Syntax:       Vd32.w=vmpyi(Vu32.w,Rt32.h)
   2192    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyi_VwRh(HVX_Vector Vu, Word32 Rt)
   2193    Instruction Type:      CVI_VX_DV
   2194    Execution Slots:       SLOT23
   2195    ========================================================================== */
   2196 
   2197 #define Q6_Vw_vmpyi_VwRh(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwh)(Vu,Rt)
   2198 #endif /* __HEXAGON_ARCH___ >= 60 */
   2199 
   2200 #if __HVX_ARCH__ >= 60
   2201 /* ==========================================================================
   2202    Assembly Syntax:       Vx32.w+=vmpyi(Vu32.w,Rt32.h)
   2203    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyiacc_VwVwRh(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   2204    Instruction Type:      CVI_VX_DV
   2205    Execution Slots:       SLOT23
   2206    ========================================================================== */
   2207 
   2208 #define Q6_Vw_vmpyiacc_VwVwRh(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwh_acc)(Vx,Vu,Rt)
   2209 #endif /* __HEXAGON_ARCH___ >= 60 */
   2210 
   2211 #if __HVX_ARCH__ >= 60
   2212 /* ==========================================================================
   2213    Assembly Syntax:       Vd32.w=vmpyo(Vu32.w,Vv32.h):<<1:sat
   2214    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyo_VwVh_s1_sat(HVX_Vector Vu, HVX_Vector Vv)
   2215    Instruction Type:      CVI_VX_DV
   2216    Execution Slots:       SLOT23
   2217    ========================================================================== */
   2218 
   2219 #define Q6_Vw_vmpyo_VwVh_s1_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh)(Vu,Vv)
   2220 #endif /* __HEXAGON_ARCH___ >= 60 */
   2221 
   2222 #if __HVX_ARCH__ >= 60
   2223 /* ==========================================================================
   2224    Assembly Syntax:       Vd32.w=vmpyo(Vu32.w,Vv32.h):<<1:rnd:sat
   2225    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyo_VwVh_s1_rnd_sat(HVX_Vector Vu, HVX_Vector Vv)
   2226    Instruction Type:      CVI_VX_DV
   2227    Execution Slots:       SLOT23
   2228    ========================================================================== */
   2229 
   2230 #define Q6_Vw_vmpyo_VwVh_s1_rnd_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_rnd)(Vu,Vv)
   2231 #endif /* __HEXAGON_ARCH___ >= 60 */
   2232 
   2233 #if __HVX_ARCH__ >= 60
   2234 /* ==========================================================================
   2235    Assembly Syntax:       Vx32.w+=vmpyo(Vu32.w,Vv32.h):<<1:rnd:sat:shift
   2236    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyoacc_VwVwVh_s1_rnd_sat_shift(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   2237    Instruction Type:      CVI_VX_DV
   2238    Execution Slots:       SLOT23
   2239    ========================================================================== */
   2240 
   2241 #define Q6_Vw_vmpyoacc_VwVwVh_s1_rnd_sat_shift(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_rnd_sacc)(Vx,Vu,Vv)
   2242 #endif /* __HEXAGON_ARCH___ >= 60 */
   2243 
   2244 #if __HVX_ARCH__ >= 60
   2245 /* ==========================================================================
   2246    Assembly Syntax:       Vx32.w+=vmpyo(Vu32.w,Vv32.h):<<1:sat:shift
   2247    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyoacc_VwVwVh_s1_sat_shift(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   2248    Instruction Type:      CVI_VX_DV
   2249    Execution Slots:       SLOT23
   2250    ========================================================================== */
   2251 
   2252 #define Q6_Vw_vmpyoacc_VwVwVh_s1_sat_shift(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_sacc)(Vx,Vu,Vv)
   2253 #endif /* __HEXAGON_ARCH___ >= 60 */
   2254 
   2255 #if __HVX_ARCH__ >= 60
   2256 /* ==========================================================================
   2257    Assembly Syntax:       Vdd32.uh=vmpy(Vu32.ub,Rt32.ub)
   2258    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpy_VubRub(HVX_Vector Vu, Word32 Rt)
   2259    Instruction Type:      CVI_VX_DV
   2260    Execution Slots:       SLOT23
   2261    ========================================================================== */
   2262 
   2263 #define Q6_Wuh_vmpy_VubRub(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyub)(Vu,Rt)
   2264 #endif /* __HEXAGON_ARCH___ >= 60 */
   2265 
   2266 #if __HVX_ARCH__ >= 60
   2267 /* ==========================================================================
   2268    Assembly Syntax:       Vxx32.uh+=vmpy(Vu32.ub,Rt32.ub)
   2269    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpyacc_WuhVubRub(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
   2270    Instruction Type:      CVI_VX_DV
   2271    Execution Slots:       SLOT23
   2272    ========================================================================== */
   2273 
   2274 #define Q6_Wuh_vmpyacc_WuhVubRub(Vxx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyub_acc)(Vxx,Vu,Rt)
   2275 #endif /* __HEXAGON_ARCH___ >= 60 */
   2276 
   2277 #if __HVX_ARCH__ >= 60
   2278 /* ==========================================================================
   2279    Assembly Syntax:       Vdd32.uh=vmpy(Vu32.ub,Vv32.ub)
   2280    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpy_VubVub(HVX_Vector Vu, HVX_Vector Vv)
   2281    Instruction Type:      CVI_VX_DV
   2282    Execution Slots:       SLOT23
   2283    ========================================================================== */
   2284 
   2285 #define Q6_Wuh_vmpy_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyubv)(Vu,Vv)
   2286 #endif /* __HEXAGON_ARCH___ >= 60 */
   2287 
   2288 #if __HVX_ARCH__ >= 60
   2289 /* ==========================================================================
   2290    Assembly Syntax:       Vxx32.uh+=vmpy(Vu32.ub,Vv32.ub)
   2291    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpyacc_WuhVubVub(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   2292    Instruction Type:      CVI_VX_DV
   2293    Execution Slots:       SLOT23
   2294    ========================================================================== */
   2295 
   2296 #define Q6_Wuh_vmpyacc_WuhVubVub(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyubv_acc)(Vxx,Vu,Vv)
   2297 #endif /* __HEXAGON_ARCH___ >= 60 */
   2298 
   2299 #if __HVX_ARCH__ >= 60
   2300 /* ==========================================================================
   2301    Assembly Syntax:       Vdd32.uw=vmpy(Vu32.uh,Rt32.uh)
   2302    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpy_VuhRuh(HVX_Vector Vu, Word32 Rt)
   2303    Instruction Type:      CVI_VX_DV
   2304    Execution Slots:       SLOT23
   2305    ========================================================================== */
   2306 
   2307 #define Q6_Wuw_vmpy_VuhRuh(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuh)(Vu,Rt)
   2308 #endif /* __HEXAGON_ARCH___ >= 60 */
   2309 
   2310 #if __HVX_ARCH__ >= 60
   2311 /* ==========================================================================
   2312    Assembly Syntax:       Vxx32.uw+=vmpy(Vu32.uh,Rt32.uh)
   2313    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpyacc_WuwVuhRuh(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
   2314    Instruction Type:      CVI_VX_DV
   2315    Execution Slots:       SLOT23
   2316    ========================================================================== */
   2317 
   2318 #define Q6_Wuw_vmpyacc_WuwVuhRuh(Vxx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuh_acc)(Vxx,Vu,Rt)
   2319 #endif /* __HEXAGON_ARCH___ >= 60 */
   2320 
   2321 #if __HVX_ARCH__ >= 60
   2322 /* ==========================================================================
   2323    Assembly Syntax:       Vdd32.uw=vmpy(Vu32.uh,Vv32.uh)
   2324    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpy_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
   2325    Instruction Type:      CVI_VX_DV
   2326    Execution Slots:       SLOT23
   2327    ========================================================================== */
   2328 
   2329 #define Q6_Wuw_vmpy_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhv)(Vu,Vv)
   2330 #endif /* __HEXAGON_ARCH___ >= 60 */
   2331 
   2332 #if __HVX_ARCH__ >= 60
   2333 /* ==========================================================================
   2334    Assembly Syntax:       Vxx32.uw+=vmpy(Vu32.uh,Vv32.uh)
   2335    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpyacc_WuwVuhVuh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   2336    Instruction Type:      CVI_VX_DV
   2337    Execution Slots:       SLOT23
   2338    ========================================================================== */
   2339 
   2340 #define Q6_Wuw_vmpyacc_WuwVuhVuh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhv_acc)(Vxx,Vu,Vv)
   2341 #endif /* __HEXAGON_ARCH___ >= 60 */
   2342 
   2343 #if __HVX_ARCH__ >= 60
   2344 /* ==========================================================================
   2345    Assembly Syntax:       Vd32=vmux(Qt4,Vu32,Vv32)
   2346    C Intrinsic Prototype: HVX_Vector Q6_V_vmux_QVV(HVX_VectorPred Qt, HVX_Vector Vu, HVX_Vector Vv)
   2347    Instruction Type:      CVI_VA
   2348    Execution Slots:       SLOT0123
   2349    ========================================================================== */
   2350 
   2351 #define Q6_V_vmux_QVV(Qt,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmux)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1),Vu,Vv)
   2352 #endif /* __HEXAGON_ARCH___ >= 60 */
   2353 
   2354 #if __HVX_ARCH__ >= 60
   2355 /* ==========================================================================
   2356    Assembly Syntax:       Vd32.h=vnavg(Vu32.h,Vv32.h)
   2357    C Intrinsic Prototype: HVX_Vector Q6_Vh_vnavg_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2358    Instruction Type:      CVI_VA
   2359    Execution Slots:       SLOT0123
   2360    ========================================================================== */
   2361 
   2362 #define Q6_Vh_vnavg_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgh)(Vu,Vv)
   2363 #endif /* __HEXAGON_ARCH___ >= 60 */
   2364 
   2365 #if __HVX_ARCH__ >= 60
   2366 /* ==========================================================================
   2367    Assembly Syntax:       Vd32.b=vnavg(Vu32.ub,Vv32.ub)
   2368    C Intrinsic Prototype: HVX_Vector Q6_Vb_vnavg_VubVub(HVX_Vector Vu, HVX_Vector Vv)
   2369    Instruction Type:      CVI_VA
   2370    Execution Slots:       SLOT0123
   2371    ========================================================================== */
   2372 
   2373 #define Q6_Vb_vnavg_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgub)(Vu,Vv)
   2374 #endif /* __HEXAGON_ARCH___ >= 60 */
   2375 
   2376 #if __HVX_ARCH__ >= 60
   2377 /* ==========================================================================
   2378    Assembly Syntax:       Vd32.w=vnavg(Vu32.w,Vv32.w)
   2379    C Intrinsic Prototype: HVX_Vector Q6_Vw_vnavg_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   2380    Instruction Type:      CVI_VA
   2381    Execution Slots:       SLOT0123
   2382    ========================================================================== */
   2383 
   2384 #define Q6_Vw_vnavg_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgw)(Vu,Vv)
   2385 #endif /* __HEXAGON_ARCH___ >= 60 */
   2386 
   2387 #if __HVX_ARCH__ >= 60
   2388 /* ==========================================================================
   2389    Assembly Syntax:       Vd32.h=vnormamt(Vu32.h)
   2390    C Intrinsic Prototype: HVX_Vector Q6_Vh_vnormamt_Vh(HVX_Vector Vu)
   2391    Instruction Type:      CVI_VS
   2392    Execution Slots:       SLOT0123
   2393    ========================================================================== */
   2394 
   2395 #define Q6_Vh_vnormamt_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnormamth)(Vu)
   2396 #endif /* __HEXAGON_ARCH___ >= 60 */
   2397 
   2398 #if __HVX_ARCH__ >= 60
   2399 /* ==========================================================================
   2400    Assembly Syntax:       Vd32.w=vnormamt(Vu32.w)
   2401    C Intrinsic Prototype: HVX_Vector Q6_Vw_vnormamt_Vw(HVX_Vector Vu)
   2402    Instruction Type:      CVI_VS
   2403    Execution Slots:       SLOT0123
   2404    ========================================================================== */
   2405 
   2406 #define Q6_Vw_vnormamt_Vw(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnormamtw)(Vu)
   2407 #endif /* __HEXAGON_ARCH___ >= 60 */
   2408 
   2409 #if __HVX_ARCH__ >= 60
   2410 /* ==========================================================================
   2411    Assembly Syntax:       Vd32=vnot(Vu32)
   2412    C Intrinsic Prototype: HVX_Vector Q6_V_vnot_V(HVX_Vector Vu)
   2413    Instruction Type:      CVI_VA
   2414    Execution Slots:       SLOT0123
   2415    ========================================================================== */
   2416 
   2417 #define Q6_V_vnot_V(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnot)(Vu)
   2418 #endif /* __HEXAGON_ARCH___ >= 60 */
   2419 
   2420 #if __HVX_ARCH__ >= 60
   2421 /* ==========================================================================
   2422    Assembly Syntax:       Vd32=vor(Vu32,Vv32)
   2423    C Intrinsic Prototype: HVX_Vector Q6_V_vor_VV(HVX_Vector Vu, HVX_Vector Vv)
   2424    Instruction Type:      CVI_VA
   2425    Execution Slots:       SLOT0123
   2426    ========================================================================== */
   2427 
   2428 #define Q6_V_vor_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vor)(Vu,Vv)
   2429 #endif /* __HEXAGON_ARCH___ >= 60 */
   2430 
   2431 #if __HVX_ARCH__ >= 60
   2432 /* ==========================================================================
   2433    Assembly Syntax:       Vd32.b=vpacke(Vu32.h,Vv32.h)
   2434    C Intrinsic Prototype: HVX_Vector Q6_Vb_vpacke_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2435    Instruction Type:      CVI_VP
   2436    Execution Slots:       SLOT0123
   2437    ========================================================================== */
   2438 
   2439 #define Q6_Vb_vpacke_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackeb)(Vu,Vv)
   2440 #endif /* __HEXAGON_ARCH___ >= 60 */
   2441 
   2442 #if __HVX_ARCH__ >= 60
   2443 /* ==========================================================================
   2444    Assembly Syntax:       Vd32.h=vpacke(Vu32.w,Vv32.w)
   2445    C Intrinsic Prototype: HVX_Vector Q6_Vh_vpacke_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   2446    Instruction Type:      CVI_VP
   2447    Execution Slots:       SLOT0123
   2448    ========================================================================== */
   2449 
   2450 #define Q6_Vh_vpacke_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackeh)(Vu,Vv)
   2451 #endif /* __HEXAGON_ARCH___ >= 60 */
   2452 
   2453 #if __HVX_ARCH__ >= 60
   2454 /* ==========================================================================
   2455    Assembly Syntax:       Vd32.b=vpack(Vu32.h,Vv32.h):sat
   2456    C Intrinsic Prototype: HVX_Vector Q6_Vb_vpack_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
   2457    Instruction Type:      CVI_VP
   2458    Execution Slots:       SLOT0123
   2459    ========================================================================== */
   2460 
   2461 #define Q6_Vb_vpack_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackhb_sat)(Vu,Vv)
   2462 #endif /* __HEXAGON_ARCH___ >= 60 */
   2463 
   2464 #if __HVX_ARCH__ >= 60
   2465 /* ==========================================================================
   2466    Assembly Syntax:       Vd32.ub=vpack(Vu32.h,Vv32.h):sat
   2467    C Intrinsic Prototype: HVX_Vector Q6_Vub_vpack_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
   2468    Instruction Type:      CVI_VP
   2469    Execution Slots:       SLOT0123
   2470    ========================================================================== */
   2471 
   2472 #define Q6_Vub_vpack_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackhub_sat)(Vu,Vv)
   2473 #endif /* __HEXAGON_ARCH___ >= 60 */
   2474 
   2475 #if __HVX_ARCH__ >= 60
   2476 /* ==========================================================================
   2477    Assembly Syntax:       Vd32.b=vpacko(Vu32.h,Vv32.h)
   2478    C Intrinsic Prototype: HVX_Vector Q6_Vb_vpacko_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2479    Instruction Type:      CVI_VP
   2480    Execution Slots:       SLOT0123
   2481    ========================================================================== */
   2482 
   2483 #define Q6_Vb_vpacko_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackob)(Vu,Vv)
   2484 #endif /* __HEXAGON_ARCH___ >= 60 */
   2485 
   2486 #if __HVX_ARCH__ >= 60
   2487 /* ==========================================================================
   2488    Assembly Syntax:       Vd32.h=vpacko(Vu32.w,Vv32.w)
   2489    C Intrinsic Prototype: HVX_Vector Q6_Vh_vpacko_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   2490    Instruction Type:      CVI_VP
   2491    Execution Slots:       SLOT0123
   2492    ========================================================================== */
   2493 
   2494 #define Q6_Vh_vpacko_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackoh)(Vu,Vv)
   2495 #endif /* __HEXAGON_ARCH___ >= 60 */
   2496 
   2497 #if __HVX_ARCH__ >= 60
   2498 /* ==========================================================================
   2499    Assembly Syntax:       Vd32.h=vpack(Vu32.w,Vv32.w):sat
   2500    C Intrinsic Prototype: HVX_Vector Q6_Vh_vpack_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
   2501    Instruction Type:      CVI_VP
   2502    Execution Slots:       SLOT0123
   2503    ========================================================================== */
   2504 
   2505 #define Q6_Vh_vpack_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackwh_sat)(Vu,Vv)
   2506 #endif /* __HEXAGON_ARCH___ >= 60 */
   2507 
   2508 #if __HVX_ARCH__ >= 60
   2509 /* ==========================================================================
   2510    Assembly Syntax:       Vd32.uh=vpack(Vu32.w,Vv32.w):sat
   2511    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vpack_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
   2512    Instruction Type:      CVI_VP
   2513    Execution Slots:       SLOT0123
   2514    ========================================================================== */
   2515 
   2516 #define Q6_Vuh_vpack_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackwuh_sat)(Vu,Vv)
   2517 #endif /* __HEXAGON_ARCH___ >= 60 */
   2518 
   2519 #if __HVX_ARCH__ >= 60
   2520 /* ==========================================================================
   2521    Assembly Syntax:       Vd32.h=vpopcount(Vu32.h)
   2522    C Intrinsic Prototype: HVX_Vector Q6_Vh_vpopcount_Vh(HVX_Vector Vu)
   2523    Instruction Type:      CVI_VS
   2524    Execution Slots:       SLOT0123
   2525    ========================================================================== */
   2526 
   2527 #define Q6_Vh_vpopcount_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpopcounth)(Vu)
   2528 #endif /* __HEXAGON_ARCH___ >= 60 */
   2529 
   2530 #if __HVX_ARCH__ >= 60
   2531 /* ==========================================================================
   2532    Assembly Syntax:       Vd32=vrdelta(Vu32,Vv32)
   2533    C Intrinsic Prototype: HVX_Vector Q6_V_vrdelta_VV(HVX_Vector Vu, HVX_Vector Vv)
   2534    Instruction Type:      CVI_VP
   2535    Execution Slots:       SLOT0123
   2536    ========================================================================== */
   2537 
   2538 #define Q6_V_vrdelta_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrdelta)(Vu,Vv)
   2539 #endif /* __HEXAGON_ARCH___ >= 60 */
   2540 
   2541 #if __HVX_ARCH__ >= 60
   2542 /* ==========================================================================
   2543    Assembly Syntax:       Vd32.w=vrmpy(Vu32.ub,Rt32.b)
   2544    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpy_VubRb(HVX_Vector Vu, Word32 Rt)
   2545    Instruction Type:      CVI_VX
   2546    Execution Slots:       SLOT23
   2547    ========================================================================== */
   2548 
   2549 #define Q6_Vw_vrmpy_VubRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybus)(Vu,Rt)
   2550 #endif /* __HEXAGON_ARCH___ >= 60 */
   2551 
   2552 #if __HVX_ARCH__ >= 60
   2553 /* ==========================================================================
   2554    Assembly Syntax:       Vx32.w+=vrmpy(Vu32.ub,Rt32.b)
   2555    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpyacc_VwVubRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   2556    Instruction Type:      CVI_VX
   2557    Execution Slots:       SLOT23
   2558    ========================================================================== */
   2559 
   2560 #define Q6_Vw_vrmpyacc_VwVubRb(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybus_acc)(Vx,Vu,Rt)
   2561 #endif /* __HEXAGON_ARCH___ >= 60 */
   2562 
   2563 #if __HVX_ARCH__ >= 60
   2564 /* ==========================================================================
   2565    Assembly Syntax:       Vdd32.w=vrmpy(Vuu32.ub,Rt32.b,#u1)
   2566    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vrmpy_WubRbI(HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
   2567    Instruction Type:      CVI_VX_DV
   2568    Execution Slots:       SLOT23
   2569    ========================================================================== */
   2570 
   2571 #define Q6_Ww_vrmpy_WubRbI(Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusi)(Vuu,Rt,Iu1)
   2572 #endif /* __HEXAGON_ARCH___ >= 60 */
   2573 
   2574 #if __HVX_ARCH__ >= 60
   2575 /* ==========================================================================
   2576    Assembly Syntax:       Vxx32.w+=vrmpy(Vuu32.ub,Rt32.b,#u1)
   2577    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vrmpyacc_WwWubRbI(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
   2578    Instruction Type:      CVI_VX_DV
   2579    Execution Slots:       SLOT23
   2580    ========================================================================== */
   2581 
   2582 #define Q6_Ww_vrmpyacc_WwWubRbI(Vxx,Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusi_acc)(Vxx,Vuu,Rt,Iu1)
   2583 #endif /* __HEXAGON_ARCH___ >= 60 */
   2584 
   2585 #if __HVX_ARCH__ >= 60
   2586 /* ==========================================================================
   2587    Assembly Syntax:       Vd32.w=vrmpy(Vu32.ub,Vv32.b)
   2588    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpy_VubVb(HVX_Vector Vu, HVX_Vector Vv)
   2589    Instruction Type:      CVI_VX
   2590    Execution Slots:       SLOT23
   2591    ========================================================================== */
   2592 
   2593 #define Q6_Vw_vrmpy_VubVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusv)(Vu,Vv)
   2594 #endif /* __HEXAGON_ARCH___ >= 60 */
   2595 
   2596 #if __HVX_ARCH__ >= 60
   2597 /* ==========================================================================
   2598    Assembly Syntax:       Vx32.w+=vrmpy(Vu32.ub,Vv32.b)
   2599    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpyacc_VwVubVb(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   2600    Instruction Type:      CVI_VX
   2601    Execution Slots:       SLOT23
   2602    ========================================================================== */
   2603 
   2604 #define Q6_Vw_vrmpyacc_VwVubVb(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusv_acc)(Vx,Vu,Vv)
   2605 #endif /* __HEXAGON_ARCH___ >= 60 */
   2606 
   2607 #if __HVX_ARCH__ >= 60
   2608 /* ==========================================================================
   2609    Assembly Syntax:       Vd32.w=vrmpy(Vu32.b,Vv32.b)
   2610    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpy_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   2611    Instruction Type:      CVI_VX
   2612    Execution Slots:       SLOT23
   2613    ========================================================================== */
   2614 
   2615 #define Q6_Vw_vrmpy_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybv)(Vu,Vv)
   2616 #endif /* __HEXAGON_ARCH___ >= 60 */
   2617 
   2618 #if __HVX_ARCH__ >= 60
   2619 /* ==========================================================================
   2620    Assembly Syntax:       Vx32.w+=vrmpy(Vu32.b,Vv32.b)
   2621    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpyacc_VwVbVb(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   2622    Instruction Type:      CVI_VX
   2623    Execution Slots:       SLOT23
   2624    ========================================================================== */
   2625 
   2626 #define Q6_Vw_vrmpyacc_VwVbVb(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybv_acc)(Vx,Vu,Vv)
   2627 #endif /* __HEXAGON_ARCH___ >= 60 */
   2628 
   2629 #if __HVX_ARCH__ >= 60
   2630 /* ==========================================================================
   2631    Assembly Syntax:       Vd32.uw=vrmpy(Vu32.ub,Rt32.ub)
   2632    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpy_VubRub(HVX_Vector Vu, Word32 Rt)
   2633    Instruction Type:      CVI_VX
   2634    Execution Slots:       SLOT23
   2635    ========================================================================== */
   2636 
   2637 #define Q6_Vuw_vrmpy_VubRub(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyub)(Vu,Rt)
   2638 #endif /* __HEXAGON_ARCH___ >= 60 */
   2639 
   2640 #if __HVX_ARCH__ >= 60
   2641 /* ==========================================================================
   2642    Assembly Syntax:       Vx32.uw+=vrmpy(Vu32.ub,Rt32.ub)
   2643    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpyacc_VuwVubRub(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   2644    Instruction Type:      CVI_VX
   2645    Execution Slots:       SLOT23
   2646    ========================================================================== */
   2647 
   2648 #define Q6_Vuw_vrmpyacc_VuwVubRub(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyub_acc)(Vx,Vu,Rt)
   2649 #endif /* __HEXAGON_ARCH___ >= 60 */
   2650 
   2651 #if __HVX_ARCH__ >= 60
   2652 /* ==========================================================================
   2653    Assembly Syntax:       Vdd32.uw=vrmpy(Vuu32.ub,Rt32.ub,#u1)
   2654    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrmpy_WubRubI(HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
   2655    Instruction Type:      CVI_VX_DV
   2656    Execution Slots:       SLOT23
   2657    ========================================================================== */
   2658 
   2659 #define Q6_Wuw_vrmpy_WubRubI(Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubi)(Vuu,Rt,Iu1)
   2660 #endif /* __HEXAGON_ARCH___ >= 60 */
   2661 
   2662 #if __HVX_ARCH__ >= 60
   2663 /* ==========================================================================
   2664    Assembly Syntax:       Vxx32.uw+=vrmpy(Vuu32.ub,Rt32.ub,#u1)
   2665    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrmpyacc_WuwWubRubI(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
   2666    Instruction Type:      CVI_VX_DV
   2667    Execution Slots:       SLOT23
   2668    ========================================================================== */
   2669 
   2670 #define Q6_Wuw_vrmpyacc_WuwWubRubI(Vxx,Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubi_acc)(Vxx,Vuu,Rt,Iu1)
   2671 #endif /* __HEXAGON_ARCH___ >= 60 */
   2672 
   2673 #if __HVX_ARCH__ >= 60
   2674 /* ==========================================================================
   2675    Assembly Syntax:       Vd32.uw=vrmpy(Vu32.ub,Vv32.ub)
   2676    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpy_VubVub(HVX_Vector Vu, HVX_Vector Vv)
   2677    Instruction Type:      CVI_VX
   2678    Execution Slots:       SLOT23
   2679    ========================================================================== */
   2680 
   2681 #define Q6_Vuw_vrmpy_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubv)(Vu,Vv)
   2682 #endif /* __HEXAGON_ARCH___ >= 60 */
   2683 
   2684 #if __HVX_ARCH__ >= 60
   2685 /* ==========================================================================
   2686    Assembly Syntax:       Vx32.uw+=vrmpy(Vu32.ub,Vv32.ub)
   2687    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpyacc_VuwVubVub(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   2688    Instruction Type:      CVI_VX
   2689    Execution Slots:       SLOT23
   2690    ========================================================================== */
   2691 
   2692 #define Q6_Vuw_vrmpyacc_VuwVubVub(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubv_acc)(Vx,Vu,Vv)
   2693 #endif /* __HEXAGON_ARCH___ >= 60 */
   2694 
   2695 #if __HVX_ARCH__ >= 60
   2696 /* ==========================================================================
   2697    Assembly Syntax:       Vd32=vror(Vu32,Rt32)
   2698    C Intrinsic Prototype: HVX_Vector Q6_V_vror_VR(HVX_Vector Vu, Word32 Rt)
   2699    Instruction Type:      CVI_VP
   2700    Execution Slots:       SLOT0123
   2701    ========================================================================== */
   2702 
   2703 #define Q6_V_vror_VR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vror)(Vu,Rt)
   2704 #endif /* __HEXAGON_ARCH___ >= 60 */
   2705 
   2706 #if __HVX_ARCH__ >= 60
   2707 /* ==========================================================================
   2708    Assembly Syntax:       Vd32.b=vround(Vu32.h,Vv32.h):sat
   2709    C Intrinsic Prototype: HVX_Vector Q6_Vb_vround_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
   2710    Instruction Type:      CVI_VS
   2711    Execution Slots:       SLOT0123
   2712    ========================================================================== */
   2713 
   2714 #define Q6_Vb_vround_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundhb)(Vu,Vv)
   2715 #endif /* __HEXAGON_ARCH___ >= 60 */
   2716 
   2717 #if __HVX_ARCH__ >= 60
   2718 /* ==========================================================================
   2719    Assembly Syntax:       Vd32.ub=vround(Vu32.h,Vv32.h):sat
   2720    C Intrinsic Prototype: HVX_Vector Q6_Vub_vround_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
   2721    Instruction Type:      CVI_VS
   2722    Execution Slots:       SLOT0123
   2723    ========================================================================== */
   2724 
   2725 #define Q6_Vub_vround_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundhub)(Vu,Vv)
   2726 #endif /* __HEXAGON_ARCH___ >= 60 */
   2727 
   2728 #if __HVX_ARCH__ >= 60
   2729 /* ==========================================================================
   2730    Assembly Syntax:       Vd32.h=vround(Vu32.w,Vv32.w):sat
   2731    C Intrinsic Prototype: HVX_Vector Q6_Vh_vround_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
   2732    Instruction Type:      CVI_VS
   2733    Execution Slots:       SLOT0123
   2734    ========================================================================== */
   2735 
   2736 #define Q6_Vh_vround_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundwh)(Vu,Vv)
   2737 #endif /* __HEXAGON_ARCH___ >= 60 */
   2738 
   2739 #if __HVX_ARCH__ >= 60
   2740 /* ==========================================================================
   2741    Assembly Syntax:       Vd32.uh=vround(Vu32.w,Vv32.w):sat
   2742    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vround_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
   2743    Instruction Type:      CVI_VS
   2744    Execution Slots:       SLOT0123
   2745    ========================================================================== */
   2746 
   2747 #define Q6_Vuh_vround_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundwuh)(Vu,Vv)
   2748 #endif /* __HEXAGON_ARCH___ >= 60 */
   2749 
   2750 #if __HVX_ARCH__ >= 60
   2751 /* ==========================================================================
   2752    Assembly Syntax:       Vdd32.uw=vrsad(Vuu32.ub,Rt32.ub,#u1)
   2753    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrsad_WubRubI(HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
   2754    Instruction Type:      CVI_VX_DV
   2755    Execution Slots:       SLOT23
   2756    ========================================================================== */
   2757 
   2758 #define Q6_Wuw_vrsad_WubRubI(Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrsadubi)(Vuu,Rt,Iu1)
   2759 #endif /* __HEXAGON_ARCH___ >= 60 */
   2760 
   2761 #if __HVX_ARCH__ >= 60
   2762 /* ==========================================================================
   2763    Assembly Syntax:       Vxx32.uw+=vrsad(Vuu32.ub,Rt32.ub,#u1)
   2764    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrsadacc_WuwWubRubI(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
   2765    Instruction Type:      CVI_VX_DV
   2766    Execution Slots:       SLOT23
   2767    ========================================================================== */
   2768 
   2769 #define Q6_Wuw_vrsadacc_WuwWubRubI(Vxx,Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrsadubi_acc)(Vxx,Vuu,Rt,Iu1)
   2770 #endif /* __HEXAGON_ARCH___ >= 60 */
   2771 
   2772 #if __HVX_ARCH__ >= 60
   2773 /* ==========================================================================
   2774    Assembly Syntax:       Vd32.ub=vsat(Vu32.h,Vv32.h)
   2775    C Intrinsic Prototype: HVX_Vector Q6_Vub_vsat_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2776    Instruction Type:      CVI_VA
   2777    Execution Slots:       SLOT0123
   2778    ========================================================================== */
   2779 
   2780 #define Q6_Vub_vsat_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsathub)(Vu,Vv)
   2781 #endif /* __HEXAGON_ARCH___ >= 60 */
   2782 
   2783 #if __HVX_ARCH__ >= 60
   2784 /* ==========================================================================
   2785    Assembly Syntax:       Vd32.h=vsat(Vu32.w,Vv32.w)
   2786    C Intrinsic Prototype: HVX_Vector Q6_Vh_vsat_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   2787    Instruction Type:      CVI_VA
   2788    Execution Slots:       SLOT0123
   2789    ========================================================================== */
   2790 
   2791 #define Q6_Vh_vsat_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsatwh)(Vu,Vv)
   2792 #endif /* __HEXAGON_ARCH___ >= 60 */
   2793 
   2794 #if __HVX_ARCH__ >= 60
   2795 /* ==========================================================================
   2796    Assembly Syntax:       Vdd32.h=vsxt(Vu32.b)
   2797    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsxt_Vb(HVX_Vector Vu)
   2798    Instruction Type:      CVI_VA_DV
   2799    Execution Slots:       SLOT0123
   2800    ========================================================================== */
   2801 
   2802 #define Q6_Wh_vsxt_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsb)(Vu)
   2803 #endif /* __HEXAGON_ARCH___ >= 60 */
   2804 
   2805 #if __HVX_ARCH__ >= 60
   2806 /* ==========================================================================
   2807    Assembly Syntax:       Vdd32.w=vsxt(Vu32.h)
   2808    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsxt_Vh(HVX_Vector Vu)
   2809    Instruction Type:      CVI_VA_DV
   2810    Execution Slots:       SLOT0123
   2811    ========================================================================== */
   2812 
   2813 #define Q6_Ww_vsxt_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsh)(Vu)
   2814 #endif /* __HEXAGON_ARCH___ >= 60 */
   2815 
   2816 #if __HVX_ARCH__ >= 60
   2817 /* ==========================================================================
   2818    Assembly Syntax:       Vd32.h=vshuffe(Vu32.h,Vv32.h)
   2819    C Intrinsic Prototype: HVX_Vector Q6_Vh_vshuffe_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2820    Instruction Type:      CVI_VA
   2821    Execution Slots:       SLOT0123
   2822    ========================================================================== */
   2823 
   2824 #define Q6_Vh_vshuffe_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufeh)(Vu,Vv)
   2825 #endif /* __HEXAGON_ARCH___ >= 60 */
   2826 
   2827 #if __HVX_ARCH__ >= 60
   2828 /* ==========================================================================
   2829    Assembly Syntax:       Vd32.b=vshuff(Vu32.b)
   2830    C Intrinsic Prototype: HVX_Vector Q6_Vb_vshuff_Vb(HVX_Vector Vu)
   2831    Instruction Type:      CVI_VP
   2832    Execution Slots:       SLOT0123
   2833    ========================================================================== */
   2834 
   2835 #define Q6_Vb_vshuff_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffb)(Vu)
   2836 #endif /* __HEXAGON_ARCH___ >= 60 */
   2837 
   2838 #if __HVX_ARCH__ >= 60
   2839 /* ==========================================================================
   2840    Assembly Syntax:       Vd32.b=vshuffe(Vu32.b,Vv32.b)
   2841    C Intrinsic Prototype: HVX_Vector Q6_Vb_vshuffe_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   2842    Instruction Type:      CVI_VA
   2843    Execution Slots:       SLOT0123
   2844    ========================================================================== */
   2845 
   2846 #define Q6_Vb_vshuffe_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffeb)(Vu,Vv)
   2847 #endif /* __HEXAGON_ARCH___ >= 60 */
   2848 
   2849 #if __HVX_ARCH__ >= 60
   2850 /* ==========================================================================
   2851    Assembly Syntax:       Vd32.h=vshuff(Vu32.h)
   2852    C Intrinsic Prototype: HVX_Vector Q6_Vh_vshuff_Vh(HVX_Vector Vu)
   2853    Instruction Type:      CVI_VP
   2854    Execution Slots:       SLOT0123
   2855    ========================================================================== */
   2856 
   2857 #define Q6_Vh_vshuff_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffh)(Vu)
   2858 #endif /* __HEXAGON_ARCH___ >= 60 */
   2859 
   2860 #if __HVX_ARCH__ >= 60
   2861 /* ==========================================================================
   2862    Assembly Syntax:       Vd32.b=vshuffo(Vu32.b,Vv32.b)
   2863    C Intrinsic Prototype: HVX_Vector Q6_Vb_vshuffo_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   2864    Instruction Type:      CVI_VA
   2865    Execution Slots:       SLOT0123
   2866    ========================================================================== */
   2867 
   2868 #define Q6_Vb_vshuffo_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffob)(Vu,Vv)
   2869 #endif /* __HEXAGON_ARCH___ >= 60 */
   2870 
   2871 #if __HVX_ARCH__ >= 60
   2872 /* ==========================================================================
   2873    Assembly Syntax:       Vdd32=vshuff(Vu32,Vv32,Rt8)
   2874    C Intrinsic Prototype: HVX_VectorPair Q6_W_vshuff_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   2875    Instruction Type:      CVI_VP_VS
   2876    Execution Slots:       SLOT0123
   2877    ========================================================================== */
   2878 
   2879 #define Q6_W_vshuff_VVR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffvdd)(Vu,Vv,Rt)
   2880 #endif /* __HEXAGON_ARCH___ >= 60 */
   2881 
   2882 #if __HVX_ARCH__ >= 60
   2883 /* ==========================================================================
   2884    Assembly Syntax:       Vdd32.b=vshuffoe(Vu32.b,Vv32.b)
   2885    C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vshuffoe_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   2886    Instruction Type:      CVI_VA_DV
   2887    Execution Slots:       SLOT0123
   2888    ========================================================================== */
   2889 
   2890 #define Q6_Wb_vshuffoe_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufoeb)(Vu,Vv)
   2891 #endif /* __HEXAGON_ARCH___ >= 60 */
   2892 
   2893 #if __HVX_ARCH__ >= 60
   2894 /* ==========================================================================
   2895    Assembly Syntax:       Vdd32.h=vshuffoe(Vu32.h,Vv32.h)
   2896    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vshuffoe_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2897    Instruction Type:      CVI_VA_DV
   2898    Execution Slots:       SLOT0123
   2899    ========================================================================== */
   2900 
   2901 #define Q6_Wh_vshuffoe_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufoeh)(Vu,Vv)
   2902 #endif /* __HEXAGON_ARCH___ >= 60 */
   2903 
   2904 #if __HVX_ARCH__ >= 60
   2905 /* ==========================================================================
   2906    Assembly Syntax:       Vd32.h=vshuffo(Vu32.h,Vv32.h)
   2907    C Intrinsic Prototype: HVX_Vector Q6_Vh_vshuffo_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2908    Instruction Type:      CVI_VA
   2909    Execution Slots:       SLOT0123
   2910    ========================================================================== */
   2911 
   2912 #define Q6_Vh_vshuffo_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufoh)(Vu,Vv)
   2913 #endif /* __HEXAGON_ARCH___ >= 60 */
   2914 
   2915 #if __HVX_ARCH__ >= 60
   2916 /* ==========================================================================
   2917    Assembly Syntax:       Vd32.b=vsub(Vu32.b,Vv32.b)
   2918    C Intrinsic Prototype: HVX_Vector Q6_Vb_vsub_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   2919    Instruction Type:      CVI_VA
   2920    Execution Slots:       SLOT0123
   2921    ========================================================================== */
   2922 
   2923 #define Q6_Vb_vsub_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubb)(Vu,Vv)
   2924 #endif /* __HEXAGON_ARCH___ >= 60 */
   2925 
   2926 #if __HVX_ARCH__ >= 60
   2927 /* ==========================================================================
   2928    Assembly Syntax:       Vdd32.b=vsub(Vuu32.b,Vvv32.b)
   2929    C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vsub_WbWb(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   2930    Instruction Type:      CVI_VA_DV
   2931    Execution Slots:       SLOT0123
   2932    ========================================================================== */
   2933 
   2934 #define Q6_Wb_vsub_WbWb(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubb_dv)(Vuu,Vvv)
   2935 #endif /* __HEXAGON_ARCH___ >= 60 */
   2936 
   2937 #if __HVX_ARCH__ >= 60
   2938 /* ==========================================================================
   2939    Assembly Syntax:       if (!Qv4) Vx32.b-=Vu32.b
   2940    C Intrinsic Prototype: HVX_Vector Q6_Vb_condnac_QnVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
   2941    Instruction Type:      CVI_VA
   2942    Execution Slots:       SLOT0123
   2943    ========================================================================== */
   2944 
   2945 #define Q6_Vb_condnac_QnVbVb(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
   2946 #endif /* __HEXAGON_ARCH___ >= 60 */
   2947 
   2948 #if __HVX_ARCH__ >= 60
   2949 /* ==========================================================================
   2950    Assembly Syntax:       if (Qv4) Vx32.b-=Vu32.b
   2951    C Intrinsic Prototype: HVX_Vector Q6_Vb_condnac_QVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
   2952    Instruction Type:      CVI_VA
   2953    Execution Slots:       SLOT0123
   2954    ========================================================================== */
   2955 
   2956 #define Q6_Vb_condnac_QVbVb(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
   2957 #endif /* __HEXAGON_ARCH___ >= 60 */
   2958 
   2959 #if __HVX_ARCH__ >= 60
   2960 /* ==========================================================================
   2961    Assembly Syntax:       Vd32.h=vsub(Vu32.h,Vv32.h)
   2962    C Intrinsic Prototype: HVX_Vector Q6_Vh_vsub_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   2963    Instruction Type:      CVI_VA
   2964    Execution Slots:       SLOT0123
   2965    ========================================================================== */
   2966 
   2967 #define Q6_Vh_vsub_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubh)(Vu,Vv)
   2968 #endif /* __HEXAGON_ARCH___ >= 60 */
   2969 
   2970 #if __HVX_ARCH__ >= 60
   2971 /* ==========================================================================
   2972    Assembly Syntax:       Vdd32.h=vsub(Vuu32.h,Vvv32.h)
   2973    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsub_WhWh(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   2974    Instruction Type:      CVI_VA_DV
   2975    Execution Slots:       SLOT0123
   2976    ========================================================================== */
   2977 
   2978 #define Q6_Wh_vsub_WhWh(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubh_dv)(Vuu,Vvv)
   2979 #endif /* __HEXAGON_ARCH___ >= 60 */
   2980 
   2981 #if __HVX_ARCH__ >= 60
   2982 /* ==========================================================================
   2983    Assembly Syntax:       if (!Qv4) Vx32.h-=Vu32.h
   2984    C Intrinsic Prototype: HVX_Vector Q6_Vh_condnac_QnVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
   2985    Instruction Type:      CVI_VA
   2986    Execution Slots:       SLOT0123
   2987    ========================================================================== */
   2988 
   2989 #define Q6_Vh_condnac_QnVhVh(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
   2990 #endif /* __HEXAGON_ARCH___ >= 60 */
   2991 
   2992 #if __HVX_ARCH__ >= 60
   2993 /* ==========================================================================
   2994    Assembly Syntax:       if (Qv4) Vx32.h-=Vu32.h
   2995    C Intrinsic Prototype: HVX_Vector Q6_Vh_condnac_QVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
   2996    Instruction Type:      CVI_VA
   2997    Execution Slots:       SLOT0123
   2998    ========================================================================== */
   2999 
   3000 #define Q6_Vh_condnac_QVhVh(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
   3001 #endif /* __HEXAGON_ARCH___ >= 60 */
   3002 
   3003 #if __HVX_ARCH__ >= 60
   3004 /* ==========================================================================
   3005    Assembly Syntax:       Vd32.h=vsub(Vu32.h,Vv32.h):sat
   3006    C Intrinsic Prototype: HVX_Vector Q6_Vh_vsub_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
   3007    Instruction Type:      CVI_VA
   3008    Execution Slots:       SLOT0123
   3009    ========================================================================== */
   3010 
   3011 #define Q6_Vh_vsub_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhsat)(Vu,Vv)
   3012 #endif /* __HEXAGON_ARCH___ >= 60 */
   3013 
   3014 #if __HVX_ARCH__ >= 60
   3015 /* ==========================================================================
   3016    Assembly Syntax:       Vdd32.h=vsub(Vuu32.h,Vvv32.h):sat
   3017    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsub_WhWh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   3018    Instruction Type:      CVI_VA_DV
   3019    Execution Slots:       SLOT0123
   3020    ========================================================================== */
   3021 
   3022 #define Q6_Wh_vsub_WhWh_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhsat_dv)(Vuu,Vvv)
   3023 #endif /* __HEXAGON_ARCH___ >= 60 */
   3024 
   3025 #if __HVX_ARCH__ >= 60
   3026 /* ==========================================================================
   3027    Assembly Syntax:       Vdd32.w=vsub(Vu32.h,Vv32.h)
   3028    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   3029    Instruction Type:      CVI_VX_DV
   3030    Execution Slots:       SLOT23
   3031    ========================================================================== */
   3032 
   3033 #define Q6_Ww_vsub_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhw)(Vu,Vv)
   3034 #endif /* __HEXAGON_ARCH___ >= 60 */
   3035 
   3036 #if __HVX_ARCH__ >= 60
   3037 /* ==========================================================================
   3038    Assembly Syntax:       Vdd32.h=vsub(Vu32.ub,Vv32.ub)
   3039    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsub_VubVub(HVX_Vector Vu, HVX_Vector Vv)
   3040    Instruction Type:      CVI_VX_DV
   3041    Execution Slots:       SLOT23
   3042    ========================================================================== */
   3043 
   3044 #define Q6_Wh_vsub_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsububh)(Vu,Vv)
   3045 #endif /* __HEXAGON_ARCH___ >= 60 */
   3046 
   3047 #if __HVX_ARCH__ >= 60
   3048 /* ==========================================================================
   3049    Assembly Syntax:       Vd32.ub=vsub(Vu32.ub,Vv32.ub):sat
   3050    C Intrinsic Prototype: HVX_Vector Q6_Vub_vsub_VubVub_sat(HVX_Vector Vu, HVX_Vector Vv)
   3051    Instruction Type:      CVI_VA
   3052    Execution Slots:       SLOT0123
   3053    ========================================================================== */
   3054 
   3055 #define Q6_Vub_vsub_VubVub_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsububsat)(Vu,Vv)
   3056 #endif /* __HEXAGON_ARCH___ >= 60 */
   3057 
   3058 #if __HVX_ARCH__ >= 60
   3059 /* ==========================================================================
   3060    Assembly Syntax:       Vdd32.ub=vsub(Vuu32.ub,Vvv32.ub):sat
   3061    C Intrinsic Prototype: HVX_VectorPair Q6_Wub_vsub_WubWub_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   3062    Instruction Type:      CVI_VA_DV
   3063    Execution Slots:       SLOT0123
   3064    ========================================================================== */
   3065 
   3066 #define Q6_Wub_vsub_WubWub_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsububsat_dv)(Vuu,Vvv)
   3067 #endif /* __HEXAGON_ARCH___ >= 60 */
   3068 
   3069 #if __HVX_ARCH__ >= 60
   3070 /* ==========================================================================
   3071    Assembly Syntax:       Vd32.uh=vsub(Vu32.uh,Vv32.uh):sat
   3072    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vsub_VuhVuh_sat(HVX_Vector Vu, HVX_Vector Vv)
   3073    Instruction Type:      CVI_VA
   3074    Execution Slots:       SLOT0123
   3075    ========================================================================== */
   3076 
   3077 #define Q6_Vuh_vsub_VuhVuh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuhsat)(Vu,Vv)
   3078 #endif /* __HEXAGON_ARCH___ >= 60 */
   3079 
   3080 #if __HVX_ARCH__ >= 60
   3081 /* ==========================================================================
   3082    Assembly Syntax:       Vdd32.uh=vsub(Vuu32.uh,Vvv32.uh):sat
   3083    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vsub_WuhWuh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   3084    Instruction Type:      CVI_VA_DV
   3085    Execution Slots:       SLOT0123
   3086    ========================================================================== */
   3087 
   3088 #define Q6_Wuh_vsub_WuhWuh_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuhsat_dv)(Vuu,Vvv)
   3089 #endif /* __HEXAGON_ARCH___ >= 60 */
   3090 
   3091 #if __HVX_ARCH__ >= 60
   3092 /* ==========================================================================
   3093    Assembly Syntax:       Vdd32.w=vsub(Vu32.uh,Vv32.uh)
   3094    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
   3095    Instruction Type:      CVI_VX_DV
   3096    Execution Slots:       SLOT23
   3097    ========================================================================== */
   3098 
   3099 #define Q6_Ww_vsub_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuhw)(Vu,Vv)
   3100 #endif /* __HEXAGON_ARCH___ >= 60 */
   3101 
   3102 #if __HVX_ARCH__ >= 60
   3103 /* ==========================================================================
   3104    Assembly Syntax:       Vd32.w=vsub(Vu32.w,Vv32.w)
   3105    C Intrinsic Prototype: HVX_Vector Q6_Vw_vsub_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   3106    Instruction Type:      CVI_VA
   3107    Execution Slots:       SLOT0123
   3108    ========================================================================== */
   3109 
   3110 #define Q6_Vw_vsub_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubw)(Vu,Vv)
   3111 #endif /* __HEXAGON_ARCH___ >= 60 */
   3112 
   3113 #if __HVX_ARCH__ >= 60
   3114 /* ==========================================================================
   3115    Assembly Syntax:       Vdd32.w=vsub(Vuu32.w,Vvv32.w)
   3116    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_WwWw(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   3117    Instruction Type:      CVI_VA_DV
   3118    Execution Slots:       SLOT0123
   3119    ========================================================================== */
   3120 
   3121 #define Q6_Ww_vsub_WwWw(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubw_dv)(Vuu,Vvv)
   3122 #endif /* __HEXAGON_ARCH___ >= 60 */
   3123 
   3124 #if __HVX_ARCH__ >= 60
   3125 /* ==========================================================================
   3126    Assembly Syntax:       if (!Qv4) Vx32.w-=Vu32.w
   3127    C Intrinsic Prototype: HVX_Vector Q6_Vw_condnac_QnVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
   3128    Instruction Type:      CVI_VA
   3129    Execution Slots:       SLOT0123
   3130    ========================================================================== */
   3131 
   3132 #define Q6_Vw_condnac_QnVwVw(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
   3133 #endif /* __HEXAGON_ARCH___ >= 60 */
   3134 
   3135 #if __HVX_ARCH__ >= 60
   3136 /* ==========================================================================
   3137    Assembly Syntax:       if (Qv4) Vx32.w-=Vu32.w
   3138    C Intrinsic Prototype: HVX_Vector Q6_Vw_condnac_QVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
   3139    Instruction Type:      CVI_VA
   3140    Execution Slots:       SLOT0123
   3141    ========================================================================== */
   3142 
   3143 #define Q6_Vw_condnac_QVwVw(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
   3144 #endif /* __HEXAGON_ARCH___ >= 60 */
   3145 
   3146 #if __HVX_ARCH__ >= 60
   3147 /* ==========================================================================
   3148    Assembly Syntax:       Vd32.w=vsub(Vu32.w,Vv32.w):sat
   3149    C Intrinsic Prototype: HVX_Vector Q6_Vw_vsub_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
   3150    Instruction Type:      CVI_VA
   3151    Execution Slots:       SLOT0123
   3152    ========================================================================== */
   3153 
   3154 #define Q6_Vw_vsub_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwsat)(Vu,Vv)
   3155 #endif /* __HEXAGON_ARCH___ >= 60 */
   3156 
   3157 #if __HVX_ARCH__ >= 60
   3158 /* ==========================================================================
   3159    Assembly Syntax:       Vdd32.w=vsub(Vuu32.w,Vvv32.w):sat
   3160    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_WwWw_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   3161    Instruction Type:      CVI_VA_DV
   3162    Execution Slots:       SLOT0123
   3163    ========================================================================== */
   3164 
   3165 #define Q6_Ww_vsub_WwWw_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwsat_dv)(Vuu,Vvv)
   3166 #endif /* __HEXAGON_ARCH___ >= 60 */
   3167 
   3168 #if __HVX_ARCH__ >= 60
   3169 /* ==========================================================================
   3170    Assembly Syntax:       Vdd32=vswap(Qt4,Vu32,Vv32)
   3171    C Intrinsic Prototype: HVX_VectorPair Q6_W_vswap_QVV(HVX_VectorPred Qt, HVX_Vector Vu, HVX_Vector Vv)
   3172    Instruction Type:      CVI_VA_DV
   3173    Execution Slots:       SLOT0123
   3174    ========================================================================== */
   3175 
   3176 #define Q6_W_vswap_QVV(Qt,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vswap)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1),Vu,Vv)
   3177 #endif /* __HEXAGON_ARCH___ >= 60 */
   3178 
   3179 #if __HVX_ARCH__ >= 60
   3180 /* ==========================================================================
   3181    Assembly Syntax:       Vdd32.h=vtmpy(Vuu32.b,Rt32.b)
   3182    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpy_WbRb(HVX_VectorPair Vuu, Word32 Rt)
   3183    Instruction Type:      CVI_VX_DV
   3184    Execution Slots:       SLOT23
   3185    ========================================================================== */
   3186 
   3187 #define Q6_Wh_vtmpy_WbRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyb)(Vuu,Rt)
   3188 #endif /* __HEXAGON_ARCH___ >= 60 */
   3189 
   3190 #if __HVX_ARCH__ >= 60
   3191 /* ==========================================================================
   3192    Assembly Syntax:       Vxx32.h+=vtmpy(Vuu32.b,Rt32.b)
   3193    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpyacc_WhWbRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
   3194    Instruction Type:      CVI_VX_DV
   3195    Execution Slots:       SLOT23
   3196    ========================================================================== */
   3197 
   3198 #define Q6_Wh_vtmpyacc_WhWbRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyb_acc)(Vxx,Vuu,Rt)
   3199 #endif /* __HEXAGON_ARCH___ >= 60 */
   3200 
   3201 #if __HVX_ARCH__ >= 60
   3202 /* ==========================================================================
   3203    Assembly Syntax:       Vdd32.h=vtmpy(Vuu32.ub,Rt32.b)
   3204    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpy_WubRb(HVX_VectorPair Vuu, Word32 Rt)
   3205    Instruction Type:      CVI_VX_DV
   3206    Execution Slots:       SLOT23
   3207    ========================================================================== */
   3208 
   3209 #define Q6_Wh_vtmpy_WubRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpybus)(Vuu,Rt)
   3210 #endif /* __HEXAGON_ARCH___ >= 60 */
   3211 
   3212 #if __HVX_ARCH__ >= 60
   3213 /* ==========================================================================
   3214    Assembly Syntax:       Vxx32.h+=vtmpy(Vuu32.ub,Rt32.b)
   3215    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpyacc_WhWubRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
   3216    Instruction Type:      CVI_VX_DV
   3217    Execution Slots:       SLOT23
   3218    ========================================================================== */
   3219 
   3220 #define Q6_Wh_vtmpyacc_WhWubRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpybus_acc)(Vxx,Vuu,Rt)
   3221 #endif /* __HEXAGON_ARCH___ >= 60 */
   3222 
   3223 #if __HVX_ARCH__ >= 60
   3224 /* ==========================================================================
   3225    Assembly Syntax:       Vdd32.w=vtmpy(Vuu32.h,Rt32.b)
   3226    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vtmpy_WhRb(HVX_VectorPair Vuu, Word32 Rt)
   3227    Instruction Type:      CVI_VX_DV
   3228    Execution Slots:       SLOT23
   3229    ========================================================================== */
   3230 
   3231 #define Q6_Ww_vtmpy_WhRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyhb)(Vuu,Rt)
   3232 #endif /* __HEXAGON_ARCH___ >= 60 */
   3233 
   3234 #if __HVX_ARCH__ >= 60
   3235 /* ==========================================================================
   3236    Assembly Syntax:       Vxx32.w+=vtmpy(Vuu32.h,Rt32.b)
   3237    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vtmpyacc_WwWhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
   3238    Instruction Type:      CVI_VX_DV
   3239    Execution Slots:       SLOT23
   3240    ========================================================================== */
   3241 
   3242 #define Q6_Ww_vtmpyacc_WwWhRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyhb_acc)(Vxx,Vuu,Rt)
   3243 #endif /* __HEXAGON_ARCH___ >= 60 */
   3244 
   3245 #if __HVX_ARCH__ >= 60
   3246 /* ==========================================================================
   3247    Assembly Syntax:       Vdd32.h=vunpack(Vu32.b)
   3248    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vunpack_Vb(HVX_Vector Vu)
   3249    Instruction Type:      CVI_VP_VS
   3250    Execution Slots:       SLOT0123
   3251    ========================================================================== */
   3252 
   3253 #define Q6_Wh_vunpack_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackb)(Vu)
   3254 #endif /* __HEXAGON_ARCH___ >= 60 */
   3255 
   3256 #if __HVX_ARCH__ >= 60
   3257 /* ==========================================================================
   3258    Assembly Syntax:       Vdd32.w=vunpack(Vu32.h)
   3259    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vunpack_Vh(HVX_Vector Vu)
   3260    Instruction Type:      CVI_VP_VS
   3261    Execution Slots:       SLOT0123
   3262    ========================================================================== */
   3263 
   3264 #define Q6_Ww_vunpack_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackh)(Vu)
   3265 #endif /* __HEXAGON_ARCH___ >= 60 */
   3266 
   3267 #if __HVX_ARCH__ >= 60
   3268 /* ==========================================================================
   3269    Assembly Syntax:       Vxx32.h|=vunpacko(Vu32.b)
   3270    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vunpackoor_WhVb(HVX_VectorPair Vxx, HVX_Vector Vu)
   3271    Instruction Type:      CVI_VP_VS
   3272    Execution Slots:       SLOT0123
   3273    ========================================================================== */
   3274 
   3275 #define Q6_Wh_vunpackoor_WhVb(Vxx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackob)(Vxx,Vu)
   3276 #endif /* __HEXAGON_ARCH___ >= 60 */
   3277 
   3278 #if __HVX_ARCH__ >= 60
   3279 /* ==========================================================================
   3280    Assembly Syntax:       Vxx32.w|=vunpacko(Vu32.h)
   3281    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vunpackoor_WwVh(HVX_VectorPair Vxx, HVX_Vector Vu)
   3282    Instruction Type:      CVI_VP_VS
   3283    Execution Slots:       SLOT0123
   3284    ========================================================================== */
   3285 
   3286 #define Q6_Ww_vunpackoor_WwVh(Vxx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackoh)(Vxx,Vu)
   3287 #endif /* __HEXAGON_ARCH___ >= 60 */
   3288 
   3289 #if __HVX_ARCH__ >= 60
   3290 /* ==========================================================================
   3291    Assembly Syntax:       Vdd32.uh=vunpack(Vu32.ub)
   3292    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vunpack_Vub(HVX_Vector Vu)
   3293    Instruction Type:      CVI_VP_VS
   3294    Execution Slots:       SLOT0123
   3295    ========================================================================== */
   3296 
   3297 #define Q6_Wuh_vunpack_Vub(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackub)(Vu)
   3298 #endif /* __HEXAGON_ARCH___ >= 60 */
   3299 
   3300 #if __HVX_ARCH__ >= 60
   3301 /* ==========================================================================
   3302    Assembly Syntax:       Vdd32.uw=vunpack(Vu32.uh)
   3303    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vunpack_Vuh(HVX_Vector Vu)
   3304    Instruction Type:      CVI_VP_VS
   3305    Execution Slots:       SLOT0123
   3306    ========================================================================== */
   3307 
   3308 #define Q6_Wuw_vunpack_Vuh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackuh)(Vu)
   3309 #endif /* __HEXAGON_ARCH___ >= 60 */
   3310 
   3311 #if __HVX_ARCH__ >= 60
   3312 /* ==========================================================================
   3313    Assembly Syntax:       Vd32=vxor(Vu32,Vv32)
   3314    C Intrinsic Prototype: HVX_Vector Q6_V_vxor_VV(HVX_Vector Vu, HVX_Vector Vv)
   3315    Instruction Type:      CVI_VA
   3316    Execution Slots:       SLOT0123
   3317    ========================================================================== */
   3318 
   3319 #define Q6_V_vxor_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vxor)(Vu,Vv)
   3320 #endif /* __HEXAGON_ARCH___ >= 60 */
   3321 
   3322 #if __HVX_ARCH__ >= 60
   3323 /* ==========================================================================
   3324    Assembly Syntax:       Vdd32.uh=vzxt(Vu32.ub)
   3325    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vzxt_Vub(HVX_Vector Vu)
   3326    Instruction Type:      CVI_VA_DV
   3327    Execution Slots:       SLOT0123
   3328    ========================================================================== */
   3329 
   3330 #define Q6_Wuh_vzxt_Vub(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vzb)(Vu)
   3331 #endif /* __HEXAGON_ARCH___ >= 60 */
   3332 
   3333 #if __HVX_ARCH__ >= 60
   3334 /* ==========================================================================
   3335    Assembly Syntax:       Vdd32.uw=vzxt(Vu32.uh)
   3336    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vzxt_Vuh(HVX_Vector Vu)
   3337    Instruction Type:      CVI_VA_DV
   3338    Execution Slots:       SLOT0123
   3339    ========================================================================== */
   3340 
   3341 #define Q6_Wuw_vzxt_Vuh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vzh)(Vu)
   3342 #endif /* __HEXAGON_ARCH___ >= 60 */
   3343 
   3344 #if __HVX_ARCH__ >= 62
   3345 /* ==========================================================================
   3346    Assembly Syntax:       Vd32.b=vsplat(Rt32)
   3347    C Intrinsic Prototype: HVX_Vector Q6_Vb_vsplat_R(Word32 Rt)
   3348    Instruction Type:      CVI_VX_LATE
   3349    Execution Slots:       SLOT23
   3350    ========================================================================== */
   3351 
   3352 #define Q6_Vb_vsplat_R(Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lvsplatb)(Rt)
   3353 #endif /* __HEXAGON_ARCH___ >= 62 */
   3354 
   3355 #if __HVX_ARCH__ >= 62
   3356 /* ==========================================================================
   3357    Assembly Syntax:       Vd32.h=vsplat(Rt32)
   3358    C Intrinsic Prototype: HVX_Vector Q6_Vh_vsplat_R(Word32 Rt)
   3359    Instruction Type:      CVI_VX_LATE
   3360    Execution Slots:       SLOT23
   3361    ========================================================================== */
   3362 
   3363 #define Q6_Vh_vsplat_R(Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lvsplath)(Rt)
   3364 #endif /* __HEXAGON_ARCH___ >= 62 */
   3365 
   3366 #if __HVX_ARCH__ >= 62
   3367 /* ==========================================================================
   3368    Assembly Syntax:       Qd4=vsetq2(Rt32)
   3369    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vsetq2_R(Word32 Rt)
   3370    Instruction Type:      CVI_VP
   3371    Execution Slots:       SLOT0123
   3372    ========================================================================== */
   3373 
   3374 #define Q6_Q_vsetq2_R(Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_scalar2v2)(Rt)),-1)
   3375 #endif /* __HEXAGON_ARCH___ >= 62 */
   3376 
   3377 #if __HVX_ARCH__ >= 62
   3378 /* ==========================================================================
   3379    Assembly Syntax:       Qd4.b=vshuffe(Qs4.h,Qt4.h)
   3380    C Intrinsic Prototype: HVX_VectorPred Q6_Qb_vshuffe_QhQh(HVX_VectorPred Qs, HVX_VectorPred Qt)
   3381    Instruction Type:      CVI_VA_DV
   3382    Execution Slots:       SLOT0123
   3383    ========================================================================== */
   3384 
   3385 #define Q6_Qb_vshuffe_QhQh(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_shuffeqh)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
   3386 #endif /* __HEXAGON_ARCH___ >= 62 */
   3387 
   3388 #if __HVX_ARCH__ >= 62
   3389 /* ==========================================================================
   3390    Assembly Syntax:       Qd4.h=vshuffe(Qs4.w,Qt4.w)
   3391    C Intrinsic Prototype: HVX_VectorPred Q6_Qh_vshuffe_QwQw(HVX_VectorPred Qs, HVX_VectorPred Qt)
   3392    Instruction Type:      CVI_VA_DV
   3393    Execution Slots:       SLOT0123
   3394    ========================================================================== */
   3395 
   3396 #define Q6_Qh_vshuffe_QwQw(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_shuffeqw)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
   3397 #endif /* __HEXAGON_ARCH___ >= 62 */
   3398 
   3399 #if __HVX_ARCH__ >= 62
   3400 /* ==========================================================================
   3401    Assembly Syntax:       Vd32.b=vadd(Vu32.b,Vv32.b):sat
   3402    C Intrinsic Prototype: HVX_Vector Q6_Vb_vadd_VbVb_sat(HVX_Vector Vu, HVX_Vector Vv)
   3403    Instruction Type:      CVI_VA
   3404    Execution Slots:       SLOT0123
   3405    ========================================================================== */
   3406 
   3407 #define Q6_Vb_vadd_VbVb_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbsat)(Vu,Vv)
   3408 #endif /* __HEXAGON_ARCH___ >= 62 */
   3409 
   3410 #if __HVX_ARCH__ >= 62
   3411 /* ==========================================================================
   3412    Assembly Syntax:       Vdd32.b=vadd(Vuu32.b,Vvv32.b):sat
   3413    C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vadd_WbWb_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   3414    Instruction Type:      CVI_VA_DV
   3415    Execution Slots:       SLOT0123
   3416    ========================================================================== */
   3417 
   3418 #define Q6_Wb_vadd_WbWb_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbsat_dv)(Vuu,Vvv)
   3419 #endif /* __HEXAGON_ARCH___ >= 62 */
   3420 
   3421 #if __HVX_ARCH__ >= 62
   3422 /* ==========================================================================
   3423    Assembly Syntax:       Vd32.w=vadd(Vu32.w,Vv32.w,Qx4):carry
   3424    C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_VwVwQ_carry(HVX_Vector Vu, HVX_Vector Vv, HVX_VectorPred* Qx)
   3425    Instruction Type:      CVI_VA
   3426    Execution Slots:       SLOT0123
   3427    ========================================================================== */
   3428 
   3429 #define Q6_Vw_vadd_VwVwQ_carry(Vu,Vv,Qx) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddcarry)(Vu,Vv,Qx)
   3430 #endif /* __HEXAGON_ARCH___ >= 62 */
   3431 
   3432 #if __HVX_ARCH__ >= 62
   3433 /* ==========================================================================
   3434    Assembly Syntax:       Vd32.h=vadd(vclb(Vu32.h),Vv32.h)
   3435    C Intrinsic Prototype: HVX_Vector Q6_Vh_vadd_vclb_VhVh(HVX_Vector Vu, HVX_Vector Vv)
   3436    Instruction Type:      CVI_VS
   3437    Execution Slots:       SLOT0123
   3438    ========================================================================== */
   3439 
   3440 #define Q6_Vh_vadd_vclb_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddclbh)(Vu,Vv)
   3441 #endif /* __HEXAGON_ARCH___ >= 62 */
   3442 
   3443 #if __HVX_ARCH__ >= 62
   3444 /* ==========================================================================
   3445    Assembly Syntax:       Vd32.w=vadd(vclb(Vu32.w),Vv32.w)
   3446    C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_vclb_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   3447    Instruction Type:      CVI_VS
   3448    Execution Slots:       SLOT0123
   3449    ========================================================================== */
   3450 
   3451 #define Q6_Vw_vadd_vclb_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddclbw)(Vu,Vv)
   3452 #endif /* __HEXAGON_ARCH___ >= 62 */
   3453 
   3454 #if __HVX_ARCH__ >= 62
   3455 /* ==========================================================================
   3456    Assembly Syntax:       Vxx32.w+=vadd(Vu32.h,Vv32.h)
   3457    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vaddacc_WwVhVh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   3458    Instruction Type:      CVI_VX_DV
   3459    Execution Slots:       SLOT23
   3460    ========================================================================== */
   3461 
   3462 #define Q6_Ww_vaddacc_WwVhVh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhw_acc)(Vxx,Vu,Vv)
   3463 #endif /* __HEXAGON_ARCH___ >= 62 */
   3464 
   3465 #if __HVX_ARCH__ >= 62
   3466 /* ==========================================================================
   3467    Assembly Syntax:       Vxx32.h+=vadd(Vu32.ub,Vv32.ub)
   3468    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vaddacc_WhVubVub(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   3469    Instruction Type:      CVI_VX_DV
   3470    Execution Slots:       SLOT23
   3471    ========================================================================== */
   3472 
   3473 #define Q6_Wh_vaddacc_WhVubVub(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubh_acc)(Vxx,Vu,Vv)
   3474 #endif /* __HEXAGON_ARCH___ >= 62 */
   3475 
   3476 #if __HVX_ARCH__ >= 62
   3477 /* ==========================================================================
   3478    Assembly Syntax:       Vd32.ub=vadd(Vu32.ub,Vv32.b):sat
   3479    C Intrinsic Prototype: HVX_Vector Q6_Vub_vadd_VubVb_sat(HVX_Vector Vu, HVX_Vector Vv)
   3480    Instruction Type:      CVI_VA
   3481    Execution Slots:       SLOT0123
   3482    ========================================================================== */
   3483 
   3484 #define Q6_Vub_vadd_VubVb_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddububb_sat)(Vu,Vv)
   3485 #endif /* __HEXAGON_ARCH___ >= 62 */
   3486 
   3487 #if __HVX_ARCH__ >= 62
   3488 /* ==========================================================================
   3489    Assembly Syntax:       Vxx32.w+=vadd(Vu32.uh,Vv32.uh)
   3490    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vaddacc_WwVuhVuh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   3491    Instruction Type:      CVI_VX_DV
   3492    Execution Slots:       SLOT23
   3493    ========================================================================== */
   3494 
   3495 #define Q6_Ww_vaddacc_WwVuhVuh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhw_acc)(Vxx,Vu,Vv)
   3496 #endif /* __HEXAGON_ARCH___ >= 62 */
   3497 
   3498 #if __HVX_ARCH__ >= 62
   3499 /* ==========================================================================
   3500    Assembly Syntax:       Vd32.uw=vadd(Vu32.uw,Vv32.uw):sat
   3501    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vadd_VuwVuw_sat(HVX_Vector Vu, HVX_Vector Vv)
   3502    Instruction Type:      CVI_VA
   3503    Execution Slots:       SLOT0123
   3504    ========================================================================== */
   3505 
   3506 #define Q6_Vuw_vadd_VuwVuw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduwsat)(Vu,Vv)
   3507 #endif /* __HEXAGON_ARCH___ >= 62 */
   3508 
   3509 #if __HVX_ARCH__ >= 62
   3510 /* ==========================================================================
   3511    Assembly Syntax:       Vdd32.uw=vadd(Vuu32.uw,Vvv32.uw):sat
   3512    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vadd_WuwWuw_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   3513    Instruction Type:      CVI_VA_DV
   3514    Execution Slots:       SLOT0123
   3515    ========================================================================== */
   3516 
   3517 #define Q6_Wuw_vadd_WuwWuw_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduwsat_dv)(Vuu,Vvv)
   3518 #endif /* __HEXAGON_ARCH___ >= 62 */
   3519 
   3520 #if __HVX_ARCH__ >= 62
   3521 /* ==========================================================================
   3522    Assembly Syntax:       Vd32=vand(!Qu4,Rt32)
   3523    C Intrinsic Prototype: HVX_Vector Q6_V_vand_QnR(HVX_VectorPred Qu, Word32 Rt)
   3524    Instruction Type:      CVI_VX_LATE
   3525    Execution Slots:       SLOT23
   3526    ========================================================================== */
   3527 
   3528 #define Q6_V_vand_QnR(Qu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandnqrt)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qu),-1),Rt)
   3529 #endif /* __HEXAGON_ARCH___ >= 62 */
   3530 
   3531 #if __HVX_ARCH__ >= 62
   3532 /* ==========================================================================
   3533    Assembly Syntax:       Vx32|=vand(!Qu4,Rt32)
   3534    C Intrinsic Prototype: HVX_Vector Q6_V_vandor_VQnR(HVX_Vector Vx, HVX_VectorPred Qu, Word32 Rt)
   3535    Instruction Type:      CVI_VX_LATE
   3536    Execution Slots:       SLOT23
   3537    ========================================================================== */
   3538 
   3539 #define Q6_V_vandor_VQnR(Vx,Qu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandnqrt_acc)(Vx,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qu),-1),Rt)
   3540 #endif /* __HEXAGON_ARCH___ >= 62 */
   3541 
   3542 #if __HVX_ARCH__ >= 62
   3543 /* ==========================================================================
   3544    Assembly Syntax:       Vd32=vand(!Qv4,Vu32)
   3545    C Intrinsic Prototype: HVX_Vector Q6_V_vand_QnV(HVX_VectorPred Qv, HVX_Vector Vu)
   3546    Instruction Type:      CVI_VA
   3547    Execution Slots:       SLOT0123
   3548    ========================================================================== */
   3549 
   3550 #define Q6_V_vand_QnV(Qv,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvnqv)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vu)
   3551 #endif /* __HEXAGON_ARCH___ >= 62 */
   3552 
   3553 #if __HVX_ARCH__ >= 62
   3554 /* ==========================================================================
   3555    Assembly Syntax:       Vd32=vand(Qv4,Vu32)
   3556    C Intrinsic Prototype: HVX_Vector Q6_V_vand_QV(HVX_VectorPred Qv, HVX_Vector Vu)
   3557    Instruction Type:      CVI_VA
   3558    Execution Slots:       SLOT0123
   3559    ========================================================================== */
   3560 
   3561 #define Q6_V_vand_QV(Qv,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvqv)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vu)
   3562 #endif /* __HEXAGON_ARCH___ >= 62 */
   3563 
   3564 #if __HVX_ARCH__ >= 62
   3565 /* ==========================================================================
   3566    Assembly Syntax:       Vd32.b=vasr(Vu32.h,Vv32.h,Rt8):sat
   3567    C Intrinsic Prototype: HVX_Vector Q6_Vb_vasr_VhVhR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   3568    Instruction Type:      CVI_VS
   3569    Execution Slots:       SLOT0123
   3570    ========================================================================== */
   3571 
   3572 #define Q6_Vb_vasr_VhVhR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhbsat)(Vu,Vv,Rt)
   3573 #endif /* __HEXAGON_ARCH___ >= 62 */
   3574 
   3575 #if __HVX_ARCH__ >= 62
   3576 /* ==========================================================================
   3577    Assembly Syntax:       Vd32.uh=vasr(Vu32.uw,Vv32.uw,Rt8):rnd:sat
   3578    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_VuwVuwR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   3579    Instruction Type:      CVI_VS
   3580    Execution Slots:       SLOT0123
   3581    ========================================================================== */
   3582 
   3583 #define Q6_Vuh_vasr_VuwVuwR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruwuhrndsat)(Vu,Vv,Rt)
   3584 #endif /* __HEXAGON_ARCH___ >= 62 */
   3585 
   3586 #if __HVX_ARCH__ >= 62
   3587 /* ==========================================================================
   3588    Assembly Syntax:       Vd32.uh=vasr(Vu32.w,Vv32.w,Rt8):rnd:sat
   3589    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_VwVwR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   3590    Instruction Type:      CVI_VS
   3591    Execution Slots:       SLOT0123
   3592    ========================================================================== */
   3593 
   3594 #define Q6_Vuh_vasr_VwVwR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwuhrndsat)(Vu,Vv,Rt)
   3595 #endif /* __HEXAGON_ARCH___ >= 62 */
   3596 
   3597 #if __HVX_ARCH__ >= 62
   3598 /* ==========================================================================
   3599    Assembly Syntax:       Vd32.ub=vlsr(Vu32.ub,Rt32)
   3600    C Intrinsic Prototype: HVX_Vector Q6_Vub_vlsr_VubR(HVX_Vector Vu, Word32 Rt)
   3601    Instruction Type:      CVI_VS
   3602    Execution Slots:       SLOT0123
   3603    ========================================================================== */
   3604 
   3605 #define Q6_Vub_vlsr_VubR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrb)(Vu,Rt)
   3606 #endif /* __HEXAGON_ARCH___ >= 62 */
   3607 
   3608 #if __HVX_ARCH__ >= 62
   3609 /* ==========================================================================
   3610    Assembly Syntax:       Vd32.b=vlut32(Vu32.b,Vv32.b,Rt8):nomatch
   3611    C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32_VbVbR_nomatch(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   3612    Instruction Type:      CVI_VP
   3613    Execution Slots:       SLOT0123
   3614    ========================================================================== */
   3615 
   3616 #define Q6_Vb_vlut32_VbVbR_nomatch(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb_nm)(Vu,Vv,Rt)
   3617 #endif /* __HEXAGON_ARCH___ >= 62 */
   3618 
   3619 #if __HVX_ARCH__ >= 62
   3620 /* ==========================================================================
   3621    Assembly Syntax:       Vx32.b|=vlut32(Vu32.b,Vv32.b,#u3)
   3622    C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32or_VbVbVbI(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
   3623    Instruction Type:      CVI_VP_VS
   3624    Execution Slots:       SLOT0123
   3625    ========================================================================== */
   3626 
   3627 #define Q6_Vb_vlut32or_VbVbVbI(Vx,Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb_oracci)(Vx,Vu,Vv,Iu3)
   3628 #endif /* __HEXAGON_ARCH___ >= 62 */
   3629 
   3630 #if __HVX_ARCH__ >= 62
   3631 /* ==========================================================================
   3632    Assembly Syntax:       Vd32.b=vlut32(Vu32.b,Vv32.b,#u3)
   3633    C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32_VbVbI(HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
   3634    Instruction Type:      CVI_VP
   3635    Execution Slots:       SLOT0123
   3636    ========================================================================== */
   3637 
   3638 #define Q6_Vb_vlut32_VbVbI(Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvbi)(Vu,Vv,Iu3)
   3639 #endif /* __HEXAGON_ARCH___ >= 62 */
   3640 
   3641 #if __HVX_ARCH__ >= 62
   3642 /* ==========================================================================
   3643    Assembly Syntax:       Vdd32.h=vlut16(Vu32.b,Vv32.h,Rt8):nomatch
   3644    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16_VbVhR_nomatch(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   3645    Instruction Type:      CVI_VP_VS
   3646    Execution Slots:       SLOT0123
   3647    ========================================================================== */
   3648 
   3649 #define Q6_Wh_vlut16_VbVhR_nomatch(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh_nm)(Vu,Vv,Rt)
   3650 #endif /* __HEXAGON_ARCH___ >= 62 */
   3651 
   3652 #if __HVX_ARCH__ >= 62
   3653 /* ==========================================================================
   3654    Assembly Syntax:       Vxx32.h|=vlut16(Vu32.b,Vv32.h,#u3)
   3655    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16or_WhVbVhI(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
   3656    Instruction Type:      CVI_VP_VS
   3657    Execution Slots:       SLOT0123
   3658    ========================================================================== */
   3659 
   3660 #define Q6_Wh_vlut16or_WhVbVhI(Vxx,Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh_oracci)(Vxx,Vu,Vv,Iu3)
   3661 #endif /* __HEXAGON_ARCH___ >= 62 */
   3662 
   3663 #if __HVX_ARCH__ >= 62
   3664 /* ==========================================================================
   3665    Assembly Syntax:       Vdd32.h=vlut16(Vu32.b,Vv32.h,#u3)
   3666    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16_VbVhI(HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
   3667    Instruction Type:      CVI_VP_VS
   3668    Execution Slots:       SLOT0123
   3669    ========================================================================== */
   3670 
   3671 #define Q6_Wh_vlut16_VbVhI(Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwhi)(Vu,Vv,Iu3)
   3672 #endif /* __HEXAGON_ARCH___ >= 62 */
   3673 
   3674 #if __HVX_ARCH__ >= 62
   3675 /* ==========================================================================
   3676    Assembly Syntax:       Vd32.b=vmax(Vu32.b,Vv32.b)
   3677    C Intrinsic Prototype: HVX_Vector Q6_Vb_vmax_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   3678    Instruction Type:      CVI_VA
   3679    Execution Slots:       SLOT0123
   3680    ========================================================================== */
   3681 
   3682 #define Q6_Vb_vmax_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxb)(Vu,Vv)
   3683 #endif /* __HEXAGON_ARCH___ >= 62 */
   3684 
   3685 #if __HVX_ARCH__ >= 62
   3686 /* ==========================================================================
   3687    Assembly Syntax:       Vd32.b=vmin(Vu32.b,Vv32.b)
   3688    C Intrinsic Prototype: HVX_Vector Q6_Vb_vmin_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   3689    Instruction Type:      CVI_VA
   3690    Execution Slots:       SLOT0123
   3691    ========================================================================== */
   3692 
   3693 #define Q6_Vb_vmin_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminb)(Vu,Vv)
   3694 #endif /* __HEXAGON_ARCH___ >= 62 */
   3695 
   3696 #if __HVX_ARCH__ >= 62
   3697 /* ==========================================================================
   3698    Assembly Syntax:       Vdd32.w=vmpa(Vuu32.uh,Rt32.b)
   3699    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpa_WuhRb(HVX_VectorPair Vuu, Word32 Rt)
   3700    Instruction Type:      CVI_VX_DV
   3701    Execution Slots:       SLOT23
   3702    ========================================================================== */
   3703 
   3704 #define Q6_Ww_vmpa_WuhRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpauhb)(Vuu,Rt)
   3705 #endif /* __HEXAGON_ARCH___ >= 62 */
   3706 
   3707 #if __HVX_ARCH__ >= 62
   3708 /* ==========================================================================
   3709    Assembly Syntax:       Vxx32.w+=vmpa(Vuu32.uh,Rt32.b)
   3710    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpaacc_WwWuhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
   3711    Instruction Type:      CVI_VX_DV
   3712    Execution Slots:       SLOT23
   3713    ========================================================================== */
   3714 
   3715 #define Q6_Ww_vmpaacc_WwWuhRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpauhb_acc)(Vxx,Vuu,Rt)
   3716 #endif /* __HEXAGON_ARCH___ >= 62 */
   3717 
   3718 #if __HVX_ARCH__ >= 62
   3719 /* ==========================================================================
   3720    Assembly Syntax:       Vdd32=vmpye(Vu32.w,Vv32.uh)
   3721    C Intrinsic Prototype: HVX_VectorPair Q6_W_vmpye_VwVuh(HVX_Vector Vu, HVX_Vector Vv)
   3722    Instruction Type:      CVI_VX_DV
   3723    Execution Slots:       SLOT23
   3724    ========================================================================== */
   3725 
   3726 #define Q6_W_vmpye_VwVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyewuh_64)(Vu,Vv)
   3727 #endif /* __HEXAGON_ARCH___ >= 62 */
   3728 
   3729 #if __HVX_ARCH__ >= 62
   3730 /* ==========================================================================
   3731    Assembly Syntax:       Vd32.w=vmpyi(Vu32.w,Rt32.ub)
   3732    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyi_VwRub(HVX_Vector Vu, Word32 Rt)
   3733    Instruction Type:      CVI_VX
   3734    Execution Slots:       SLOT23
   3735    ========================================================================== */
   3736 
   3737 #define Q6_Vw_vmpyi_VwRub(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwub)(Vu,Rt)
   3738 #endif /* __HEXAGON_ARCH___ >= 62 */
   3739 
   3740 #if __HVX_ARCH__ >= 62
   3741 /* ==========================================================================
   3742    Assembly Syntax:       Vx32.w+=vmpyi(Vu32.w,Rt32.ub)
   3743    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyiacc_VwVwRub(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   3744    Instruction Type:      CVI_VX
   3745    Execution Slots:       SLOT23
   3746    ========================================================================== */
   3747 
   3748 #define Q6_Vw_vmpyiacc_VwVwRub(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwub_acc)(Vx,Vu,Rt)
   3749 #endif /* __HEXAGON_ARCH___ >= 62 */
   3750 
   3751 #if __HVX_ARCH__ >= 62
   3752 /* ==========================================================================
   3753    Assembly Syntax:       Vxx32+=vmpyo(Vu32.w,Vv32.h)
   3754    C Intrinsic Prototype: HVX_VectorPair Q6_W_vmpyoacc_WVwVh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   3755    Instruction Type:      CVI_VX_DV
   3756    Execution Slots:       SLOT23
   3757    ========================================================================== */
   3758 
   3759 #define Q6_W_vmpyoacc_WVwVh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_64_acc)(Vxx,Vu,Vv)
   3760 #endif /* __HEXAGON_ARCH___ >= 62 */
   3761 
   3762 #if __HVX_ARCH__ >= 62
   3763 /* ==========================================================================
   3764    Assembly Syntax:       Vd32.ub=vround(Vu32.uh,Vv32.uh):sat
   3765    C Intrinsic Prototype: HVX_Vector Q6_Vub_vround_VuhVuh_sat(HVX_Vector Vu, HVX_Vector Vv)
   3766    Instruction Type:      CVI_VS
   3767    Execution Slots:       SLOT0123
   3768    ========================================================================== */
   3769 
   3770 #define Q6_Vub_vround_VuhVuh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrounduhub)(Vu,Vv)
   3771 #endif /* __HEXAGON_ARCH___ >= 62 */
   3772 
   3773 #if __HVX_ARCH__ >= 62
   3774 /* ==========================================================================
   3775    Assembly Syntax:       Vd32.uh=vround(Vu32.uw,Vv32.uw):sat
   3776    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vround_VuwVuw_sat(HVX_Vector Vu, HVX_Vector Vv)
   3777    Instruction Type:      CVI_VS
   3778    Execution Slots:       SLOT0123
   3779    ========================================================================== */
   3780 
   3781 #define Q6_Vuh_vround_VuwVuw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrounduwuh)(Vu,Vv)
   3782 #endif /* __HEXAGON_ARCH___ >= 62 */
   3783 
   3784 #if __HVX_ARCH__ >= 62
   3785 /* ==========================================================================
   3786    Assembly Syntax:       Vd32.uh=vsat(Vu32.uw,Vv32.uw)
   3787    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vsat_VuwVuw(HVX_Vector Vu, HVX_Vector Vv)
   3788    Instruction Type:      CVI_VA
   3789    Execution Slots:       SLOT0123
   3790    ========================================================================== */
   3791 
   3792 #define Q6_Vuh_vsat_VuwVuw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsatuwuh)(Vu,Vv)
   3793 #endif /* __HEXAGON_ARCH___ >= 62 */
   3794 
   3795 #if __HVX_ARCH__ >= 62
   3796 /* ==========================================================================
   3797    Assembly Syntax:       Vd32.b=vsub(Vu32.b,Vv32.b):sat
   3798    C Intrinsic Prototype: HVX_Vector Q6_Vb_vsub_VbVb_sat(HVX_Vector Vu, HVX_Vector Vv)
   3799    Instruction Type:      CVI_VA
   3800    Execution Slots:       SLOT0123
   3801    ========================================================================== */
   3802 
   3803 #define Q6_Vb_vsub_VbVb_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbsat)(Vu,Vv)
   3804 #endif /* __HEXAGON_ARCH___ >= 62 */
   3805 
   3806 #if __HVX_ARCH__ >= 62
   3807 /* ==========================================================================
   3808    Assembly Syntax:       Vdd32.b=vsub(Vuu32.b,Vvv32.b):sat
   3809    C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vsub_WbWb_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   3810    Instruction Type:      CVI_VA_DV
   3811    Execution Slots:       SLOT0123
   3812    ========================================================================== */
   3813 
   3814 #define Q6_Wb_vsub_WbWb_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbsat_dv)(Vuu,Vvv)
   3815 #endif /* __HEXAGON_ARCH___ >= 62 */
   3816 
   3817 #if __HVX_ARCH__ >= 62
   3818 /* ==========================================================================
   3819    Assembly Syntax:       Vd32.w=vsub(Vu32.w,Vv32.w,Qx4):carry
   3820    C Intrinsic Prototype: HVX_Vector Q6_Vw_vsub_VwVwQ_carry(HVX_Vector Vu, HVX_Vector Vv, HVX_VectorPred* Qx)
   3821    Instruction Type:      CVI_VA
   3822    Execution Slots:       SLOT0123
   3823    ========================================================================== */
   3824 
   3825 #define Q6_Vw_vsub_VwVwQ_carry(Vu,Vv,Qx) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubcarry)(Vu,Vv,Qx)
   3826 #endif /* __HEXAGON_ARCH___ >= 62 */
   3827 
   3828 #if __HVX_ARCH__ >= 62
   3829 /* ==========================================================================
   3830    Assembly Syntax:       Vd32.ub=vsub(Vu32.ub,Vv32.b):sat
   3831    C Intrinsic Prototype: HVX_Vector Q6_Vub_vsub_VubVb_sat(HVX_Vector Vu, HVX_Vector Vv)
   3832    Instruction Type:      CVI_VA
   3833    Execution Slots:       SLOT0123
   3834    ========================================================================== */
   3835 
   3836 #define Q6_Vub_vsub_VubVb_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubububb_sat)(Vu,Vv)
   3837 #endif /* __HEXAGON_ARCH___ >= 62 */
   3838 
   3839 #if __HVX_ARCH__ >= 62
   3840 /* ==========================================================================
   3841    Assembly Syntax:       Vd32.uw=vsub(Vu32.uw,Vv32.uw):sat
   3842    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vsub_VuwVuw_sat(HVX_Vector Vu, HVX_Vector Vv)
   3843    Instruction Type:      CVI_VA
   3844    Execution Slots:       SLOT0123
   3845    ========================================================================== */
   3846 
   3847 #define Q6_Vuw_vsub_VuwVuw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuwsat)(Vu,Vv)
   3848 #endif /* __HEXAGON_ARCH___ >= 62 */
   3849 
   3850 #if __HVX_ARCH__ >= 62
   3851 /* ==========================================================================
   3852    Assembly Syntax:       Vdd32.uw=vsub(Vuu32.uw,Vvv32.uw):sat
   3853    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vsub_WuwWuw_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
   3854    Instruction Type:      CVI_VA_DV
   3855    Execution Slots:       SLOT0123
   3856    ========================================================================== */
   3857 
   3858 #define Q6_Wuw_vsub_WuwWuw_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuwsat_dv)(Vuu,Vvv)
   3859 #endif /* __HEXAGON_ARCH___ >= 62 */
   3860 
   3861 #if __HVX_ARCH__ >= 65
   3862 /* ==========================================================================
   3863    Assembly Syntax:       Vd32.b=vabs(Vu32.b)
   3864    C Intrinsic Prototype: HVX_Vector Q6_Vb_vabs_Vb(HVX_Vector Vu)
   3865    Instruction Type:      CVI_VA
   3866    Execution Slots:       SLOT0123
   3867    ========================================================================== */
   3868 
   3869 #define Q6_Vb_vabs_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsb)(Vu)
   3870 #endif /* __HEXAGON_ARCH___ >= 65 */
   3871 
   3872 #if __HVX_ARCH__ >= 65
   3873 /* ==========================================================================
   3874    Assembly Syntax:       Vd32.b=vabs(Vu32.b):sat
   3875    C Intrinsic Prototype: HVX_Vector Q6_Vb_vabs_Vb_sat(HVX_Vector Vu)
   3876    Instruction Type:      CVI_VA
   3877    Execution Slots:       SLOT0123
   3878    ========================================================================== */
   3879 
   3880 #define Q6_Vb_vabs_Vb_sat(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsb_sat)(Vu)
   3881 #endif /* __HEXAGON_ARCH___ >= 65 */
   3882 
   3883 #if __HVX_ARCH__ >= 65
   3884 /* ==========================================================================
   3885    Assembly Syntax:       Vx32.h+=vasl(Vu32.h,Rt32)
   3886    C Intrinsic Prototype: HVX_Vector Q6_Vh_vaslacc_VhVhR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   3887    Instruction Type:      CVI_VS
   3888    Execution Slots:       SLOT0123
   3889    ========================================================================== */
   3890 
   3891 #define Q6_Vh_vaslacc_VhVhR(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslh_acc)(Vx,Vu,Rt)
   3892 #endif /* __HEXAGON_ARCH___ >= 65 */
   3893 
   3894 #if __HVX_ARCH__ >= 65
   3895 /* ==========================================================================
   3896    Assembly Syntax:       Vx32.h+=vasr(Vu32.h,Rt32)
   3897    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasracc_VhVhR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   3898    Instruction Type:      CVI_VS
   3899    Execution Slots:       SLOT0123
   3900    ========================================================================== */
   3901 
   3902 #define Q6_Vh_vasracc_VhVhR(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrh_acc)(Vx,Vu,Rt)
   3903 #endif /* __HEXAGON_ARCH___ >= 65 */
   3904 
   3905 #if __HVX_ARCH__ >= 65
   3906 /* ==========================================================================
   3907    Assembly Syntax:       Vd32.ub=vasr(Vu32.uh,Vv32.uh,Rt8):rnd:sat
   3908    C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_VuhVuhR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   3909    Instruction Type:      CVI_VS
   3910    Execution Slots:       SLOT0123
   3911    ========================================================================== */
   3912 
   3913 #define Q6_Vub_vasr_VuhVuhR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruhubrndsat)(Vu,Vv,Rt)
   3914 #endif /* __HEXAGON_ARCH___ >= 65 */
   3915 
   3916 #if __HVX_ARCH__ >= 65
   3917 /* ==========================================================================
   3918    Assembly Syntax:       Vd32.ub=vasr(Vu32.uh,Vv32.uh,Rt8):sat
   3919    C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_VuhVuhR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   3920    Instruction Type:      CVI_VS
   3921    Execution Slots:       SLOT0123
   3922    ========================================================================== */
   3923 
   3924 #define Q6_Vub_vasr_VuhVuhR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruhubsat)(Vu,Vv,Rt)
   3925 #endif /* __HEXAGON_ARCH___ >= 65 */
   3926 
   3927 #if __HVX_ARCH__ >= 65
   3928 /* ==========================================================================
   3929    Assembly Syntax:       Vd32.uh=vasr(Vu32.uw,Vv32.uw,Rt8):sat
   3930    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_VuwVuwR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
   3931    Instruction Type:      CVI_VS
   3932    Execution Slots:       SLOT0123
   3933    ========================================================================== */
   3934 
   3935 #define Q6_Vuh_vasr_VuwVuwR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruwuhsat)(Vu,Vv,Rt)
   3936 #endif /* __HEXAGON_ARCH___ >= 65 */
   3937 
   3938 #if __HVX_ARCH__ >= 65
   3939 /* ==========================================================================
   3940    Assembly Syntax:       Vd32.b=vavg(Vu32.b,Vv32.b)
   3941    C Intrinsic Prototype: HVX_Vector Q6_Vb_vavg_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   3942    Instruction Type:      CVI_VA
   3943    Execution Slots:       SLOT0123
   3944    ========================================================================== */
   3945 
   3946 #define Q6_Vb_vavg_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgb)(Vu,Vv)
   3947 #endif /* __HEXAGON_ARCH___ >= 65 */
   3948 
   3949 #if __HVX_ARCH__ >= 65
   3950 /* ==========================================================================
   3951    Assembly Syntax:       Vd32.b=vavg(Vu32.b,Vv32.b):rnd
   3952    C Intrinsic Prototype: HVX_Vector Q6_Vb_vavg_VbVb_rnd(HVX_Vector Vu, HVX_Vector Vv)
   3953    Instruction Type:      CVI_VA
   3954    Execution Slots:       SLOT0123
   3955    ========================================================================== */
   3956 
   3957 #define Q6_Vb_vavg_VbVb_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgbrnd)(Vu,Vv)
   3958 #endif /* __HEXAGON_ARCH___ >= 65 */
   3959 
   3960 #if __HVX_ARCH__ >= 65
   3961 /* ==========================================================================
   3962    Assembly Syntax:       Vd32.uw=vavg(Vu32.uw,Vv32.uw)
   3963    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vavg_VuwVuw(HVX_Vector Vu, HVX_Vector Vv)
   3964    Instruction Type:      CVI_VA
   3965    Execution Slots:       SLOT0123
   3966    ========================================================================== */
   3967 
   3968 #define Q6_Vuw_vavg_VuwVuw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguw)(Vu,Vv)
   3969 #endif /* __HEXAGON_ARCH___ >= 65 */
   3970 
   3971 #if __HVX_ARCH__ >= 65
   3972 /* ==========================================================================
   3973    Assembly Syntax:       Vd32.uw=vavg(Vu32.uw,Vv32.uw):rnd
   3974    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vavg_VuwVuw_rnd(HVX_Vector Vu, HVX_Vector Vv)
   3975    Instruction Type:      CVI_VA
   3976    Execution Slots:       SLOT0123
   3977    ========================================================================== */
   3978 
   3979 #define Q6_Vuw_vavg_VuwVuw_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguwrnd)(Vu,Vv)
   3980 #endif /* __HEXAGON_ARCH___ >= 65 */
   3981 
   3982 #if __HVX_ARCH__ >= 65
   3983 /* ==========================================================================
   3984    Assembly Syntax:       Vdd32=#0
   3985    C Intrinsic Prototype: HVX_VectorPair Q6_W_vzero()
   3986    Instruction Type:      MAPPING
   3987    Execution Slots:       SLOT0123
   3988    ========================================================================== */
   3989 
   3990 #define Q6_W_vzero() __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdd0)()
   3991 #endif /* __HEXAGON_ARCH___ >= 65 */
   3992 
   3993 #if __HVX_ARCH__ >= 65
   3994 /* ==========================================================================
   3995    Assembly Syntax:       vtmp.h=vgather(Rt32,Mu2,Vv32.h).h
   3996    C Intrinsic Prototype: void Q6_vgather_ARMVh(HVX_Vector* Rs, Word32 Rt, Word32 Mu, HVX_Vector Vv)
   3997    Instruction Type:      CVI_GATHER
   3998    Execution Slots:       SLOT01
   3999    ========================================================================== */
   4000 
   4001 #define Q6_vgather_ARMVh(Rs,Rt,Mu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermh)(Rs,Rt,Mu,Vv)
   4002 #endif /* __HEXAGON_ARCH___ >= 65 */
   4003 
   4004 #if __HVX_ARCH__ >= 65
   4005 /* ==========================================================================
   4006    Assembly Syntax:       if (Qs4) vtmp.h=vgather(Rt32,Mu2,Vv32.h).h
   4007    C Intrinsic Prototype: void Q6_vgather_AQRMVh(HVX_Vector* Rs, HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_Vector Vv)
   4008    Instruction Type:      CVI_GATHER
   4009    Execution Slots:       SLOT01
   4010    ========================================================================== */
   4011 
   4012 #define Q6_vgather_AQRMVh(Rs,Qs,Rt,Mu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermhq)(Rs,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vv)
   4013 #endif /* __HEXAGON_ARCH___ >= 65 */
   4014 
   4015 #if __HVX_ARCH__ >= 65
   4016 /* ==========================================================================
   4017    Assembly Syntax:       vtmp.h=vgather(Rt32,Mu2,Vvv32.w).h
   4018    C Intrinsic Prototype: void Q6_vgather_ARMWw(HVX_Vector* Rs, Word32 Rt, Word32 Mu, HVX_VectorPair Vvv)
   4019    Instruction Type:      CVI_GATHER_DV
   4020    Execution Slots:       SLOT01
   4021    ========================================================================== */
   4022 
   4023 #define Q6_vgather_ARMWw(Rs,Rt,Mu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermhw)(Rs,Rt,Mu,Vvv)
   4024 #endif /* __HEXAGON_ARCH___ >= 65 */
   4025 
   4026 #if __HVX_ARCH__ >= 65
   4027 /* ==========================================================================
   4028    Assembly Syntax:       if (Qs4) vtmp.h=vgather(Rt32,Mu2,Vvv32.w).h
   4029    C Intrinsic Prototype: void Q6_vgather_AQRMWw(HVX_Vector* Rs, HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_VectorPair Vvv)
   4030    Instruction Type:      CVI_GATHER_DV
   4031    Execution Slots:       SLOT01
   4032    ========================================================================== */
   4033 
   4034 #define Q6_vgather_AQRMWw(Rs,Qs,Rt,Mu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermhwq)(Rs,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vvv)
   4035 #endif /* __HEXAGON_ARCH___ >= 65 */
   4036 
   4037 #if __HVX_ARCH__ >= 65
   4038 /* ==========================================================================
   4039    Assembly Syntax:       vtmp.w=vgather(Rt32,Mu2,Vv32.w).w
   4040    C Intrinsic Prototype: void Q6_vgather_ARMVw(HVX_Vector* Rs, Word32 Rt, Word32 Mu, HVX_Vector Vv)
   4041    Instruction Type:      CVI_GATHER
   4042    Execution Slots:       SLOT01
   4043    ========================================================================== */
   4044 
   4045 #define Q6_vgather_ARMVw(Rs,Rt,Mu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermw)(Rs,Rt,Mu,Vv)
   4046 #endif /* __HEXAGON_ARCH___ >= 65 */
   4047 
   4048 #if __HVX_ARCH__ >= 65
   4049 /* ==========================================================================
   4050    Assembly Syntax:       if (Qs4) vtmp.w=vgather(Rt32,Mu2,Vv32.w).w
   4051    C Intrinsic Prototype: void Q6_vgather_AQRMVw(HVX_Vector* Rs, HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_Vector Vv)
   4052    Instruction Type:      CVI_GATHER
   4053    Execution Slots:       SLOT01
   4054    ========================================================================== */
   4055 
   4056 #define Q6_vgather_AQRMVw(Rs,Qs,Rt,Mu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermwq)(Rs,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vv)
   4057 #endif /* __HEXAGON_ARCH___ >= 65 */
   4058 
   4059 #if __HVX_ARCH__ >= 65
   4060 /* ==========================================================================
   4061    Assembly Syntax:       Vd32.h=vlut4(Vu32.uh,Rtt32.h)
   4062    C Intrinsic Prototype: HVX_Vector Q6_Vh_vlut4_VuhPh(HVX_Vector Vu, Word64 Rtt)
   4063    Instruction Type:      CVI_VX_DV
   4064    Execution Slots:       SLOT2
   4065    ========================================================================== */
   4066 
   4067 #define Q6_Vh_vlut4_VuhPh(Vu,Rtt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlut4)(Vu,Rtt)
   4068 #endif /* __HEXAGON_ARCH___ >= 65 */
   4069 
   4070 #if __HVX_ARCH__ >= 65
   4071 /* ==========================================================================
   4072    Assembly Syntax:       Vdd32.h=vmpa(Vuu32.ub,Rt32.ub)
   4073    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubRub(HVX_VectorPair Vuu, Word32 Rt)
   4074    Instruction Type:      CVI_VX_DV
   4075    Execution Slots:       SLOT23
   4076    ========================================================================== */
   4077 
   4078 #define Q6_Wh_vmpa_WubRub(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabuu)(Vuu,Rt)
   4079 #endif /* __HEXAGON_ARCH___ >= 65 */
   4080 
   4081 #if __HVX_ARCH__ >= 65
   4082 /* ==========================================================================
   4083    Assembly Syntax:       Vxx32.h+=vmpa(Vuu32.ub,Rt32.ub)
   4084    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpaacc_WhWubRub(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
   4085    Instruction Type:      CVI_VX_DV
   4086    Execution Slots:       SLOT23
   4087    ========================================================================== */
   4088 
   4089 #define Q6_Wh_vmpaacc_WhWubRub(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabuu_acc)(Vxx,Vuu,Rt)
   4090 #endif /* __HEXAGON_ARCH___ >= 65 */
   4091 
   4092 #if __HVX_ARCH__ >= 65
   4093 /* ==========================================================================
   4094    Assembly Syntax:       Vx32.h=vmpa(Vx32.h,Vu32.h,Rtt32.h):sat
   4095    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpa_VhVhVhPh_sat(HVX_Vector Vx, HVX_Vector Vu, Word64 Rtt)
   4096    Instruction Type:      CVI_VX_DV
   4097    Execution Slots:       SLOT2
   4098    ========================================================================== */
   4099 
   4100 #define Q6_Vh_vmpa_VhVhVhPh_sat(Vx,Vu,Rtt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpahhsat)(Vx,Vu,Rtt)
   4101 #endif /* __HEXAGON_ARCH___ >= 65 */
   4102 
   4103 #if __HVX_ARCH__ >= 65
   4104 /* ==========================================================================
   4105    Assembly Syntax:       Vx32.h=vmpa(Vx32.h,Vu32.uh,Rtt32.uh):sat
   4106    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpa_VhVhVuhPuh_sat(HVX_Vector Vx, HVX_Vector Vu, Word64 Rtt)
   4107    Instruction Type:      CVI_VX_DV
   4108    Execution Slots:       SLOT2
   4109    ========================================================================== */
   4110 
   4111 #define Q6_Vh_vmpa_VhVhVuhPuh_sat(Vx,Vu,Rtt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpauhuhsat)(Vx,Vu,Rtt)
   4112 #endif /* __HEXAGON_ARCH___ >= 65 */
   4113 
   4114 #if __HVX_ARCH__ >= 65
   4115 /* ==========================================================================
   4116    Assembly Syntax:       Vx32.h=vmps(Vx32.h,Vu32.uh,Rtt32.uh):sat
   4117    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmps_VhVhVuhPuh_sat(HVX_Vector Vx, HVX_Vector Vu, Word64 Rtt)
   4118    Instruction Type:      CVI_VX_DV
   4119    Execution Slots:       SLOT2
   4120    ========================================================================== */
   4121 
   4122 #define Q6_Vh_vmps_VhVhVuhPuh_sat(Vx,Vu,Rtt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpsuhuhsat)(Vx,Vu,Rtt)
   4123 #endif /* __HEXAGON_ARCH___ >= 65 */
   4124 
   4125 #if __HVX_ARCH__ >= 65
   4126 /* ==========================================================================
   4127    Assembly Syntax:       Vxx32.w+=vmpy(Vu32.h,Rt32.h)
   4128    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhRh(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
   4129    Instruction Type:      CVI_VX_DV
   4130    Execution Slots:       SLOT23
   4131    ========================================================================== */
   4132 
   4133 #define Q6_Ww_vmpyacc_WwVhRh(Vxx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyh_acc)(Vxx,Vu,Rt)
   4134 #endif /* __HEXAGON_ARCH___ >= 65 */
   4135 
   4136 #if __HVX_ARCH__ >= 65
   4137 /* ==========================================================================
   4138    Assembly Syntax:       Vd32.uw=vmpye(Vu32.uh,Rt32.uh)
   4139    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vmpye_VuhRuh(HVX_Vector Vu, Word32 Rt)
   4140    Instruction Type:      CVI_VX
   4141    Execution Slots:       SLOT23
   4142    ========================================================================== */
   4143 
   4144 #define Q6_Vuw_vmpye_VuhRuh(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhe)(Vu,Rt)
   4145 #endif /* __HEXAGON_ARCH___ >= 65 */
   4146 
   4147 #if __HVX_ARCH__ >= 65
   4148 /* ==========================================================================
   4149    Assembly Syntax:       Vx32.uw+=vmpye(Vu32.uh,Rt32.uh)
   4150    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vmpyeacc_VuwVuhRuh(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
   4151    Instruction Type:      CVI_VX
   4152    Execution Slots:       SLOT23
   4153    ========================================================================== */
   4154 
   4155 #define Q6_Vuw_vmpyeacc_VuwVuhRuh(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhe_acc)(Vx,Vu,Rt)
   4156 #endif /* __HEXAGON_ARCH___ >= 65 */
   4157 
   4158 #if __HVX_ARCH__ >= 65
   4159 /* ==========================================================================
   4160    Assembly Syntax:       Vd32.b=vnavg(Vu32.b,Vv32.b)
   4161    C Intrinsic Prototype: HVX_Vector Q6_Vb_vnavg_VbVb(HVX_Vector Vu, HVX_Vector Vv)
   4162    Instruction Type:      CVI_VA
   4163    Execution Slots:       SLOT0123
   4164    ========================================================================== */
   4165 
   4166 #define Q6_Vb_vnavg_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgb)(Vu,Vv)
   4167 #endif /* __HEXAGON_ARCH___ >= 65 */
   4168 
   4169 #if __HVX_ARCH__ >= 65
   4170 /* ==========================================================================
   4171    Assembly Syntax:       Vd32.b=prefixsum(Qv4)
   4172    C Intrinsic Prototype: HVX_Vector Q6_Vb_prefixsum_Q(HVX_VectorPred Qv)
   4173    Instruction Type:      CVI_VS
   4174    Execution Slots:       SLOT0123
   4175    ========================================================================== */
   4176 
   4177 #define Q6_Vb_prefixsum_Q(Qv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vprefixqb)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1))
   4178 #endif /* __HEXAGON_ARCH___ >= 65 */
   4179 
   4180 #if __HVX_ARCH__ >= 65
   4181 /* ==========================================================================
   4182    Assembly Syntax:       Vd32.h=prefixsum(Qv4)
   4183    C Intrinsic Prototype: HVX_Vector Q6_Vh_prefixsum_Q(HVX_VectorPred Qv)
   4184    Instruction Type:      CVI_VS
   4185    Execution Slots:       SLOT0123
   4186    ========================================================================== */
   4187 
   4188 #define Q6_Vh_prefixsum_Q(Qv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vprefixqh)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1))
   4189 #endif /* __HEXAGON_ARCH___ >= 65 */
   4190 
   4191 #if __HVX_ARCH__ >= 65
   4192 /* ==========================================================================
   4193    Assembly Syntax:       Vd32.w=prefixsum(Qv4)
   4194    C Intrinsic Prototype: HVX_Vector Q6_Vw_prefixsum_Q(HVX_VectorPred Qv)
   4195    Instruction Type:      CVI_VS
   4196    Execution Slots:       SLOT0123
   4197    ========================================================================== */
   4198 
   4199 #define Q6_Vw_prefixsum_Q(Qv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vprefixqw)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1))
   4200 #endif /* __HEXAGON_ARCH___ >= 65 */
   4201 
   4202 #if __HVX_ARCH__ >= 65
   4203 /* ==========================================================================
   4204    Assembly Syntax:       vscatter(Rt32,Mu2,Vv32.h).h=Vw32
   4205    C Intrinsic Prototype: void Q6_vscatter_RMVhV(Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
   4206    Instruction Type:      CVI_SCATTER
   4207    Execution Slots:       SLOT0
   4208    ========================================================================== */
   4209 
   4210 #define Q6_vscatter_RMVhV(Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermh)(Rt,Mu,Vv,Vw)
   4211 #endif /* __HEXAGON_ARCH___ >= 65 */
   4212 
   4213 #if __HVX_ARCH__ >= 65
   4214 /* ==========================================================================
   4215    Assembly Syntax:       vscatter(Rt32,Mu2,Vv32.h).h+=Vw32
   4216    C Intrinsic Prototype: void Q6_vscatteracc_RMVhV(Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
   4217    Instruction Type:      CVI_SCATTER
   4218    Execution Slots:       SLOT0
   4219    ========================================================================== */
   4220 
   4221 #define Q6_vscatteracc_RMVhV(Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermh_add)(Rt,Mu,Vv,Vw)
   4222 #endif /* __HEXAGON_ARCH___ >= 65 */
   4223 
   4224 #if __HVX_ARCH__ >= 65
   4225 /* ==========================================================================
   4226    Assembly Syntax:       if (Qs4) vscatter(Rt32,Mu2,Vv32.h).h=Vw32
   4227    C Intrinsic Prototype: void Q6_vscatter_QRMVhV(HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
   4228    Instruction Type:      CVI_SCATTER
   4229    Execution Slots:       SLOT0
   4230    ========================================================================== */
   4231 
   4232 #define Q6_vscatter_QRMVhV(Qs,Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vv,Vw)
   4233 #endif /* __HEXAGON_ARCH___ >= 65 */
   4234 
   4235 #if __HVX_ARCH__ >= 65
   4236 /* ==========================================================================
   4237    Assembly Syntax:       vscatter(Rt32,Mu2,Vvv32.w).h=Vw32
   4238    C Intrinsic Prototype: void Q6_vscatter_RMWwV(Word32 Rt, Word32 Mu, HVX_VectorPair Vvv, HVX_Vector Vw)
   4239    Instruction Type:      CVI_SCATTER_DV
   4240    Execution Slots:       SLOT0
   4241    ========================================================================== */
   4242 
   4243 #define Q6_vscatter_RMWwV(Rt,Mu,Vvv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhw)(Rt,Mu,Vvv,Vw)
   4244 #endif /* __HEXAGON_ARCH___ >= 65 */
   4245 
   4246 #if __HVX_ARCH__ >= 65
   4247 /* ==========================================================================
   4248    Assembly Syntax:       vscatter(Rt32,Mu2,Vvv32.w).h+=Vw32
   4249    C Intrinsic Prototype: void Q6_vscatteracc_RMWwV(Word32 Rt, Word32 Mu, HVX_VectorPair Vvv, HVX_Vector Vw)
   4250    Instruction Type:      CVI_SCATTER_DV
   4251    Execution Slots:       SLOT0
   4252    ========================================================================== */
   4253 
   4254 #define Q6_vscatteracc_RMWwV(Rt,Mu,Vvv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhw_add)(Rt,Mu,Vvv,Vw)
   4255 #endif /* __HEXAGON_ARCH___ >= 65 */
   4256 
   4257 #if __HVX_ARCH__ >= 65
   4258 /* ==========================================================================
   4259    Assembly Syntax:       if (Qs4) vscatter(Rt32,Mu2,Vvv32.w).h=Vw32
   4260    C Intrinsic Prototype: void Q6_vscatter_QRMWwV(HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_VectorPair Vvv, HVX_Vector Vw)
   4261    Instruction Type:      CVI_SCATTER_DV
   4262    Execution Slots:       SLOT0
   4263    ========================================================================== */
   4264 
   4265 #define Q6_vscatter_QRMWwV(Qs,Rt,Mu,Vvv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhwq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vvv,Vw)
   4266 #endif /* __HEXAGON_ARCH___ >= 65 */
   4267 
   4268 #if __HVX_ARCH__ >= 65
   4269 /* ==========================================================================
   4270    Assembly Syntax:       vscatter(Rt32,Mu2,Vv32.w).w=Vw32
   4271    C Intrinsic Prototype: void Q6_vscatter_RMVwV(Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
   4272    Instruction Type:      CVI_SCATTER
   4273    Execution Slots:       SLOT0
   4274    ========================================================================== */
   4275 
   4276 #define Q6_vscatter_RMVwV(Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermw)(Rt,Mu,Vv,Vw)
   4277 #endif /* __HEXAGON_ARCH___ >= 65 */
   4278 
   4279 #if __HVX_ARCH__ >= 65
   4280 /* ==========================================================================
   4281    Assembly Syntax:       vscatter(Rt32,Mu2,Vv32.w).w+=Vw32
   4282    C Intrinsic Prototype: void Q6_vscatteracc_RMVwV(Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
   4283    Instruction Type:      CVI_SCATTER
   4284    Execution Slots:       SLOT0
   4285    ========================================================================== */
   4286 
   4287 #define Q6_vscatteracc_RMVwV(Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermw_add)(Rt,Mu,Vv,Vw)
   4288 #endif /* __HEXAGON_ARCH___ >= 65 */
   4289 
   4290 #if __HVX_ARCH__ >= 65
   4291 /* ==========================================================================
   4292    Assembly Syntax:       if (Qs4) vscatter(Rt32,Mu2,Vv32.w).w=Vw32
   4293    C Intrinsic Prototype: void Q6_vscatter_QRMVwV(HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
   4294    Instruction Type:      CVI_SCATTER
   4295    Execution Slots:       SLOT0
   4296    ========================================================================== */
   4297 
   4298 #define Q6_vscatter_QRMVwV(Qs,Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermwq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vv,Vw)
   4299 #endif /* __HEXAGON_ARCH___ >= 65 */
   4300 
   4301 #if __HVX_ARCH__ >= 66
   4302 /* ==========================================================================
   4303    Assembly Syntax:       Vd32.w=vadd(Vu32.w,Vv32.w,Qs4):carry:sat
   4304    C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_VwVwQ_carry_sat(HVX_Vector Vu, HVX_Vector Vv, HVX_VectorPred Qs)
   4305    Instruction Type:      CVI_VA
   4306    Execution Slots:       SLOT0123
   4307    ========================================================================== */
   4308 
   4309 #define Q6_Vw_vadd_VwVwQ_carry_sat(Vu,Vv,Qs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddcarrysat)(Vu,Vv,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1))
   4310 #endif /* __HEXAGON_ARCH___ >= 66 */
   4311 
   4312 #if __HVX_ARCH__ >= 66
   4313 /* ==========================================================================
   4314    Assembly Syntax:       Vxx32.w=vasrinto(Vu32.w,Vv32.w)
   4315    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vasrinto_WwVwVw(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   4316    Instruction Type:      CVI_VP_VS
   4317    Execution Slots:       SLOT0123
   4318    ========================================================================== */
   4319 
   4320 #define Q6_Ww_vasrinto_WwVwVw(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasr_into)(Vxx,Vu,Vv)
   4321 #endif /* __HEXAGON_ARCH___ >= 66 */
   4322 
   4323 #if __HVX_ARCH__ >= 66
   4324 /* ==========================================================================
   4325    Assembly Syntax:       Vd32.uw=vrotr(Vu32.uw,Vv32.uw)
   4326    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrotr_VuwVuw(HVX_Vector Vu, HVX_Vector Vv)
   4327    Instruction Type:      CVI_VS
   4328    Execution Slots:       SLOT0123
   4329    ========================================================================== */
   4330 
   4331 #define Q6_Vuw_vrotr_VuwVuw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrotr)(Vu,Vv)
   4332 #endif /* __HEXAGON_ARCH___ >= 66 */
   4333 
   4334 #if __HVX_ARCH__ >= 66
   4335 /* ==========================================================================
   4336    Assembly Syntax:       Vd32.w=vsatdw(Vu32.w,Vv32.w)
   4337    C Intrinsic Prototype: HVX_Vector Q6_Vw_vsatdw_VwVw(HVX_Vector Vu, HVX_Vector Vv)
   4338    Instruction Type:      CVI_VA
   4339    Execution Slots:       SLOT0123
   4340    ========================================================================== */
   4341 
   4342 #define Q6_Vw_vsatdw_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsatdw)(Vu,Vv)
   4343 #endif /* __HEXAGON_ARCH___ >= 66 */
   4344 
   4345 #if __HVX_ARCH__ >= 68
   4346 /* ==========================================================================
   4347    Assembly Syntax:       Vdd32.w=v6mpy(Vuu32.ub,Vvv32.b,#u2):h
   4348    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_v6mpy_WubWbI_h(HVX_VectorPair Vuu, HVX_VectorPair Vvv, Word32 Iu2)
   4349    Instruction Type:      CVI_VX_DV
   4350    Execution Slots:       SLOT23
   4351    ========================================================================== */
   4352 
   4353 #define Q6_Ww_v6mpy_WubWbI_h(Vuu,Vvv,Iu2) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyhubs10)(Vuu,Vvv,Iu2)
   4354 #endif /* __HEXAGON_ARCH___ >= 68 */
   4355 
   4356 #if __HVX_ARCH__ >= 68
   4357 /* ==========================================================================
   4358    Assembly Syntax:       Vxx32.w+=v6mpy(Vuu32.ub,Vvv32.b,#u2):h
   4359    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_v6mpyacc_WwWubWbI_h(HVX_VectorPair Vxx, HVX_VectorPair Vuu, HVX_VectorPair Vvv, Word32 Iu2)
   4360    Instruction Type:      CVI_VX_DV
   4361    Execution Slots:       SLOT23
   4362    ========================================================================== */
   4363 
   4364 #define Q6_Ww_v6mpyacc_WwWubWbI_h(Vxx,Vuu,Vvv,Iu2) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyhubs10_vxx)(Vxx,Vuu,Vvv,Iu2)
   4365 #endif /* __HEXAGON_ARCH___ >= 68 */
   4366 
   4367 #if __HVX_ARCH__ >= 68
   4368 /* ==========================================================================
   4369    Assembly Syntax:       Vdd32.w=v6mpy(Vuu32.ub,Vvv32.b,#u2):v
   4370    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_v6mpy_WubWbI_v(HVX_VectorPair Vuu, HVX_VectorPair Vvv, Word32 Iu2)
   4371    Instruction Type:      CVI_VX_DV
   4372    Execution Slots:       SLOT23
   4373    ========================================================================== */
   4374 
   4375 #define Q6_Ww_v6mpy_WubWbI_v(Vuu,Vvv,Iu2) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyvubs10)(Vuu,Vvv,Iu2)
   4376 #endif /* __HEXAGON_ARCH___ >= 68 */
   4377 
   4378 #if __HVX_ARCH__ >= 68
   4379 /* ==========================================================================
   4380    Assembly Syntax:       Vxx32.w+=v6mpy(Vuu32.ub,Vvv32.b,#u2):v
   4381    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_v6mpyacc_WwWubWbI_v(HVX_VectorPair Vxx, HVX_VectorPair Vuu, HVX_VectorPair Vvv, Word32 Iu2)
   4382    Instruction Type:      CVI_VX_DV
   4383    Execution Slots:       SLOT23
   4384    ========================================================================== */
   4385 
   4386 #define Q6_Ww_v6mpyacc_WwWubWbI_v(Vxx,Vuu,Vvv,Iu2) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyvubs10_vxx)(Vxx,Vuu,Vvv,Iu2)
   4387 #endif /* __HEXAGON_ARCH___ >= 68 */
   4388 
   4389 #if __HVX_ARCH__ >= 68
   4390 /* ==========================================================================
   4391    Assembly Syntax:       Vd32.hf=vabs(Vu32.hf)
   4392    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vabs_Vhf(HVX_Vector Vu)
   4393    Instruction Type:      CVI_VX_LATE
   4394    Execution Slots:       SLOT23
   4395    ========================================================================== */
   4396 
   4397 #define Q6_Vhf_vabs_Vhf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabs_hf)(Vu)
   4398 #endif /* __HEXAGON_ARCH___ >= 68 */
   4399 
   4400 #if __HVX_ARCH__ >= 68
   4401 /* ==========================================================================
   4402    Assembly Syntax:       Vd32.sf=vabs(Vu32.sf)
   4403    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vabs_Vsf(HVX_Vector Vu)
   4404    Instruction Type:      CVI_VX_LATE
   4405    Execution Slots:       SLOT23
   4406    ========================================================================== */
   4407 
   4408 #define Q6_Vsf_vabs_Vsf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabs_sf)(Vu)
   4409 #endif /* __HEXAGON_ARCH___ >= 68 */
   4410 
   4411 #if __HVX_ARCH__ >= 68
   4412 /* ==========================================================================
   4413    Assembly Syntax:       Vd32.qf16=vadd(Vu32.hf,Vv32.hf)
   4414    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vadd_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4415    Instruction Type:      CVI_VS
   4416    Execution Slots:       SLOT0123
   4417    ========================================================================== */
   4418 
   4419 #define Q6_Vqf16_vadd_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_hf)(Vu,Vv)
   4420 #endif /* __HEXAGON_ARCH___ >= 68 */
   4421 
   4422 #if __HVX_ARCH__ >= 68
   4423 /* ==========================================================================
   4424    Assembly Syntax:       Vd32.hf=vadd(Vu32.hf,Vv32.hf)
   4425    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vadd_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4426    Instruction Type:      CVI_VX
   4427    Execution Slots:       SLOT23
   4428    ========================================================================== */
   4429 
   4430 #define Q6_Vhf_vadd_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_hf_hf)(Vu,Vv)
   4431 #endif /* __HEXAGON_ARCH___ >= 68 */
   4432 
   4433 #if __HVX_ARCH__ >= 68
   4434 /* ==========================================================================
   4435    Assembly Syntax:       Vd32.qf16=vadd(Vu32.qf16,Vv32.qf16)
   4436    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vadd_Vqf16Vqf16(HVX_Vector Vu, HVX_Vector Vv)
   4437    Instruction Type:      CVI_VS
   4438    Execution Slots:       SLOT0123
   4439    ========================================================================== */
   4440 
   4441 #define Q6_Vqf16_vadd_Vqf16Vqf16(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_qf16)(Vu,Vv)
   4442 #endif /* __HEXAGON_ARCH___ >= 68 */
   4443 
   4444 #if __HVX_ARCH__ >= 68
   4445 /* ==========================================================================
   4446    Assembly Syntax:       Vd32.qf16=vadd(Vu32.qf16,Vv32.hf)
   4447    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vadd_Vqf16Vhf(HVX_Vector Vu, HVX_Vector Vv)
   4448    Instruction Type:      CVI_VS
   4449    Execution Slots:       SLOT0123
   4450    ========================================================================== */
   4451 
   4452 #define Q6_Vqf16_vadd_Vqf16Vhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_qf16_mix)(Vu,Vv)
   4453 #endif /* __HEXAGON_ARCH___ >= 68 */
   4454 
   4455 #if __HVX_ARCH__ >= 68
   4456 /* ==========================================================================
   4457    Assembly Syntax:       Vd32.qf32=vadd(Vu32.qf32,Vv32.qf32)
   4458    C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vadd_Vqf32Vqf32(HVX_Vector Vu, HVX_Vector Vv)
   4459    Instruction Type:      CVI_VS
   4460    Execution Slots:       SLOT0123
   4461    ========================================================================== */
   4462 
   4463 #define Q6_Vqf32_vadd_Vqf32Vqf32(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_qf32)(Vu,Vv)
   4464 #endif /* __HEXAGON_ARCH___ >= 68 */
   4465 
   4466 #if __HVX_ARCH__ >= 68
   4467 /* ==========================================================================
   4468    Assembly Syntax:       Vd32.qf32=vadd(Vu32.qf32,Vv32.sf)
   4469    C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vadd_Vqf32Vsf(HVX_Vector Vu, HVX_Vector Vv)
   4470    Instruction Type:      CVI_VS
   4471    Execution Slots:       SLOT0123
   4472    ========================================================================== */
   4473 
   4474 #define Q6_Vqf32_vadd_Vqf32Vsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_qf32_mix)(Vu,Vv)
   4475 #endif /* __HEXAGON_ARCH___ >= 68 */
   4476 
   4477 #if __HVX_ARCH__ >= 68
   4478 /* ==========================================================================
   4479    Assembly Syntax:       Vd32.qf32=vadd(Vu32.sf,Vv32.sf)
   4480    C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vadd_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   4481    Instruction Type:      CVI_VS
   4482    Execution Slots:       SLOT0123
   4483    ========================================================================== */
   4484 
   4485 #define Q6_Vqf32_vadd_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_sf)(Vu,Vv)
   4486 #endif /* __HEXAGON_ARCH___ >= 68 */
   4487 
   4488 #if __HVX_ARCH__ >= 68
   4489 /* ==========================================================================
   4490    Assembly Syntax:       Vdd32.sf=vadd(Vu32.hf,Vv32.hf)
   4491    C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vadd_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4492    Instruction Type:      CVI_VX_DV
   4493    Execution Slots:       SLOT23
   4494    ========================================================================== */
   4495 
   4496 #define Q6_Wsf_vadd_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_sf_hf)(Vu,Vv)
   4497 #endif /* __HEXAGON_ARCH___ >= 68 */
   4498 
   4499 #if __HVX_ARCH__ >= 68
   4500 /* ==========================================================================
   4501    Assembly Syntax:       Vd32.sf=vadd(Vu32.sf,Vv32.sf)
   4502    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vadd_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   4503    Instruction Type:      CVI_VX
   4504    Execution Slots:       SLOT23
   4505    ========================================================================== */
   4506 
   4507 #define Q6_Vsf_vadd_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_sf_sf)(Vu,Vv)
   4508 #endif /* __HEXAGON_ARCH___ >= 68 */
   4509 
   4510 #if __HVX_ARCH__ >= 68
   4511 /* ==========================================================================
   4512    Assembly Syntax:       Vd32.w=vfmv(Vu32.w)
   4513    C Intrinsic Prototype: HVX_Vector Q6_Vw_vfmv_Vw(HVX_Vector Vu)
   4514    Instruction Type:      CVI_VX_LATE
   4515    Execution Slots:       SLOT23
   4516    ========================================================================== */
   4517 
   4518 #define Q6_Vw_vfmv_Vw(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vassign_fp)(Vu)
   4519 #endif /* __HEXAGON_ARCH___ >= 68 */
   4520 
   4521 #if __HVX_ARCH__ >= 68
   4522 /* ==========================================================================
   4523    Assembly Syntax:       Vd32.hf=Vu32.qf16
   4524    C Intrinsic Prototype: HVX_Vector Q6_Vhf_equals_Vqf16(HVX_Vector Vu)
   4525    Instruction Type:      CVI_VS
   4526    Execution Slots:       SLOT0123
   4527    ========================================================================== */
   4528 
   4529 #define Q6_Vhf_equals_Vqf16(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_hf_qf16)(Vu)
   4530 #endif /* __HEXAGON_ARCH___ >= 68 */
   4531 
   4532 #if __HVX_ARCH__ >= 68
   4533 /* ==========================================================================
   4534    Assembly Syntax:       Vd32.hf=Vuu32.qf32
   4535    C Intrinsic Prototype: HVX_Vector Q6_Vhf_equals_Wqf32(HVX_VectorPair Vuu)
   4536    Instruction Type:      CVI_VS
   4537    Execution Slots:       SLOT0123
   4538    ========================================================================== */
   4539 
   4540 #define Q6_Vhf_equals_Wqf32(Vuu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_hf_qf32)(Vuu)
   4541 #endif /* __HEXAGON_ARCH___ >= 68 */
   4542 
   4543 #if __HVX_ARCH__ >= 68
   4544 /* ==========================================================================
   4545    Assembly Syntax:       Vd32.sf=Vu32.qf32
   4546    C Intrinsic Prototype: HVX_Vector Q6_Vsf_equals_Vqf32(HVX_Vector Vu)
   4547    Instruction Type:      CVI_VS
   4548    Execution Slots:       SLOT0123
   4549    ========================================================================== */
   4550 
   4551 #define Q6_Vsf_equals_Vqf32(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_sf_qf32)(Vu)
   4552 #endif /* __HEXAGON_ARCH___ >= 68 */
   4553 
   4554 #if __HVX_ARCH__ >= 68
   4555 /* ==========================================================================
   4556    Assembly Syntax:       Vd32.b=vcvt(Vu32.hf,Vv32.hf)
   4557    C Intrinsic Prototype: HVX_Vector Q6_Vb_vcvt_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4558    Instruction Type:      CVI_VX
   4559    Execution Slots:       SLOT23
   4560    ========================================================================== */
   4561 
   4562 #define Q6_Vb_vcvt_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_b_hf)(Vu,Vv)
   4563 #endif /* __HEXAGON_ARCH___ >= 68 */
   4564 
   4565 #if __HVX_ARCH__ >= 68
   4566 /* ==========================================================================
   4567    Assembly Syntax:       Vd32.h=vcvt(Vu32.hf)
   4568    C Intrinsic Prototype: HVX_Vector Q6_Vh_vcvt_Vhf(HVX_Vector Vu)
   4569    Instruction Type:      CVI_VX
   4570    Execution Slots:       SLOT23
   4571    ========================================================================== */
   4572 
   4573 #define Q6_Vh_vcvt_Vhf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_h_hf)(Vu)
   4574 #endif /* __HEXAGON_ARCH___ >= 68 */
   4575 
   4576 #if __HVX_ARCH__ >= 68
   4577 /* ==========================================================================
   4578    Assembly Syntax:       Vdd32.hf=vcvt(Vu32.b)
   4579    C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vcvt_Vb(HVX_Vector Vu)
   4580    Instruction Type:      CVI_VX_DV
   4581    Execution Slots:       SLOT23
   4582    ========================================================================== */
   4583 
   4584 #define Q6_Whf_vcvt_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_b)(Vu)
   4585 #endif /* __HEXAGON_ARCH___ >= 68 */
   4586 
   4587 #if __HVX_ARCH__ >= 68
   4588 /* ==========================================================================
   4589    Assembly Syntax:       Vd32.hf=vcvt(Vu32.h)
   4590    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vcvt_Vh(HVX_Vector Vu)
   4591    Instruction Type:      CVI_VX
   4592    Execution Slots:       SLOT23
   4593    ========================================================================== */
   4594 
   4595 #define Q6_Vhf_vcvt_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_h)(Vu)
   4596 #endif /* __HEXAGON_ARCH___ >= 68 */
   4597 
   4598 #if __HVX_ARCH__ >= 68
   4599 /* ==========================================================================
   4600    Assembly Syntax:       Vd32.hf=vcvt(Vu32.sf,Vv32.sf)
   4601    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vcvt_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   4602    Instruction Type:      CVI_VX
   4603    Execution Slots:       SLOT23
   4604    ========================================================================== */
   4605 
   4606 #define Q6_Vhf_vcvt_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_sf)(Vu,Vv)
   4607 #endif /* __HEXAGON_ARCH___ >= 68 */
   4608 
   4609 #if __HVX_ARCH__ >= 68
   4610 /* ==========================================================================
   4611    Assembly Syntax:       Vdd32.hf=vcvt(Vu32.ub)
   4612    C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vcvt_Vub(HVX_Vector Vu)
   4613    Instruction Type:      CVI_VX_DV
   4614    Execution Slots:       SLOT23
   4615    ========================================================================== */
   4616 
   4617 #define Q6_Whf_vcvt_Vub(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_ub)(Vu)
   4618 #endif /* __HEXAGON_ARCH___ >= 68 */
   4619 
   4620 #if __HVX_ARCH__ >= 68
   4621 /* ==========================================================================
   4622    Assembly Syntax:       Vd32.hf=vcvt(Vu32.uh)
   4623    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vcvt_Vuh(HVX_Vector Vu)
   4624    Instruction Type:      CVI_VX
   4625    Execution Slots:       SLOT23
   4626    ========================================================================== */
   4627 
   4628 #define Q6_Vhf_vcvt_Vuh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_uh)(Vu)
   4629 #endif /* __HEXAGON_ARCH___ >= 68 */
   4630 
   4631 #if __HVX_ARCH__ >= 68
   4632 /* ==========================================================================
   4633    Assembly Syntax:       Vdd32.sf=vcvt(Vu32.hf)
   4634    C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vcvt_Vhf(HVX_Vector Vu)
   4635    Instruction Type:      CVI_VX_DV
   4636    Execution Slots:       SLOT23
   4637    ========================================================================== */
   4638 
   4639 #define Q6_Wsf_vcvt_Vhf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_sf_hf)(Vu)
   4640 #endif /* __HEXAGON_ARCH___ >= 68 */
   4641 
   4642 #if __HVX_ARCH__ >= 68
   4643 /* ==========================================================================
   4644    Assembly Syntax:       Vd32.ub=vcvt(Vu32.hf,Vv32.hf)
   4645    C Intrinsic Prototype: HVX_Vector Q6_Vub_vcvt_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4646    Instruction Type:      CVI_VX
   4647    Execution Slots:       SLOT23
   4648    ========================================================================== */
   4649 
   4650 #define Q6_Vub_vcvt_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_ub_hf)(Vu,Vv)
   4651 #endif /* __HEXAGON_ARCH___ >= 68 */
   4652 
   4653 #if __HVX_ARCH__ >= 68
   4654 /* ==========================================================================
   4655    Assembly Syntax:       Vd32.uh=vcvt(Vu32.hf)
   4656    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vcvt_Vhf(HVX_Vector Vu)
   4657    Instruction Type:      CVI_VX
   4658    Execution Slots:       SLOT23
   4659    ========================================================================== */
   4660 
   4661 #define Q6_Vuh_vcvt_Vhf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_uh_hf)(Vu)
   4662 #endif /* __HEXAGON_ARCH___ >= 68 */
   4663 
   4664 #if __HVX_ARCH__ >= 68
   4665 /* ==========================================================================
   4666    Assembly Syntax:       Vd32.sf=vdmpy(Vu32.hf,Vv32.hf)
   4667    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vdmpy_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4668    Instruction Type:      CVI_VX
   4669    Execution Slots:       SLOT23
   4670    ========================================================================== */
   4671 
   4672 #define Q6_Vsf_vdmpy_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpy_sf_hf)(Vu,Vv)
   4673 #endif /* __HEXAGON_ARCH___ >= 68 */
   4674 
   4675 #if __HVX_ARCH__ >= 68
   4676 /* ==========================================================================
   4677    Assembly Syntax:       Vx32.sf+=vdmpy(Vu32.hf,Vv32.hf)
   4678    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vdmpyacc_VsfVhfVhf(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   4679    Instruction Type:      CVI_VX
   4680    Execution Slots:       SLOT23
   4681    ========================================================================== */
   4682 
   4683 #define Q6_Vsf_vdmpyacc_VsfVhfVhf(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpy_sf_hf_acc)(Vx,Vu,Vv)
   4684 #endif /* __HEXAGON_ARCH___ >= 68 */
   4685 
   4686 #if __HVX_ARCH__ >= 68
   4687 /* ==========================================================================
   4688    Assembly Syntax:       Vd32.hf=vfmax(Vu32.hf,Vv32.hf)
   4689    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vfmax_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4690    Instruction Type:      CVI_VX_LATE
   4691    Execution Slots:       SLOT23
   4692    ========================================================================== */
   4693 
   4694 #define Q6_Vhf_vfmax_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmax_hf)(Vu,Vv)
   4695 #endif /* __HEXAGON_ARCH___ >= 68 */
   4696 
   4697 #if __HVX_ARCH__ >= 68
   4698 /* ==========================================================================
   4699    Assembly Syntax:       Vd32.sf=vfmax(Vu32.sf,Vv32.sf)
   4700    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vfmax_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   4701    Instruction Type:      CVI_VX_LATE
   4702    Execution Slots:       SLOT23
   4703    ========================================================================== */
   4704 
   4705 #define Q6_Vsf_vfmax_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmax_sf)(Vu,Vv)
   4706 #endif /* __HEXAGON_ARCH___ >= 68 */
   4707 
   4708 #if __HVX_ARCH__ >= 68
   4709 /* ==========================================================================
   4710    Assembly Syntax:       Vd32.hf=vfmin(Vu32.hf,Vv32.hf)
   4711    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vfmin_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4712    Instruction Type:      CVI_VX_LATE
   4713    Execution Slots:       SLOT23
   4714    ========================================================================== */
   4715 
   4716 #define Q6_Vhf_vfmin_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmin_hf)(Vu,Vv)
   4717 #endif /* __HEXAGON_ARCH___ >= 68 */
   4718 
   4719 #if __HVX_ARCH__ >= 68
   4720 /* ==========================================================================
   4721    Assembly Syntax:       Vd32.sf=vfmin(Vu32.sf,Vv32.sf)
   4722    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vfmin_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   4723    Instruction Type:      CVI_VX_LATE
   4724    Execution Slots:       SLOT23
   4725    ========================================================================== */
   4726 
   4727 #define Q6_Vsf_vfmin_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmin_sf)(Vu,Vv)
   4728 #endif /* __HEXAGON_ARCH___ >= 68 */
   4729 
   4730 #if __HVX_ARCH__ >= 68
   4731 /* ==========================================================================
   4732    Assembly Syntax:       Vd32.hf=vfneg(Vu32.hf)
   4733    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vfneg_Vhf(HVX_Vector Vu)
   4734    Instruction Type:      CVI_VX_LATE
   4735    Execution Slots:       SLOT23
   4736    ========================================================================== */
   4737 
   4738 #define Q6_Vhf_vfneg_Vhf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfneg_hf)(Vu)
   4739 #endif /* __HEXAGON_ARCH___ >= 68 */
   4740 
   4741 #if __HVX_ARCH__ >= 68
   4742 /* ==========================================================================
   4743    Assembly Syntax:       Vd32.sf=vfneg(Vu32.sf)
   4744    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vfneg_Vsf(HVX_Vector Vu)
   4745    Instruction Type:      CVI_VX_LATE
   4746    Execution Slots:       SLOT23
   4747    ========================================================================== */
   4748 
   4749 #define Q6_Vsf_vfneg_Vsf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfneg_sf)(Vu)
   4750 #endif /* __HEXAGON_ARCH___ >= 68 */
   4751 
   4752 #if __HVX_ARCH__ >= 68
   4753 /* ==========================================================================
   4754    Assembly Syntax:       Qd4=vcmp.gt(Vu32.hf,Vv32.hf)
   4755    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4756    Instruction Type:      CVI_VA
   4757    Execution Slots:       SLOT0123
   4758    ========================================================================== */
   4759 
   4760 #define Q6_Q_vcmp_gt_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgthf)(Vu,Vv)),-1)
   4761 #endif /* __HEXAGON_ARCH___ >= 68 */
   4762 
   4763 #if __HVX_ARCH__ >= 68
   4764 /* ==========================================================================
   4765    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.hf,Vv32.hf)
   4766    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVhfVhf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   4767    Instruction Type:      CVI_VA
   4768    Execution Slots:       SLOT0123
   4769    ========================================================================== */
   4770 
   4771 #define Q6_Q_vcmp_gtand_QVhfVhf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgthf_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   4772 #endif /* __HEXAGON_ARCH___ >= 68 */
   4773 
   4774 #if __HVX_ARCH__ >= 68
   4775 /* ==========================================================================
   4776    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.hf,Vv32.hf)
   4777    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVhfVhf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   4778    Instruction Type:      CVI_VA
   4779    Execution Slots:       SLOT0123
   4780    ========================================================================== */
   4781 
   4782 #define Q6_Q_vcmp_gtor_QVhfVhf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgthf_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   4783 #endif /* __HEXAGON_ARCH___ >= 68 */
   4784 
   4785 #if __HVX_ARCH__ >= 68
   4786 /* ==========================================================================
   4787    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.hf,Vv32.hf)
   4788    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVhfVhf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   4789    Instruction Type:      CVI_VA
   4790    Execution Slots:       SLOT0123
   4791    ========================================================================== */
   4792 
   4793 #define Q6_Q_vcmp_gtxacc_QVhfVhf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgthf_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   4794 #endif /* __HEXAGON_ARCH___ >= 68 */
   4795 
   4796 #if __HVX_ARCH__ >= 68
   4797 /* ==========================================================================
   4798    Assembly Syntax:       Qd4=vcmp.gt(Vu32.sf,Vv32.sf)
   4799    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   4800    Instruction Type:      CVI_VA
   4801    Execution Slots:       SLOT0123
   4802    ========================================================================== */
   4803 
   4804 #define Q6_Q_vcmp_gt_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtsf)(Vu,Vv)),-1)
   4805 #endif /* __HEXAGON_ARCH___ >= 68 */
   4806 
   4807 #if __HVX_ARCH__ >= 68
   4808 /* ==========================================================================
   4809    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.sf,Vv32.sf)
   4810    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVsfVsf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   4811    Instruction Type:      CVI_VA
   4812    Execution Slots:       SLOT0123
   4813    ========================================================================== */
   4814 
   4815 #define Q6_Q_vcmp_gtand_QVsfVsf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtsf_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   4816 #endif /* __HEXAGON_ARCH___ >= 68 */
   4817 
   4818 #if __HVX_ARCH__ >= 68
   4819 /* ==========================================================================
   4820    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.sf,Vv32.sf)
   4821    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVsfVsf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   4822    Instruction Type:      CVI_VA
   4823    Execution Slots:       SLOT0123
   4824    ========================================================================== */
   4825 
   4826 #define Q6_Q_vcmp_gtor_QVsfVsf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtsf_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   4827 #endif /* __HEXAGON_ARCH___ >= 68 */
   4828 
   4829 #if __HVX_ARCH__ >= 68
   4830 /* ==========================================================================
   4831    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.sf,Vv32.sf)
   4832    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVsfVsf(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
   4833    Instruction Type:      CVI_VA
   4834    Execution Slots:       SLOT0123
   4835    ========================================================================== */
   4836 
   4837 #define Q6_Q_vcmp_gtxacc_QVsfVsf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtsf_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
   4838 #endif /* __HEXAGON_ARCH___ >= 68 */
   4839 
   4840 #if __HVX_ARCH__ >= 68
   4841 /* ==========================================================================
   4842    Assembly Syntax:       Vd32.hf=vmax(Vu32.hf,Vv32.hf)
   4843    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vmax_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4844    Instruction Type:      CVI_VA
   4845    Execution Slots:       SLOT0123
   4846    ========================================================================== */
   4847 
   4848 #define Q6_Vhf_vmax_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmax_hf)(Vu,Vv)
   4849 #endif /* __HEXAGON_ARCH___ >= 68 */
   4850 
   4851 #if __HVX_ARCH__ >= 68
   4852 /* ==========================================================================
   4853    Assembly Syntax:       Vd32.sf=vmax(Vu32.sf,Vv32.sf)
   4854    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vmax_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   4855    Instruction Type:      CVI_VA
   4856    Execution Slots:       SLOT0123
   4857    ========================================================================== */
   4858 
   4859 #define Q6_Vsf_vmax_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmax_sf)(Vu,Vv)
   4860 #endif /* __HEXAGON_ARCH___ >= 68 */
   4861 
   4862 #if __HVX_ARCH__ >= 68
   4863 /* ==========================================================================
   4864    Assembly Syntax:       Vd32.hf=vmin(Vu32.hf,Vv32.hf)
   4865    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vmin_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4866    Instruction Type:      CVI_VA
   4867    Execution Slots:       SLOT0123
   4868    ========================================================================== */
   4869 
   4870 #define Q6_Vhf_vmin_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmin_hf)(Vu,Vv)
   4871 #endif /* __HEXAGON_ARCH___ >= 68 */
   4872 
   4873 #if __HVX_ARCH__ >= 68
   4874 /* ==========================================================================
   4875    Assembly Syntax:       Vd32.sf=vmin(Vu32.sf,Vv32.sf)
   4876    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vmin_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   4877    Instruction Type:      CVI_VA
   4878    Execution Slots:       SLOT0123
   4879    ========================================================================== */
   4880 
   4881 #define Q6_Vsf_vmin_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmin_sf)(Vu,Vv)
   4882 #endif /* __HEXAGON_ARCH___ >= 68 */
   4883 
   4884 #if __HVX_ARCH__ >= 68
   4885 /* ==========================================================================
   4886    Assembly Syntax:       Vd32.hf=vmpy(Vu32.hf,Vv32.hf)
   4887    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vmpy_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4888    Instruction Type:      CVI_VX
   4889    Execution Slots:       SLOT23
   4890    ========================================================================== */
   4891 
   4892 #define Q6_Vhf_vmpy_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_hf_hf)(Vu,Vv)
   4893 #endif /* __HEXAGON_ARCH___ >= 68 */
   4894 
   4895 #if __HVX_ARCH__ >= 68
   4896 /* ==========================================================================
   4897    Assembly Syntax:       Vx32.hf+=vmpy(Vu32.hf,Vv32.hf)
   4898    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vmpyacc_VhfVhfVhf(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
   4899    Instruction Type:      CVI_VX
   4900    Execution Slots:       SLOT23
   4901    ========================================================================== */
   4902 
   4903 #define Q6_Vhf_vmpyacc_VhfVhfVhf(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_hf_hf_acc)(Vx,Vu,Vv)
   4904 #endif /* __HEXAGON_ARCH___ >= 68 */
   4905 
   4906 #if __HVX_ARCH__ >= 68
   4907 /* ==========================================================================
   4908    Assembly Syntax:       Vd32.qf16=vmpy(Vu32.qf16,Vv32.qf16)
   4909    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vmpy_Vqf16Vqf16(HVX_Vector Vu, HVX_Vector Vv)
   4910    Instruction Type:      CVI_VX_DV
   4911    Execution Slots:       SLOT23
   4912    ========================================================================== */
   4913 
   4914 #define Q6_Vqf16_vmpy_Vqf16Vqf16(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf16)(Vu,Vv)
   4915 #endif /* __HEXAGON_ARCH___ >= 68 */
   4916 
   4917 #if __HVX_ARCH__ >= 68
   4918 /* ==========================================================================
   4919    Assembly Syntax:       Vd32.qf16=vmpy(Vu32.hf,Vv32.hf)
   4920    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vmpy_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4921    Instruction Type:      CVI_VX_DV
   4922    Execution Slots:       SLOT23
   4923    ========================================================================== */
   4924 
   4925 #define Q6_Vqf16_vmpy_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf16_hf)(Vu,Vv)
   4926 #endif /* __HEXAGON_ARCH___ >= 68 */
   4927 
   4928 #if __HVX_ARCH__ >= 68
   4929 /* ==========================================================================
   4930    Assembly Syntax:       Vd32.qf16=vmpy(Vu32.qf16,Vv32.hf)
   4931    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vmpy_Vqf16Vhf(HVX_Vector Vu, HVX_Vector Vv)
   4932    Instruction Type:      CVI_VX_DV
   4933    Execution Slots:       SLOT23
   4934    ========================================================================== */
   4935 
   4936 #define Q6_Vqf16_vmpy_Vqf16Vhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf16_mix_hf)(Vu,Vv)
   4937 #endif /* __HEXAGON_ARCH___ >= 68 */
   4938 
   4939 #if __HVX_ARCH__ >= 68
   4940 /* ==========================================================================
   4941    Assembly Syntax:       Vd32.qf32=vmpy(Vu32.qf32,Vv32.qf32)
   4942    C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vmpy_Vqf32Vqf32(HVX_Vector Vu, HVX_Vector Vv)
   4943    Instruction Type:      CVI_VX_DV
   4944    Execution Slots:       SLOT23
   4945    ========================================================================== */
   4946 
   4947 #define Q6_Vqf32_vmpy_Vqf32Vqf32(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf32)(Vu,Vv)
   4948 #endif /* __HEXAGON_ARCH___ >= 68 */
   4949 
   4950 #if __HVX_ARCH__ >= 68
   4951 /* ==========================================================================
   4952    Assembly Syntax:       Vdd32.qf32=vmpy(Vu32.hf,Vv32.hf)
   4953    C Intrinsic Prototype: HVX_VectorPair Q6_Wqf32_vmpy_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4954    Instruction Type:      CVI_VX_DV
   4955    Execution Slots:       SLOT23
   4956    ========================================================================== */
   4957 
   4958 #define Q6_Wqf32_vmpy_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf32_hf)(Vu,Vv)
   4959 #endif /* __HEXAGON_ARCH___ >= 68 */
   4960 
   4961 #if __HVX_ARCH__ >= 68
   4962 /* ==========================================================================
   4963    Assembly Syntax:       Vdd32.qf32=vmpy(Vu32.qf16,Vv32.hf)
   4964    C Intrinsic Prototype: HVX_VectorPair Q6_Wqf32_vmpy_Vqf16Vhf(HVX_Vector Vu, HVX_Vector Vv)
   4965    Instruction Type:      CVI_VX_DV
   4966    Execution Slots:       SLOT23
   4967    ========================================================================== */
   4968 
   4969 #define Q6_Wqf32_vmpy_Vqf16Vhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf32_mix_hf)(Vu,Vv)
   4970 #endif /* __HEXAGON_ARCH___ >= 68 */
   4971 
   4972 #if __HVX_ARCH__ >= 68
   4973 /* ==========================================================================
   4974    Assembly Syntax:       Vdd32.qf32=vmpy(Vu32.qf16,Vv32.qf16)
   4975    C Intrinsic Prototype: HVX_VectorPair Q6_Wqf32_vmpy_Vqf16Vqf16(HVX_Vector Vu, HVX_Vector Vv)
   4976    Instruction Type:      CVI_VX_DV
   4977    Execution Slots:       SLOT23
   4978    ========================================================================== */
   4979 
   4980 #define Q6_Wqf32_vmpy_Vqf16Vqf16(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf32_qf16)(Vu,Vv)
   4981 #endif /* __HEXAGON_ARCH___ >= 68 */
   4982 
   4983 #if __HVX_ARCH__ >= 68
   4984 /* ==========================================================================
   4985    Assembly Syntax:       Vd32.qf32=vmpy(Vu32.sf,Vv32.sf)
   4986    C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vmpy_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   4987    Instruction Type:      CVI_VX_DV
   4988    Execution Slots:       SLOT23
   4989    ========================================================================== */
   4990 
   4991 #define Q6_Vqf32_vmpy_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf32_sf)(Vu,Vv)
   4992 #endif /* __HEXAGON_ARCH___ >= 68 */
   4993 
   4994 #if __HVX_ARCH__ >= 68
   4995 /* ==========================================================================
   4996    Assembly Syntax:       Vdd32.sf=vmpy(Vu32.hf,Vv32.hf)
   4997    C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpy_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   4998    Instruction Type:      CVI_VX_DV
   4999    Execution Slots:       SLOT23
   5000    ========================================================================== */
   5001 
   5002 #define Q6_Wsf_vmpy_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_sf_hf)(Vu,Vv)
   5003 #endif /* __HEXAGON_ARCH___ >= 68 */
   5004 
   5005 #if __HVX_ARCH__ >= 68
   5006 /* ==========================================================================
   5007    Assembly Syntax:       Vxx32.sf+=vmpy(Vu32.hf,Vv32.hf)
   5008    C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpyacc_WsfVhfVhf(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
   5009    Instruction Type:      CVI_VX_DV
   5010    Execution Slots:       SLOT23
   5011    ========================================================================== */
   5012 
   5013 #define Q6_Wsf_vmpyacc_WsfVhfVhf(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_sf_hf_acc)(Vxx,Vu,Vv)
   5014 #endif /* __HEXAGON_ARCH___ >= 68 */
   5015 
   5016 #if __HVX_ARCH__ >= 68
   5017 /* ==========================================================================
   5018    Assembly Syntax:       Vd32.sf=vmpy(Vu32.sf,Vv32.sf)
   5019    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vmpy_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   5020    Instruction Type:      CVI_VX_DV
   5021    Execution Slots:       SLOT23
   5022    ========================================================================== */
   5023 
   5024 #define Q6_Vsf_vmpy_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_sf_sf)(Vu,Vv)
   5025 #endif /* __HEXAGON_ARCH___ >= 68 */
   5026 
   5027 #if __HVX_ARCH__ >= 68
   5028 /* ==========================================================================
   5029    Assembly Syntax:       Vd32.qf16=vsub(Vu32.hf,Vv32.hf)
   5030    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vsub_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   5031    Instruction Type:      CVI_VS
   5032    Execution Slots:       SLOT0123
   5033    ========================================================================== */
   5034 
   5035 #define Q6_Vqf16_vsub_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_hf)(Vu,Vv)
   5036 #endif /* __HEXAGON_ARCH___ >= 68 */
   5037 
   5038 #if __HVX_ARCH__ >= 68
   5039 /* ==========================================================================
   5040    Assembly Syntax:       Vd32.hf=vsub(Vu32.hf,Vv32.hf)
   5041    C Intrinsic Prototype: HVX_Vector Q6_Vhf_vsub_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   5042    Instruction Type:      CVI_VX
   5043    Execution Slots:       SLOT23
   5044    ========================================================================== */
   5045 
   5046 #define Q6_Vhf_vsub_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_hf_hf)(Vu,Vv)
   5047 #endif /* __HEXAGON_ARCH___ >= 68 */
   5048 
   5049 #if __HVX_ARCH__ >= 68
   5050 /* ==========================================================================
   5051    Assembly Syntax:       Vd32.qf16=vsub(Vu32.qf16,Vv32.qf16)
   5052    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vsub_Vqf16Vqf16(HVX_Vector Vu, HVX_Vector Vv)
   5053    Instruction Type:      CVI_VS
   5054    Execution Slots:       SLOT0123
   5055    ========================================================================== */
   5056 
   5057 #define Q6_Vqf16_vsub_Vqf16Vqf16(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_qf16)(Vu,Vv)
   5058 #endif /* __HEXAGON_ARCH___ >= 68 */
   5059 
   5060 #if __HVX_ARCH__ >= 68
   5061 /* ==========================================================================
   5062    Assembly Syntax:       Vd32.qf16=vsub(Vu32.qf16,Vv32.hf)
   5063    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vsub_Vqf16Vhf(HVX_Vector Vu, HVX_Vector Vv)
   5064    Instruction Type:      CVI_VS
   5065    Execution Slots:       SLOT0123
   5066    ========================================================================== */
   5067 
   5068 #define Q6_Vqf16_vsub_Vqf16Vhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_qf16_mix)(Vu,Vv)
   5069 #endif /* __HEXAGON_ARCH___ >= 68 */
   5070 
   5071 #if __HVX_ARCH__ >= 68
   5072 /* ==========================================================================
   5073    Assembly Syntax:       Vd32.qf32=vsub(Vu32.qf32,Vv32.qf32)
   5074    C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vsub_Vqf32Vqf32(HVX_Vector Vu, HVX_Vector Vv)
   5075    Instruction Type:      CVI_VS
   5076    Execution Slots:       SLOT0123
   5077    ========================================================================== */
   5078 
   5079 #define Q6_Vqf32_vsub_Vqf32Vqf32(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_qf32)(Vu,Vv)
   5080 #endif /* __HEXAGON_ARCH___ >= 68 */
   5081 
   5082 #if __HVX_ARCH__ >= 68
   5083 /* ==========================================================================
   5084    Assembly Syntax:       Vd32.qf32=vsub(Vu32.qf32,Vv32.sf)
   5085    C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vsub_Vqf32Vsf(HVX_Vector Vu, HVX_Vector Vv)
   5086    Instruction Type:      CVI_VS
   5087    Execution Slots:       SLOT0123
   5088    ========================================================================== */
   5089 
   5090 #define Q6_Vqf32_vsub_Vqf32Vsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_qf32_mix)(Vu,Vv)
   5091 #endif /* __HEXAGON_ARCH___ >= 68 */
   5092 
   5093 #if __HVX_ARCH__ >= 68
   5094 /* ==========================================================================
   5095    Assembly Syntax:       Vd32.qf32=vsub(Vu32.sf,Vv32.sf)
   5096    C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vsub_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   5097    Instruction Type:      CVI_VS
   5098    Execution Slots:       SLOT0123
   5099    ========================================================================== */
   5100 
   5101 #define Q6_Vqf32_vsub_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_sf)(Vu,Vv)
   5102 #endif /* __HEXAGON_ARCH___ >= 68 */
   5103 
   5104 #if __HVX_ARCH__ >= 68
   5105 /* ==========================================================================
   5106    Assembly Syntax:       Vdd32.sf=vsub(Vu32.hf,Vv32.hf)
   5107    C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vsub_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
   5108    Instruction Type:      CVI_VX_DV
   5109    Execution Slots:       SLOT23
   5110    ========================================================================== */
   5111 
   5112 #define Q6_Wsf_vsub_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_sf_hf)(Vu,Vv)
   5113 #endif /* __HEXAGON_ARCH___ >= 68 */
   5114 
   5115 #if __HVX_ARCH__ >= 68
   5116 /* ==========================================================================
   5117    Assembly Syntax:       Vd32.sf=vsub(Vu32.sf,Vv32.sf)
   5118    C Intrinsic Prototype: HVX_Vector Q6_Vsf_vsub_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
   5119    Instruction Type:      CVI_VX
   5120    Execution Slots:       SLOT23
   5121    ========================================================================== */
   5122 
   5123 #define Q6_Vsf_vsub_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_sf_sf)(Vu,Vv)
   5124 #endif /* __HEXAGON_ARCH___ >= 68 */
   5125 
   5126 #if __HVX_ARCH__ >= 69
   5127 /* ==========================================================================
   5128    Assembly Syntax:       Vd32.ub=vasr(Vuu32.uh,Vv32.ub):rnd:sat
   5129    C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_WuhVub_rnd_sat(HVX_VectorPair Vuu, HVX_Vector Vv)
   5130    Instruction Type:      CVI_VS
   5131    Execution Slots:       SLOT0123
   5132    ========================================================================== */
   5133 
   5134 #define Q6_Vub_vasr_WuhVub_rnd_sat(Vuu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrvuhubrndsat)(Vuu,Vv)
   5135 #endif /* __HEXAGON_ARCH___ >= 69 */
   5136 
   5137 #if __HVX_ARCH__ >= 69
   5138 /* ==========================================================================
   5139    Assembly Syntax:       Vd32.ub=vasr(Vuu32.uh,Vv32.ub):sat
   5140    C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_WuhVub_sat(HVX_VectorPair Vuu, HVX_Vector Vv)
   5141    Instruction Type:      CVI_VS
   5142    Execution Slots:       SLOT0123
   5143    ========================================================================== */
   5144 
   5145 #define Q6_Vub_vasr_WuhVub_sat(Vuu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrvuhubsat)(Vuu,Vv)
   5146 #endif /* __HEXAGON_ARCH___ >= 69 */
   5147 
   5148 #if __HVX_ARCH__ >= 69
   5149 /* ==========================================================================
   5150    Assembly Syntax:       Vd32.uh=vasr(Vuu32.w,Vv32.uh):rnd:sat
   5151    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_WwVuh_rnd_sat(HVX_VectorPair Vuu, HVX_Vector Vv)
   5152    Instruction Type:      CVI_VS
   5153    Execution Slots:       SLOT0123
   5154    ========================================================================== */
   5155 
   5156 #define Q6_Vuh_vasr_WwVuh_rnd_sat(Vuu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrvwuhrndsat)(Vuu,Vv)
   5157 #endif /* __HEXAGON_ARCH___ >= 69 */
   5158 
   5159 #if __HVX_ARCH__ >= 69
   5160 /* ==========================================================================
   5161    Assembly Syntax:       Vd32.uh=vasr(Vuu32.w,Vv32.uh):sat
   5162    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_WwVuh_sat(HVX_VectorPair Vuu, HVX_Vector Vv)
   5163    Instruction Type:      CVI_VS
   5164    Execution Slots:       SLOT0123
   5165    ========================================================================== */
   5166 
   5167 #define Q6_Vuh_vasr_WwVuh_sat(Vuu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrvwuhsat)(Vuu,Vv)
   5168 #endif /* __HEXAGON_ARCH___ >= 69 */
   5169 
   5170 #if __HVX_ARCH__ >= 69
   5171 /* ==========================================================================
   5172    Assembly Syntax:       Vd32.uh=vmpy(Vu32.uh,Vv32.uh):>>16
   5173    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vmpy_VuhVuh_rs16(HVX_Vector Vu, HVX_Vector Vv)
   5174    Instruction Type:      CVI_VX
   5175    Execution Slots:       SLOT23
   5176    ========================================================================== */
   5177 
   5178 #define Q6_Vuh_vmpy_VuhVuh_rs16(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhvs)(Vu,Vv)
   5179 #endif /* __HEXAGON_ARCH___ >= 69 */
   5180 
   5181 #if __HVX_ARCH__ >= 73
   5182 /* ==========================================================================
   5183    Assembly Syntax:       Vdd32.sf=vadd(Vu32.bf,Vv32.bf)
   5184    C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vadd_VbfVbf(HVX_Vector Vu,
   5185    HVX_Vector Vv) Instruction Type:      CVI_VX_DV Execution Slots:       SLOT23
   5186    ========================================================================== */
   5187 
   5188 #define Q6_Wsf_vadd_VbfVbf(Vu, Vv)                                             \
   5189   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_sf_bf)(Vu, Vv)
   5190 #endif /* __HEXAGON_ARCH___ >= 73 */
   5191 
   5192 #if __HVX_ARCH__ >= 73
   5193 /* ==========================================================================
   5194    Assembly Syntax:       Vd32.h=Vu32.hf
   5195    C Intrinsic Prototype: HVX_Vector Q6_Vh_equals_Vhf(HVX_Vector Vu)
   5196    Instruction Type:      CVI_VS
   5197    Execution Slots:       SLOT0123
   5198    ========================================================================== */
   5199 
   5200 #define Q6_Vh_equals_Vhf(Vu)                                                   \
   5201   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_h_hf)(Vu)
   5202 #endif /* __HEXAGON_ARCH___ >= 73 */
   5203 
   5204 #if __HVX_ARCH__ >= 73
   5205 /* ==========================================================================
   5206    Assembly Syntax:       Vd32.hf=Vu32.h
   5207    C Intrinsic Prototype: HVX_Vector Q6_Vhf_equals_Vh(HVX_Vector Vu)
   5208    Instruction Type:      CVI_VS
   5209    Execution Slots:       SLOT0123
   5210    ========================================================================== */
   5211 
   5212 #define Q6_Vhf_equals_Vh(Vu)                                                   \
   5213   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_hf_h)(Vu)
   5214 #endif /* __HEXAGON_ARCH___ >= 73 */
   5215 
   5216 #if __HVX_ARCH__ >= 73
   5217 /* ==========================================================================
   5218    Assembly Syntax:       Vd32.sf=Vu32.w
   5219    C Intrinsic Prototype: HVX_Vector Q6_Vsf_equals_Vw(HVX_Vector Vu)
   5220    Instruction Type:      CVI_VS
   5221    Execution Slots:       SLOT0123
   5222    ========================================================================== */
   5223 
   5224 #define Q6_Vsf_equals_Vw(Vu)                                                   \
   5225   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_sf_w)(Vu)
   5226 #endif /* __HEXAGON_ARCH___ >= 73 */
   5227 
   5228 #if __HVX_ARCH__ >= 73
   5229 /* ==========================================================================
   5230    Assembly Syntax:       Vd32.w=Vu32.sf
   5231    C Intrinsic Prototype: HVX_Vector Q6_Vw_equals_Vsf(HVX_Vector Vu)
   5232    Instruction Type:      CVI_VS
   5233    Execution Slots:       SLOT0123
   5234    ========================================================================== */
   5235 
   5236 #define Q6_Vw_equals_Vsf(Vu)                                                   \
   5237   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_w_sf)(Vu)
   5238 #endif /* __HEXAGON_ARCH___ >= 73 */
   5239 
   5240 #if __HVX_ARCH__ >= 73
   5241 /* ==========================================================================
   5242    Assembly Syntax:       Vd32.bf=vcvt(Vu32.sf,Vv32.sf)
   5243    C Intrinsic Prototype: HVX_Vector Q6_Vbf_vcvt_VsfVsf(HVX_Vector Vu,
   5244    HVX_Vector Vv) Instruction Type:      CVI_VX Execution Slots:       SLOT23
   5245    ========================================================================== */
   5246 
   5247 #define Q6_Vbf_vcvt_VsfVsf(Vu, Vv)                                             \
   5248   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_bf_sf)(Vu, Vv)
   5249 #endif /* __HEXAGON_ARCH___ >= 73 */
   5250 
   5251 #if __HVX_ARCH__ >= 73
   5252 /* ==========================================================================
   5253    Assembly Syntax:       Qd4=vcmp.gt(Vu32.bf,Vv32.bf)
   5254    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VbfVbf(HVX_Vector Vu,
   5255    HVX_Vector Vv) Instruction Type:      CVI_VA Execution Slots:       SLOT0123
   5256    ========================================================================== */
   5257 
   5258 #define Q6_Q_vcmp_gt_VbfVbf(Vu, Vv)                                            \
   5259   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)                          \
   5260   ((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtbf)(Vu, Vv)), -1)
   5261 #endif /* __HEXAGON_ARCH___ >= 73 */
   5262 
   5263 #if __HVX_ARCH__ >= 73
   5264 /* ==========================================================================
   5265    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.bf,Vv32.bf)
   5266    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVbfVbf(HVX_VectorPred
   5267    Qx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type:      CVI_VA Execution
   5268    Slots:       SLOT0123
   5269    ========================================================================== */
   5270 
   5271 #define Q6_Q_vcmp_gtand_QVbfVbf(Qx, Vu, Vv)                                    \
   5272   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)                          \
   5273   ((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtbf_and)(                     \
   5274        __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu,      \
   5275        Vv)),                                                                   \
   5276    -1)
   5277 #endif /* __HEXAGON_ARCH___ >= 73 */
   5278 
   5279 #if __HVX_ARCH__ >= 73
   5280 /* ==========================================================================
   5281    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.bf,Vv32.bf)
   5282    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVbfVbf(HVX_VectorPred
   5283    Qx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type:      CVI_VA Execution
   5284    Slots:       SLOT0123
   5285    ========================================================================== */
   5286 
   5287 #define Q6_Q_vcmp_gtor_QVbfVbf(Qx, Vu, Vv)                                     \
   5288   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)                          \
   5289   ((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtbf_or)(                      \
   5290        __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu,      \
   5291        Vv)),                                                                   \
   5292    -1)
   5293 #endif /* __HEXAGON_ARCH___ >= 73 */
   5294 
   5295 #if __HVX_ARCH__ >= 73
   5296 /* ==========================================================================
   5297    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.bf,Vv32.bf)
   5298    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVbfVbf(HVX_VectorPred
   5299    Qx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type:      CVI_VA Execution
   5300    Slots:       SLOT0123
   5301    ========================================================================== */
   5302 
   5303 #define Q6_Q_vcmp_gtxacc_QVbfVbf(Qx, Vu, Vv)                                   \
   5304   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)                          \
   5305   ((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtbf_xor)(                     \
   5306        __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu,      \
   5307        Vv)),                                                                   \
   5308    -1)
   5309 #endif /* __HEXAGON_ARCH___ >= 73 */
   5310 
   5311 #if __HVX_ARCH__ >= 73
   5312 /* ==========================================================================
   5313    Assembly Syntax:       Vd32.bf=vmax(Vu32.bf,Vv32.bf)
   5314    C Intrinsic Prototype: HVX_Vector Q6_Vbf_vmax_VbfVbf(HVX_Vector Vu,
   5315    HVX_Vector Vv) Instruction Type:      CVI_VX_LATE Execution Slots: SLOT23
   5316    ========================================================================== */
   5317 
   5318 #define Q6_Vbf_vmax_VbfVbf(Vu, Vv)                                             \
   5319   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmax_bf)(Vu, Vv)
   5320 #endif /* __HEXAGON_ARCH___ >= 73 */
   5321 
   5322 #if __HVX_ARCH__ >= 73
   5323 /* ==========================================================================
   5324    Assembly Syntax:       Vd32.bf=vmin(Vu32.bf,Vv32.bf)
   5325    C Intrinsic Prototype: HVX_Vector Q6_Vbf_vmin_VbfVbf(HVX_Vector Vu,
   5326    HVX_Vector Vv) Instruction Type:      CVI_VX_LATE Execution Slots: SLOT23
   5327    ========================================================================== */
   5328 
   5329 #define Q6_Vbf_vmin_VbfVbf(Vu, Vv)                                             \
   5330   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmin_bf)(Vu, Vv)
   5331 #endif /* __HEXAGON_ARCH___ >= 73 */
   5332 
   5333 #if __HVX_ARCH__ >= 73
   5334 /* ==========================================================================
   5335    Assembly Syntax:       Vdd32.sf=vmpy(Vu32.bf,Vv32.bf)
   5336    C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpy_VbfVbf(HVX_Vector Vu,
   5337    HVX_Vector Vv) Instruction Type:      CVI_VX_DV Execution Slots:       SLOT23
   5338    ========================================================================== */
   5339 
   5340 #define Q6_Wsf_vmpy_VbfVbf(Vu, Vv)                                             \
   5341   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_sf_bf)(Vu, Vv)
   5342 #endif /* __HEXAGON_ARCH___ >= 73 */
   5343 
   5344 #if __HVX_ARCH__ >= 73
   5345 /* ==========================================================================
   5346    Assembly Syntax:       Vxx32.sf+=vmpy(Vu32.bf,Vv32.bf)
   5347    C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpyacc_WsfVbfVbf(HVX_VectorPair
   5348    Vxx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type:      CVI_VX_DV Execution
   5349    Slots:       SLOT23
   5350    ========================================================================== */
   5351 
   5352 #define Q6_Wsf_vmpyacc_WsfVbfVbf(Vxx, Vu, Vv)                                  \
   5353   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_sf_bf_acc)(Vxx, Vu, Vv)
   5354 #endif /* __HEXAGON_ARCH___ >= 73 */
   5355 
   5356 #if __HVX_ARCH__ >= 73
   5357 /* ==========================================================================
   5358    Assembly Syntax:       Vdd32.sf=vsub(Vu32.bf,Vv32.bf)
   5359    C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vsub_VbfVbf(HVX_Vector Vu,
   5360    HVX_Vector Vv) Instruction Type:      CVI_VX_DV Execution Slots:       SLOT23
   5361    ========================================================================== */
   5362 
   5363 #define Q6_Wsf_vsub_VbfVbf(Vu, Vv)                                             \
   5364   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_sf_bf)(Vu, Vv)
   5365 #endif /* __HEXAGON_ARCH___ >= 73 */
   5366 
   5367 #if __HVX_ARCH__ >= 79
   5368 /* ==========================================================================
   5369    Assembly Syntax:       Vd32=vgetqfext(Vu32.x,Rt32)
   5370    C Intrinsic Prototype: HVX_Vector Q6_V_vgetqfext_VR(HVX_Vector Vu, Word32 Rt)
   5371    Instruction Type:      CVI_VX
   5372    Execution Slots:       SLOT23
   5373    ========================================================================== */
   5374 
   5375 #define Q6_V_vgetqfext_VR(Vu, Rt)                                              \
   5376   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_get_qfext)(Vu, Rt)
   5377 #endif /* __HEXAGON_ARCH___ >= 79 */
   5378 
   5379 #if __HVX_ARCH__ >= 79
   5380 /* ==========================================================================
   5381    Assembly Syntax:       Vx32|=vgetqfext(Vu32.x,Rt32)
   5382    C Intrinsic Prototype: HVX_Vector Q6_V_vgetqfextor_VVR(HVX_Vector Vx,
   5383    HVX_Vector Vu, Word32 Rt) Instruction Type:      CVI_VX Execution Slots:
   5384    SLOT23
   5385    ========================================================================== */
   5386 
   5387 #define Q6_V_vgetqfextor_VVR(Vx, Vu, Rt)                                       \
   5388   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_get_qfext_oracc)(Vx, Vu, Rt)
   5389 #endif /* __HEXAGON_ARCH___ >= 79 */
   5390 
   5391 #if __HVX_ARCH__ >= 79
   5392 /* ==========================================================================
   5393    Assembly Syntax:       Vd32.x=vsetqfext(Vu32,Rt32)
   5394    C Intrinsic Prototype: HVX_Vector Q6_V_vsetqfext_VR(HVX_Vector Vu, Word32 Rt)
   5395    Instruction Type:      CVI_VX
   5396    Execution Slots:       SLOT23
   5397    ========================================================================== */
   5398 
   5399 #define Q6_V_vsetqfext_VR(Vu, Rt)                                              \
   5400   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_set_qfext)(Vu, Rt)
   5401 #endif /* __HEXAGON_ARCH___ >= 79 */
   5402 
   5403 #if __HVX_ARCH__ >= 79
   5404 /* ==========================================================================
   5405    Assembly Syntax:       Vd32.f8=vabs(Vu32.f8)
   5406    C Intrinsic Prototype: HVX_Vector Q6_V_vabs_V(HVX_Vector Vu)
   5407    Instruction Type:      CVI_VX_LATE
   5408    Execution Slots:       SLOT23
   5409    ========================================================================== */
   5410 
   5411 #define Q6_V_vabs_V(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabs_f8)(Vu)
   5412 #endif /* __HEXAGON_ARCH___ >= 79 */
   5413 
   5414 #if __HVX_ARCH__ >= 79
   5415 /* ==========================================================================
   5416    Assembly Syntax:       Vdd32.hf=vadd(Vu32.f8,Vv32.f8)
   5417    C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vadd_VV(HVX_Vector Vu,
   5418    HVX_Vector Vv) Instruction Type:      CVI_VX_DV Execution Slots:       SLOT23
   5419    ========================================================================== */
   5420 
   5421 #define Q6_Whf_vadd_VV(Vu, Vv)                                                 \
   5422   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_hf_f8)(Vu, Vv)
   5423 #endif /* __HEXAGON_ARCH___ >= 79 */
   5424 
   5425 #if __HVX_ARCH__ >= 79
   5426 /* ==========================================================================
   5427    Assembly Syntax:       Vd32.b=vcvt2(Vu32.hf,Vv32.hf)
   5428    C Intrinsic Prototype: HVX_Vector Q6_Vb_vcvt2_VhfVhf(HVX_Vector Vu,
   5429    HVX_Vector Vv) Instruction Type:      CVI_VX Execution Slots:       SLOT23
   5430    ========================================================================== */
   5431 
   5432 #define Q6_Vb_vcvt2_VhfVhf(Vu, Vv)                                             \
   5433   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt2_b_hf)(Vu, Vv)
   5434 #endif /* __HEXAGON_ARCH___ >= 79 */
   5435 
   5436 #if __HVX_ARCH__ >= 79
   5437 /* ==========================================================================
   5438    Assembly Syntax:       Vdd32.hf=vcvt2(Vu32.b)
   5439    C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vcvt2_Vb(HVX_Vector Vu)
   5440    Instruction Type:      CVI_VX_DV
   5441    Execution Slots:       SLOT23
   5442    ========================================================================== */
   5443 
   5444 #define Q6_Whf_vcvt2_Vb(Vu)                                                    \
   5445   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt2_hf_b)(Vu)
   5446 #endif /* __HEXAGON_ARCH___ >= 79 */
   5447 
   5448 #if __HVX_ARCH__ >= 79
   5449 /* ==========================================================================
   5450    Assembly Syntax:       Vdd32.hf=vcvt2(Vu32.ub)
   5451    C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vcvt2_Vub(HVX_Vector Vu)
   5452    Instruction Type:      CVI_VX_DV
   5453    Execution Slots:       SLOT23
   5454    ========================================================================== */
   5455 
   5456 #define Q6_Whf_vcvt2_Vub(Vu)                                                   \
   5457   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt2_hf_ub)(Vu)
   5458 #endif /* __HEXAGON_ARCH___ >= 79 */
   5459 
   5460 #if __HVX_ARCH__ >= 79
   5461 /* ==========================================================================
   5462    Assembly Syntax:       Vd32.ub=vcvt2(Vu32.hf,Vv32.hf)
   5463    C Intrinsic Prototype: HVX_Vector Q6_Vub_vcvt2_VhfVhf(HVX_Vector Vu,
   5464    HVX_Vector Vv) Instruction Type:      CVI_VX Execution Slots:       SLOT23
   5465    ========================================================================== */
   5466 
   5467 #define Q6_Vub_vcvt2_VhfVhf(Vu, Vv)                                            \
   5468   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt2_ub_hf)(Vu, Vv)
   5469 #endif /* __HEXAGON_ARCH___ >= 79 */
   5470 
   5471 #if __HVX_ARCH__ >= 79
   5472 /* ==========================================================================
   5473    Assembly Syntax:       Vd32.f8=vcvt(Vu32.hf,Vv32.hf)
   5474    C Intrinsic Prototype: HVX_Vector Q6_V_vcvt_VhfVhf(HVX_Vector Vu, HVX_Vector
   5475    Vv) Instruction Type:      CVI_VX Execution Slots:       SLOT23
   5476    ========================================================================== */
   5477 
   5478 #define Q6_V_vcvt_VhfVhf(Vu, Vv)                                               \
   5479   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_f8_hf)(Vu, Vv)
   5480 #endif /* __HEXAGON_ARCH___ >= 79 */
   5481 
   5482 #if __HVX_ARCH__ >= 79
   5483 /* ==========================================================================
   5484    Assembly Syntax:       Vdd32.hf=vcvt(Vu32.f8)
   5485    C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vcvt_V(HVX_Vector Vu)
   5486    Instruction Type:      CVI_VX_DV
   5487    Execution Slots:       SLOT23
   5488    ========================================================================== */
   5489 
   5490 #define Q6_Whf_vcvt_V(Vu)                                                      \
   5491   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_f8)(Vu)
   5492 #endif /* __HEXAGON_ARCH___ >= 79 */
   5493 
   5494 #if __HVX_ARCH__ >= 79
   5495 /* ==========================================================================
   5496    Assembly Syntax:       Vd32.f8=vfmax(Vu32.f8,Vv32.f8)
   5497    C Intrinsic Prototype: HVX_Vector Q6_V_vfmax_VV(HVX_Vector Vu, HVX_Vector Vv)
   5498    Instruction Type:      CVI_VX_LATE
   5499    Execution Slots:       SLOT23
   5500    ========================================================================== */
   5501 
   5502 #define Q6_V_vfmax_VV(Vu, Vv)                                                  \
   5503   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmax_f8)(Vu, Vv)
   5504 #endif /* __HEXAGON_ARCH___ >= 79 */
   5505 
   5506 #if __HVX_ARCH__ >= 79
   5507 /* ==========================================================================
   5508    Assembly Syntax:       Vd32.f8=vfmin(Vu32.f8,Vv32.f8)
   5509    C Intrinsic Prototype: HVX_Vector Q6_V_vfmin_VV(HVX_Vector Vu, HVX_Vector Vv)
   5510    Instruction Type:      CVI_VX_LATE
   5511    Execution Slots:       SLOT23
   5512    ========================================================================== */
   5513 
   5514 #define Q6_V_vfmin_VV(Vu, Vv)                                                  \
   5515   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmin_f8)(Vu, Vv)
   5516 #endif /* __HEXAGON_ARCH___ >= 79 */
   5517 
   5518 #if __HVX_ARCH__ >= 79
   5519 /* ==========================================================================
   5520    Assembly Syntax:       Vd32.f8=vfneg(Vu32.f8)
   5521    C Intrinsic Prototype: HVX_Vector Q6_V_vfneg_V(HVX_Vector Vu)
   5522    Instruction Type:      CVI_VX_LATE
   5523    Execution Slots:       SLOT23
   5524    ========================================================================== */
   5525 
   5526 #define Q6_V_vfneg_V(Vu)                                                       \
   5527   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfneg_f8)(Vu)
   5528 #endif /* __HEXAGON_ARCH___ >= 79 */
   5529 
   5530 #if __HVX_ARCH__ >= 79
   5531 /* ==========================================================================
   5532    Assembly Syntax:       Vd32=vmerge(Vu32.x,Vv32.w)
   5533    C Intrinsic Prototype: HVX_Vector Q6_V_vmerge_VVw(HVX_Vector Vu, HVX_Vector
   5534    Vv) Instruction Type:      CVI_VS Execution Slots:       SLOT0123
   5535    ========================================================================== */
   5536 
   5537 #define Q6_V_vmerge_VVw(Vu, Vv)                                                \
   5538   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmerge_qf)(Vu, Vv)
   5539 #endif /* __HEXAGON_ARCH___ >= 79 */
   5540 
   5541 #if __HVX_ARCH__ >= 79
   5542 /* ==========================================================================
   5543    Assembly Syntax:       Vdd32.hf=vmpy(Vu32.f8,Vv32.f8)
   5544    C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vmpy_VV(HVX_Vector Vu,
   5545    HVX_Vector Vv) Instruction Type:      CVI_VX_DV Execution Slots:       SLOT23
   5546    ========================================================================== */
   5547 
   5548 #define Q6_Whf_vmpy_VV(Vu, Vv)                                                 \
   5549   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_hf_f8)(Vu, Vv)
   5550 #endif /* __HEXAGON_ARCH___ >= 79 */
   5551 
   5552 #if __HVX_ARCH__ >= 79
   5553 /* ==========================================================================
   5554    Assembly Syntax:       Vxx32.hf+=vmpy(Vu32.f8,Vv32.f8)
   5555    C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vmpyacc_WhfVV(HVX_VectorPair
   5556    Vxx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type:      CVI_VX_DV Execution
   5557    Slots:       SLOT23
   5558    ========================================================================== */
   5559 
   5560 #define Q6_Whf_vmpyacc_WhfVV(Vxx, Vu, Vv)                                      \
   5561   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_hf_f8_acc)(Vxx, Vu, Vv)
   5562 #endif /* __HEXAGON_ARCH___ >= 79 */
   5563 
   5564 #if __HVX_ARCH__ >= 79
   5565 /* ==========================================================================
   5566    Assembly Syntax:       Vd32.qf16=vmpy(Vu32.hf,Rt32.hf)
   5567    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vmpy_VhfRhf(HVX_Vector Vu, Word32
   5568    Rt) Instruction Type:      CVI_VX_DV Execution Slots:       SLOT23
   5569    ========================================================================== */
   5570 
   5571 #define Q6_Vqf16_vmpy_VhfRhf(Vu, Rt)                                           \
   5572   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_rt_hf)(Vu, Rt)
   5573 #endif /* __HEXAGON_ARCH___ >= 79 */
   5574 
   5575 #if __HVX_ARCH__ >= 79
   5576 /* ==========================================================================
   5577    Assembly Syntax:       Vd32.qf16=vmpy(Vu32.qf16,Rt32.hf)
   5578    C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vmpy_Vqf16Rhf(HVX_Vector Vu,
   5579    Word32 Rt) Instruction Type:      CVI_VX_DV Execution Slots:       SLOT23
   5580    ========================================================================== */
   5581 
   5582 #define Q6_Vqf16_vmpy_Vqf16Rhf(Vu, Rt)                                         \
   5583   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_rt_qf16)(Vu, Rt)
   5584 #endif /* __HEXAGON_ARCH___ >= 79 */
   5585 
   5586 #if __HVX_ARCH__ >= 79
   5587 /* ==========================================================================
   5588    Assembly Syntax:       Vd32.qf32=vmpy(Vu32.sf,Rt32.sf)
   5589    C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vmpy_VsfRsf(HVX_Vector Vu, Word32
   5590    Rt) Instruction Type:      CVI_VX_DV Execution Slots:       SLOT23
   5591    ========================================================================== */
   5592 
   5593 #define Q6_Vqf32_vmpy_VsfRsf(Vu, Rt)                                           \
   5594   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_rt_sf)(Vu, Rt)
   5595 #endif /* __HEXAGON_ARCH___ >= 79 */
   5596 
   5597 #if __HVX_ARCH__ >= 79
   5598 /* ==========================================================================
   5599    Assembly Syntax:       Vdd32.hf=vsub(Vu32.f8,Vv32.f8)
   5600    C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vsub_VV(HVX_Vector Vu,
   5601    HVX_Vector Vv) Instruction Type:      CVI_VX_DV Execution Slots:       SLOT23
   5602    ========================================================================== */
   5603 
   5604 #define Q6_Whf_vsub_VV(Vu, Vv)                                                 \
   5605   __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_hf_f8)(Vu, Vv)
   5606 #endif /* __HEXAGON_ARCH___ >= 79 */
   5607 
   5608 #endif /* __HVX__ */
   5609 
   5610 #endif