xref: /freebsd/contrib/llvm-project/clang/lib/Headers/hvx_hexagon_protos.h (revision 0eae32dcef82f6f06de6419a0d623d7def0cc8f6)
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 #endif /* __HVX__ */
5182 
5183 #endif
5184