master
   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