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 
13 #ifndef _HVX_HEXAGON_PROTOS_H_
14 #define _HVX_HEXAGON_PROTOS_H_ 1
15 
16 #ifdef __HVX__
17 #if __HVX_LENGTH__ == 128
18 #define __BUILTIN_VECTOR_WRAP(a) a ## _128B
19 #else
20 #define __BUILTIN_VECTOR_WRAP(a) a
21 #endif
22 
23 #if __HVX_ARCH__ >= 60
24 /* ==========================================================================
25    Assembly Syntax:       Rd32=vextract(Vu32,Rs32)
26    C Intrinsic Prototype: Word32 Q6_R_vextract_VR(HVX_Vector Vu, Word32 Rs)
27    Instruction Type:      LD
28    Execution Slots:       SLOT0
29    ========================================================================== */
30 
31 #define Q6_R_vextract_VR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_extractw)
32 #endif /* __HEXAGON_ARCH___ >= 60 */
33 
34 #if __HVX_ARCH__ >= 60
35 /* ==========================================================================
36    Assembly Syntax:       Vd32=hi(Vss32)
37    C Intrinsic Prototype: HVX_Vector Q6_V_hi_W(HVX_VectorPair Vss)
38    Instruction Type:      CVI_VA
39    Execution Slots:       SLOT0123
40    ========================================================================== */
41 
42 #define Q6_V_hi_W __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_hi)
43 #endif /* __HEXAGON_ARCH___ >= 60 */
44 
45 #if __HVX_ARCH__ >= 60
46 /* ==========================================================================
47    Assembly Syntax:       Vd32=lo(Vss32)
48    C Intrinsic Prototype: HVX_Vector Q6_V_lo_W(HVX_VectorPair Vss)
49    Instruction Type:      CVI_VA
50    Execution Slots:       SLOT0123
51    ========================================================================== */
52 
53 #define Q6_V_lo_W __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lo)
54 #endif /* __HEXAGON_ARCH___ >= 60 */
55 
56 #if __HVX_ARCH__ >= 60
57 /* ==========================================================================
58    Assembly Syntax:       Vd32=vsplat(Rt32)
59    C Intrinsic Prototype: HVX_Vector Q6_V_vsplat_R(Word32 Rt)
60    Instruction Type:      CVI_VX_LATE
61    Execution Slots:       SLOT23
62    ========================================================================== */
63 
64 #define Q6_V_vsplat_R __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lvsplatw)
65 #endif /* __HEXAGON_ARCH___ >= 60 */
66 
67 #if __HVX_ARCH__ >= 60
68 /* ==========================================================================
69    Assembly Syntax:       Qd4=and(Qs4,Qt4)
70    C Intrinsic Prototype: HVX_VectorPred Q6_Q_and_QQ(HVX_VectorPred Qs, HVX_VectorPred Qt)
71    Instruction Type:      CVI_VA_DV
72    Execution Slots:       SLOT0123
73    ========================================================================== */
74 
75 #define Q6_Q_and_QQ __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_and)
76 #endif /* __HEXAGON_ARCH___ >= 60 */
77 
78 #if __HVX_ARCH__ >= 60
79 /* ==========================================================================
80    Assembly Syntax:       Qd4=and(Qs4,!Qt4)
81    C Intrinsic Prototype: HVX_VectorPred Q6_Q_and_QQn(HVX_VectorPred Qs, HVX_VectorPred Qt)
82    Instruction Type:      CVI_VA_DV
83    Execution Slots:       SLOT0123
84    ========================================================================== */
85 
86 #define Q6_Q_and_QQn __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_and_n)
87 #endif /* __HEXAGON_ARCH___ >= 60 */
88 
89 #if __HVX_ARCH__ >= 60
90 /* ==========================================================================
91    Assembly Syntax:       Qd4=not(Qs4)
92    C Intrinsic Prototype: HVX_VectorPred Q6_Q_not_Q(HVX_VectorPred Qs)
93    Instruction Type:      CVI_VA
94    Execution Slots:       SLOT0123
95    ========================================================================== */
96 
97 #define Q6_Q_not_Q __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_not)
98 #endif /* __HEXAGON_ARCH___ >= 60 */
99 
100 #if __HVX_ARCH__ >= 60
101 /* ==========================================================================
102    Assembly Syntax:       Qd4=or(Qs4,Qt4)
103    C Intrinsic Prototype: HVX_VectorPred Q6_Q_or_QQ(HVX_VectorPred Qs, HVX_VectorPred Qt)
104    Instruction Type:      CVI_VA_DV
105    Execution Slots:       SLOT0123
106    ========================================================================== */
107 
108 #define Q6_Q_or_QQ __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_or)
109 #endif /* __HEXAGON_ARCH___ >= 60 */
110 
111 #if __HVX_ARCH__ >= 60
112 /* ==========================================================================
113    Assembly Syntax:       Qd4=or(Qs4,!Qt4)
114    C Intrinsic Prototype: HVX_VectorPred Q6_Q_or_QQn(HVX_VectorPred Qs, HVX_VectorPred Qt)
115    Instruction Type:      CVI_VA_DV
116    Execution Slots:       SLOT0123
117    ========================================================================== */
118 
119 #define Q6_Q_or_QQn __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_or_n)
120 #endif /* __HEXAGON_ARCH___ >= 60 */
121 
122 #if __HVX_ARCH__ >= 60
123 /* ==========================================================================
124    Assembly Syntax:       Qd4=vsetq(Rt32)
125    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vsetq_R(Word32 Rt)
126    Instruction Type:      CVI_VP
127    Execution Slots:       SLOT0123
128    ========================================================================== */
129 
130 #define Q6_Q_vsetq_R __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_scalar2)
131 #endif /* __HEXAGON_ARCH___ >= 60 */
132 
133 #if __HVX_ARCH__ >= 60
134 /* ==========================================================================
135    Assembly Syntax:       Qd4=xor(Qs4,Qt4)
136    C Intrinsic Prototype: HVX_VectorPred Q6_Q_xor_QQ(HVX_VectorPred Qs, HVX_VectorPred Qt)
137    Instruction Type:      CVI_VA_DV
138    Execution Slots:       SLOT0123
139    ========================================================================== */
140 
141 #define Q6_Q_xor_QQ __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_xor)
142 #endif /* __HEXAGON_ARCH___ >= 60 */
143 
144 #if __HVX_ARCH__ >= 60
145 /* ==========================================================================
146    Assembly Syntax:       if (!Qv4) vmem(Rt32+#s4)=Vs32
147    C Intrinsic Prototype: void Q6_vmem_QnRIV(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
148    Instruction Type:      CVI_VM_ST
149    Execution Slots:       SLOT0
150    ========================================================================== */
151 
152 #define Q6_vmem_QnRIV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_nqpred_ai)
153 #endif /* __HEXAGON_ARCH___ >= 60 */
154 
155 #if __HVX_ARCH__ >= 60
156 /* ==========================================================================
157    Assembly Syntax:       if (!Qv4) vmem(Rt32+#s4):nt=Vs32
158    C Intrinsic Prototype: void Q6_vmem_QnRIV_nt(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
159    Instruction Type:      CVI_VM_ST
160    Execution Slots:       SLOT0
161    ========================================================================== */
162 
163 #define Q6_vmem_QnRIV_nt __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_nt_nqpred_ai)
164 #endif /* __HEXAGON_ARCH___ >= 60 */
165 
166 #if __HVX_ARCH__ >= 60
167 /* ==========================================================================
168    Assembly Syntax:       if (Qv4) vmem(Rt32+#s4):nt=Vs32
169    C Intrinsic Prototype: void Q6_vmem_QRIV_nt(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
170    Instruction Type:      CVI_VM_ST
171    Execution Slots:       SLOT0
172    ========================================================================== */
173 
174 #define Q6_vmem_QRIV_nt __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_nt_qpred_ai)
175 #endif /* __HEXAGON_ARCH___ >= 60 */
176 
177 #if __HVX_ARCH__ >= 60
178 /* ==========================================================================
179    Assembly Syntax:       if (Qv4) vmem(Rt32+#s4)=Vs32
180    C Intrinsic Prototype: void Q6_vmem_QRIV(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
181    Instruction Type:      CVI_VM_ST
182    Execution Slots:       SLOT0
183    ========================================================================== */
184 
185 #define Q6_vmem_QRIV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_qpred_ai)
186 #endif /* __HEXAGON_ARCH___ >= 60 */
187 
188 #if __HVX_ARCH__ >= 60
189 /* ==========================================================================
190    Assembly Syntax:       Vd32.uh=vabsdiff(Vu32.h,Vv32.h)
191    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vabsdiff_VhVh(HVX_Vector Vu, HVX_Vector Vv)
192    Instruction Type:      CVI_VX
193    Execution Slots:       SLOT23
194    ========================================================================== */
195 
196 #define Q6_Vuh_vabsdiff_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffh)
197 #endif /* __HEXAGON_ARCH___ >= 60 */
198 
199 #if __HVX_ARCH__ >= 60
200 /* ==========================================================================
201    Assembly Syntax:       Vd32.ub=vabsdiff(Vu32.ub,Vv32.ub)
202    C Intrinsic Prototype: HVX_Vector Q6_Vub_vabsdiff_VubVub(HVX_Vector Vu, HVX_Vector Vv)
203    Instruction Type:      CVI_VX
204    Execution Slots:       SLOT23
205    ========================================================================== */
206 
207 #define Q6_Vub_vabsdiff_VubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffub)
208 #endif /* __HEXAGON_ARCH___ >= 60 */
209 
210 #if __HVX_ARCH__ >= 60
211 /* ==========================================================================
212    Assembly Syntax:       Vd32.uh=vabsdiff(Vu32.uh,Vv32.uh)
213    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vabsdiff_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
214    Instruction Type:      CVI_VX
215    Execution Slots:       SLOT23
216    ========================================================================== */
217 
218 #define Q6_Vuh_vabsdiff_VuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffuh)
219 #endif /* __HEXAGON_ARCH___ >= 60 */
220 
221 #if __HVX_ARCH__ >= 60
222 /* ==========================================================================
223    Assembly Syntax:       Vd32.uw=vabsdiff(Vu32.w,Vv32.w)
224    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vabsdiff_VwVw(HVX_Vector Vu, HVX_Vector Vv)
225    Instruction Type:      CVI_VX
226    Execution Slots:       SLOT23
227    ========================================================================== */
228 
229 #define Q6_Vuw_vabsdiff_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffw)
230 #endif /* __HEXAGON_ARCH___ >= 60 */
231 
232 #if __HVX_ARCH__ >= 60
233 /* ==========================================================================
234    Assembly Syntax:       Vd32.h=vabs(Vu32.h)
235    C Intrinsic Prototype: HVX_Vector Q6_Vh_vabs_Vh(HVX_Vector Vu)
236    Instruction Type:      CVI_VA
237    Execution Slots:       SLOT0123
238    ========================================================================== */
239 
240 #define Q6_Vh_vabs_Vh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsh)
241 #endif /* __HEXAGON_ARCH___ >= 60 */
242 
243 #if __HVX_ARCH__ >= 60
244 /* ==========================================================================
245    Assembly Syntax:       Vd32.h=vabs(Vu32.h):sat
246    C Intrinsic Prototype: HVX_Vector Q6_Vh_vabs_Vh_sat(HVX_Vector Vu)
247    Instruction Type:      CVI_VA
248    Execution Slots:       SLOT0123
249    ========================================================================== */
250 
251 #define Q6_Vh_vabs_Vh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsh_sat)
252 #endif /* __HEXAGON_ARCH___ >= 60 */
253 
254 #if __HVX_ARCH__ >= 60
255 /* ==========================================================================
256    Assembly Syntax:       Vd32.w=vabs(Vu32.w)
257    C Intrinsic Prototype: HVX_Vector Q6_Vw_vabs_Vw(HVX_Vector Vu)
258    Instruction Type:      CVI_VA
259    Execution Slots:       SLOT0123
260    ========================================================================== */
261 
262 #define Q6_Vw_vabs_Vw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsw)
263 #endif /* __HEXAGON_ARCH___ >= 60 */
264 
265 #if __HVX_ARCH__ >= 60
266 /* ==========================================================================
267    Assembly Syntax:       Vd32.w=vabs(Vu32.w):sat
268    C Intrinsic Prototype: HVX_Vector Q6_Vw_vabs_Vw_sat(HVX_Vector Vu)
269    Instruction Type:      CVI_VA
270    Execution Slots:       SLOT0123
271    ========================================================================== */
272 
273 #define Q6_Vw_vabs_Vw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsw_sat)
274 #endif /* __HEXAGON_ARCH___ >= 60 */
275 
276 #if __HVX_ARCH__ >= 60
277 /* ==========================================================================
278    Assembly Syntax:       Vd32.b=vadd(Vu32.b,Vv32.b)
279    C Intrinsic Prototype: HVX_Vector Q6_Vb_vadd_VbVb(HVX_Vector Vu, HVX_Vector Vv)
280    Instruction Type:      CVI_VA
281    Execution Slots:       SLOT0123
282    ========================================================================== */
283 
284 #define Q6_Vb_vadd_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddb)
285 #endif /* __HEXAGON_ARCH___ >= 60 */
286 
287 #if __HVX_ARCH__ >= 60
288 /* ==========================================================================
289    Assembly Syntax:       Vdd32.b=vadd(Vuu32.b,Vvv32.b)
290    C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vadd_WbWb(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
291    Instruction Type:      CVI_VA_DV
292    Execution Slots:       SLOT0123
293    ========================================================================== */
294 
295 #define Q6_Wb_vadd_WbWb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddb_dv)
296 #endif /* __HEXAGON_ARCH___ >= 60 */
297 
298 #if __HVX_ARCH__ >= 60
299 /* ==========================================================================
300    Assembly Syntax:       if (!Qv4) Vx32.b+=Vu32.b
301    C Intrinsic Prototype: HVX_Vector Q6_Vb_condacc_QnVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
302    Instruction Type:      CVI_VA
303    Execution Slots:       SLOT0123
304    ========================================================================== */
305 
306 #define Q6_Vb_condacc_QnVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbnq)
307 #endif /* __HEXAGON_ARCH___ >= 60 */
308 
309 #if __HVX_ARCH__ >= 60
310 /* ==========================================================================
311    Assembly Syntax:       if (Qv4) Vx32.b+=Vu32.b
312    C Intrinsic Prototype: HVX_Vector Q6_Vb_condacc_QVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
313    Instruction Type:      CVI_VA
314    Execution Slots:       SLOT0123
315    ========================================================================== */
316 
317 #define Q6_Vb_condacc_QVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbq)
318 #endif /* __HEXAGON_ARCH___ >= 60 */
319 
320 #if __HVX_ARCH__ >= 60
321 /* ==========================================================================
322    Assembly Syntax:       Vd32.h=vadd(Vu32.h,Vv32.h)
323    C Intrinsic Prototype: HVX_Vector Q6_Vh_vadd_VhVh(HVX_Vector Vu, HVX_Vector Vv)
324    Instruction Type:      CVI_VA
325    Execution Slots:       SLOT0123
326    ========================================================================== */
327 
328 #define Q6_Vh_vadd_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddh)
329 #endif /* __HEXAGON_ARCH___ >= 60 */
330 
331 #if __HVX_ARCH__ >= 60
332 /* ==========================================================================
333    Assembly Syntax:       Vdd32.h=vadd(Vuu32.h,Vvv32.h)
334    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vadd_WhWh(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
335    Instruction Type:      CVI_VA_DV
336    Execution Slots:       SLOT0123
337    ========================================================================== */
338 
339 #define Q6_Wh_vadd_WhWh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddh_dv)
340 #endif /* __HEXAGON_ARCH___ >= 60 */
341 
342 #if __HVX_ARCH__ >= 60
343 /* ==========================================================================
344    Assembly Syntax:       if (!Qv4) Vx32.h+=Vu32.h
345    C Intrinsic Prototype: HVX_Vector Q6_Vh_condacc_QnVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
346    Instruction Type:      CVI_VA
347    Execution Slots:       SLOT0123
348    ========================================================================== */
349 
350 #define Q6_Vh_condacc_QnVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhnq)
351 #endif /* __HEXAGON_ARCH___ >= 60 */
352 
353 #if __HVX_ARCH__ >= 60
354 /* ==========================================================================
355    Assembly Syntax:       if (Qv4) Vx32.h+=Vu32.h
356    C Intrinsic Prototype: HVX_Vector Q6_Vh_condacc_QVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
357    Instruction Type:      CVI_VA
358    Execution Slots:       SLOT0123
359    ========================================================================== */
360 
361 #define Q6_Vh_condacc_QVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhq)
362 #endif /* __HEXAGON_ARCH___ >= 60 */
363 
364 #if __HVX_ARCH__ >= 60
365 /* ==========================================================================
366    Assembly Syntax:       Vd32.h=vadd(Vu32.h,Vv32.h):sat
367    C Intrinsic Prototype: HVX_Vector Q6_Vh_vadd_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
368    Instruction Type:      CVI_VA
369    Execution Slots:       SLOT0123
370    ========================================================================== */
371 
372 #define Q6_Vh_vadd_VhVh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhsat)
373 #endif /* __HEXAGON_ARCH___ >= 60 */
374 
375 #if __HVX_ARCH__ >= 60
376 /* ==========================================================================
377    Assembly Syntax:       Vdd32.h=vadd(Vuu32.h,Vvv32.h):sat
378    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vadd_WhWh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
379    Instruction Type:      CVI_VA_DV
380    Execution Slots:       SLOT0123
381    ========================================================================== */
382 
383 #define Q6_Wh_vadd_WhWh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhsat_dv)
384 #endif /* __HEXAGON_ARCH___ >= 60 */
385 
386 #if __HVX_ARCH__ >= 60
387 /* ==========================================================================
388    Assembly Syntax:       Vdd32.w=vadd(Vu32.h,Vv32.h)
389    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_VhVh(HVX_Vector Vu, HVX_Vector Vv)
390    Instruction Type:      CVI_VX_DV
391    Execution Slots:       SLOT23
392    ========================================================================== */
393 
394 #define Q6_Ww_vadd_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhw)
395 #endif /* __HEXAGON_ARCH___ >= 60 */
396 
397 #if __HVX_ARCH__ >= 60
398 /* ==========================================================================
399    Assembly Syntax:       Vdd32.h=vadd(Vu32.ub,Vv32.ub)
400    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vadd_VubVub(HVX_Vector Vu, HVX_Vector Vv)
401    Instruction Type:      CVI_VX_DV
402    Execution Slots:       SLOT23
403    ========================================================================== */
404 
405 #define Q6_Wh_vadd_VubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubh)
406 #endif /* __HEXAGON_ARCH___ >= 60 */
407 
408 #if __HVX_ARCH__ >= 60
409 /* ==========================================================================
410    Assembly Syntax:       Vd32.ub=vadd(Vu32.ub,Vv32.ub):sat
411    C Intrinsic Prototype: HVX_Vector Q6_Vub_vadd_VubVub_sat(HVX_Vector Vu, HVX_Vector Vv)
412    Instruction Type:      CVI_VA
413    Execution Slots:       SLOT0123
414    ========================================================================== */
415 
416 #define Q6_Vub_vadd_VubVub_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubsat)
417 #endif /* __HEXAGON_ARCH___ >= 60 */
418 
419 #if __HVX_ARCH__ >= 60
420 /* ==========================================================================
421    Assembly Syntax:       Vdd32.ub=vadd(Vuu32.ub,Vvv32.ub):sat
422    C Intrinsic Prototype: HVX_VectorPair Q6_Wub_vadd_WubWub_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
423    Instruction Type:      CVI_VA_DV
424    Execution Slots:       SLOT0123
425    ========================================================================== */
426 
427 #define Q6_Wub_vadd_WubWub_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubsat_dv)
428 #endif /* __HEXAGON_ARCH___ >= 60 */
429 
430 #if __HVX_ARCH__ >= 60
431 /* ==========================================================================
432    Assembly Syntax:       Vd32.uh=vadd(Vu32.uh,Vv32.uh):sat
433    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vadd_VuhVuh_sat(HVX_Vector Vu, HVX_Vector Vv)
434    Instruction Type:      CVI_VA
435    Execution Slots:       SLOT0123
436    ========================================================================== */
437 
438 #define Q6_Vuh_vadd_VuhVuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhsat)
439 #endif /* __HEXAGON_ARCH___ >= 60 */
440 
441 #if __HVX_ARCH__ >= 60
442 /* ==========================================================================
443    Assembly Syntax:       Vdd32.uh=vadd(Vuu32.uh,Vvv32.uh):sat
444    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vadd_WuhWuh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
445    Instruction Type:      CVI_VA_DV
446    Execution Slots:       SLOT0123
447    ========================================================================== */
448 
449 #define Q6_Wuh_vadd_WuhWuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhsat_dv)
450 #endif /* __HEXAGON_ARCH___ >= 60 */
451 
452 #if __HVX_ARCH__ >= 60
453 /* ==========================================================================
454    Assembly Syntax:       Vdd32.w=vadd(Vu32.uh,Vv32.uh)
455    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
456    Instruction Type:      CVI_VX_DV
457    Execution Slots:       SLOT23
458    ========================================================================== */
459 
460 #define Q6_Ww_vadd_VuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhw)
461 #endif /* __HEXAGON_ARCH___ >= 60 */
462 
463 #if __HVX_ARCH__ >= 60
464 /* ==========================================================================
465    Assembly Syntax:       Vd32.w=vadd(Vu32.w,Vv32.w)
466    C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_VwVw(HVX_Vector Vu, HVX_Vector Vv)
467    Instruction Type:      CVI_VA
468    Execution Slots:       SLOT0123
469    ========================================================================== */
470 
471 #define Q6_Vw_vadd_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddw)
472 #endif /* __HEXAGON_ARCH___ >= 60 */
473 
474 #if __HVX_ARCH__ >= 60
475 /* ==========================================================================
476    Assembly Syntax:       Vdd32.w=vadd(Vuu32.w,Vvv32.w)
477    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_WwWw(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
478    Instruction Type:      CVI_VA_DV
479    Execution Slots:       SLOT0123
480    ========================================================================== */
481 
482 #define Q6_Ww_vadd_WwWw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddw_dv)
483 #endif /* __HEXAGON_ARCH___ >= 60 */
484 
485 #if __HVX_ARCH__ >= 60
486 /* ==========================================================================
487    Assembly Syntax:       if (!Qv4) Vx32.w+=Vu32.w
488    C Intrinsic Prototype: HVX_Vector Q6_Vw_condacc_QnVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
489    Instruction Type:      CVI_VA
490    Execution Slots:       SLOT0123
491    ========================================================================== */
492 
493 #define Q6_Vw_condacc_QnVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwnq)
494 #endif /* __HEXAGON_ARCH___ >= 60 */
495 
496 #if __HVX_ARCH__ >= 60
497 /* ==========================================================================
498    Assembly Syntax:       if (Qv4) Vx32.w+=Vu32.w
499    C Intrinsic Prototype: HVX_Vector Q6_Vw_condacc_QVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
500    Instruction Type:      CVI_VA
501    Execution Slots:       SLOT0123
502    ========================================================================== */
503 
504 #define Q6_Vw_condacc_QVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwq)
505 #endif /* __HEXAGON_ARCH___ >= 60 */
506 
507 #if __HVX_ARCH__ >= 60
508 /* ==========================================================================
509    Assembly Syntax:       Vd32.w=vadd(Vu32.w,Vv32.w):sat
510    C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
511    Instruction Type:      CVI_VA
512    Execution Slots:       SLOT0123
513    ========================================================================== */
514 
515 #define Q6_Vw_vadd_VwVw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwsat)
516 #endif /* __HEXAGON_ARCH___ >= 60 */
517 
518 #if __HVX_ARCH__ >= 60
519 /* ==========================================================================
520    Assembly Syntax:       Vdd32.w=vadd(Vuu32.w,Vvv32.w):sat
521    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_WwWw_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
522    Instruction Type:      CVI_VA_DV
523    Execution Slots:       SLOT0123
524    ========================================================================== */
525 
526 #define Q6_Ww_vadd_WwWw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwsat_dv)
527 #endif /* __HEXAGON_ARCH___ >= 60 */
528 
529 #if __HVX_ARCH__ >= 60
530 /* ==========================================================================
531    Assembly Syntax:       Vd32=valign(Vu32,Vv32,Rt8)
532    C Intrinsic Prototype: HVX_Vector Q6_V_valign_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
533    Instruction Type:      CVI_VP
534    Execution Slots:       SLOT0123
535    ========================================================================== */
536 
537 #define Q6_V_valign_VVR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_valignb)
538 #endif /* __HEXAGON_ARCH___ >= 60 */
539 
540 #if __HVX_ARCH__ >= 60
541 /* ==========================================================================
542    Assembly Syntax:       Vd32=valign(Vu32,Vv32,#u3)
543    C Intrinsic Prototype: HVX_Vector Q6_V_valign_VVI(HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
544    Instruction Type:      CVI_VP
545    Execution Slots:       SLOT0123
546    ========================================================================== */
547 
548 #define Q6_V_valign_VVI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_valignbi)
549 #endif /* __HEXAGON_ARCH___ >= 60 */
550 
551 #if __HVX_ARCH__ >= 60
552 /* ==========================================================================
553    Assembly Syntax:       Vd32=vand(Vu32,Vv32)
554    C Intrinsic Prototype: HVX_Vector Q6_V_vand_VV(HVX_Vector Vu, HVX_Vector Vv)
555    Instruction Type:      CVI_VA
556    Execution Slots:       SLOT0123
557    ========================================================================== */
558 
559 #define Q6_V_vand_VV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vand)
560 #endif /* __HEXAGON_ARCH___ >= 60 */
561 
562 #if __HVX_ARCH__ >= 60
563 /* ==========================================================================
564    Assembly Syntax:       Vd32=vand(Qu4,Rt32)
565    C Intrinsic Prototype: HVX_Vector Q6_V_vand_QR(HVX_VectorPred Qu, Word32 Rt)
566    Instruction Type:      CVI_VX_LATE
567    Execution Slots:       SLOT23
568    ========================================================================== */
569 
570 #define Q6_V_vand_QR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)
571 #endif /* __HEXAGON_ARCH___ >= 60 */
572 
573 #if __HVX_ARCH__ >= 60
574 /* ==========================================================================
575    Assembly Syntax:       Vx32|=vand(Qu4,Rt32)
576    C Intrinsic Prototype: HVX_Vector Q6_V_vandor_VQR(HVX_Vector Vx, HVX_VectorPred Qu, Word32 Rt)
577    Instruction Type:      CVI_VX_LATE
578    Execution Slots:       SLOT23
579    ========================================================================== */
580 
581 #define Q6_V_vandor_VQR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt_acc)
582 #endif /* __HEXAGON_ARCH___ >= 60 */
583 
584 #if __HVX_ARCH__ >= 60
585 /* ==========================================================================
586    Assembly Syntax:       Qd4=vand(Vu32,Rt32)
587    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vand_VR(HVX_Vector Vu, Word32 Rt)
588    Instruction Type:      CVI_VX_LATE
589    Execution Slots:       SLOT23
590    ========================================================================== */
591 
592 #define Q6_Q_vand_VR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)
593 #endif /* __HEXAGON_ARCH___ >= 60 */
594 
595 #if __HVX_ARCH__ >= 60
596 /* ==========================================================================
597    Assembly Syntax:       Qx4|=vand(Vu32,Rt32)
598    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vandor_QVR(HVX_VectorPred Qx, HVX_Vector Vu, Word32 Rt)
599    Instruction Type:      CVI_VX_LATE
600    Execution Slots:       SLOT23
601    ========================================================================== */
602 
603 #define Q6_Q_vandor_QVR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt_acc)
604 #endif /* __HEXAGON_ARCH___ >= 60 */
605 
606 #if __HVX_ARCH__ >= 60
607 /* ==========================================================================
608    Assembly Syntax:       Vd32.h=vasl(Vu32.h,Rt32)
609    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasl_VhR(HVX_Vector Vu, Word32 Rt)
610    Instruction Type:      CVI_VS
611    Execution Slots:       SLOT0123
612    ========================================================================== */
613 
614 #define Q6_Vh_vasl_VhR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslh)
615 #endif /* __HEXAGON_ARCH___ >= 60 */
616 
617 #if __HVX_ARCH__ >= 60
618 /* ==========================================================================
619    Assembly Syntax:       Vd32.h=vasl(Vu32.h,Vv32.h)
620    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasl_VhVh(HVX_Vector Vu, HVX_Vector Vv)
621    Instruction Type:      CVI_VS
622    Execution Slots:       SLOT0123
623    ========================================================================== */
624 
625 #define Q6_Vh_vasl_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslhv)
626 #endif /* __HEXAGON_ARCH___ >= 60 */
627 
628 #if __HVX_ARCH__ >= 60
629 /* ==========================================================================
630    Assembly Syntax:       Vd32.w=vasl(Vu32.w,Rt32)
631    C Intrinsic Prototype: HVX_Vector Q6_Vw_vasl_VwR(HVX_Vector Vu, Word32 Rt)
632    Instruction Type:      CVI_VS
633    Execution Slots:       SLOT0123
634    ========================================================================== */
635 
636 #define Q6_Vw_vasl_VwR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslw)
637 #endif /* __HEXAGON_ARCH___ >= 60 */
638 
639 #if __HVX_ARCH__ >= 60
640 /* ==========================================================================
641    Assembly Syntax:       Vx32.w+=vasl(Vu32.w,Rt32)
642    C Intrinsic Prototype: HVX_Vector Q6_Vw_vaslacc_VwVwR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
643    Instruction Type:      CVI_VS
644    Execution Slots:       SLOT0123
645    ========================================================================== */
646 
647 #define Q6_Vw_vaslacc_VwVwR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslw_acc)
648 #endif /* __HEXAGON_ARCH___ >= 60 */
649 
650 #if __HVX_ARCH__ >= 60
651 /* ==========================================================================
652    Assembly Syntax:       Vd32.w=vasl(Vu32.w,Vv32.w)
653    C Intrinsic Prototype: HVX_Vector Q6_Vw_vasl_VwVw(HVX_Vector Vu, HVX_Vector Vv)
654    Instruction Type:      CVI_VS
655    Execution Slots:       SLOT0123
656    ========================================================================== */
657 
658 #define Q6_Vw_vasl_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslwv)
659 #endif /* __HEXAGON_ARCH___ >= 60 */
660 
661 #if __HVX_ARCH__ >= 60
662 /* ==========================================================================
663    Assembly Syntax:       Vd32.h=vasr(Vu32.h,Rt32)
664    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VhR(HVX_Vector Vu, Word32 Rt)
665    Instruction Type:      CVI_VS
666    Execution Slots:       SLOT0123
667    ========================================================================== */
668 
669 #define Q6_Vh_vasr_VhR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrh)
670 #endif /* __HEXAGON_ARCH___ >= 60 */
671 
672 #if __HVX_ARCH__ >= 60
673 /* ==========================================================================
674    Assembly Syntax:       Vd32.b=vasr(Vu32.h,Vv32.h,Rt8):rnd:sat
675    C Intrinsic Prototype: HVX_Vector Q6_Vb_vasr_VhVhR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
676    Instruction Type:      CVI_VS
677    Execution Slots:       SLOT0123
678    ========================================================================== */
679 
680 #define Q6_Vb_vasr_VhVhR_rnd_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhbrndsat)
681 #endif /* __HEXAGON_ARCH___ >= 60 */
682 
683 #if __HVX_ARCH__ >= 60
684 /* ==========================================================================
685    Assembly Syntax:       Vd32.ub=vasr(Vu32.h,Vv32.h,Rt8):rnd:sat
686    C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_VhVhR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
687    Instruction Type:      CVI_VS
688    Execution Slots:       SLOT0123
689    ========================================================================== */
690 
691 #define Q6_Vub_vasr_VhVhR_rnd_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhubrndsat)
692 #endif /* __HEXAGON_ARCH___ >= 60 */
693 
694 #if __HVX_ARCH__ >= 60
695 /* ==========================================================================
696    Assembly Syntax:       Vd32.ub=vasr(Vu32.h,Vv32.h,Rt8):sat
697    C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_VhVhR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
698    Instruction Type:      CVI_VS
699    Execution Slots:       SLOT0123
700    ========================================================================== */
701 
702 #define Q6_Vub_vasr_VhVhR_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhubsat)
703 #endif /* __HEXAGON_ARCH___ >= 60 */
704 
705 #if __HVX_ARCH__ >= 60
706 /* ==========================================================================
707    Assembly Syntax:       Vd32.h=vasr(Vu32.h,Vv32.h)
708    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VhVh(HVX_Vector Vu, HVX_Vector Vv)
709    Instruction Type:      CVI_VS
710    Execution Slots:       SLOT0123
711    ========================================================================== */
712 
713 #define Q6_Vh_vasr_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhv)
714 #endif /* __HEXAGON_ARCH___ >= 60 */
715 
716 #if __HVX_ARCH__ >= 60
717 /* ==========================================================================
718    Assembly Syntax:       Vd32.w=vasr(Vu32.w,Rt32)
719    C Intrinsic Prototype: HVX_Vector Q6_Vw_vasr_VwR(HVX_Vector Vu, Word32 Rt)
720    Instruction Type:      CVI_VS
721    Execution Slots:       SLOT0123
722    ========================================================================== */
723 
724 #define Q6_Vw_vasr_VwR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrw)
725 #endif /* __HEXAGON_ARCH___ >= 60 */
726 
727 #if __HVX_ARCH__ >= 60
728 /* ==========================================================================
729    Assembly Syntax:       Vx32.w+=vasr(Vu32.w,Rt32)
730    C Intrinsic Prototype: HVX_Vector Q6_Vw_vasracc_VwVwR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
731    Instruction Type:      CVI_VS
732    Execution Slots:       SLOT0123
733    ========================================================================== */
734 
735 #define Q6_Vw_vasracc_VwVwR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrw_acc)
736 #endif /* __HEXAGON_ARCH___ >= 60 */
737 
738 #if __HVX_ARCH__ >= 60
739 /* ==========================================================================
740    Assembly Syntax:       Vd32.h=vasr(Vu32.w,Vv32.w,Rt8)
741    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VwVwR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
742    Instruction Type:      CVI_VS
743    Execution Slots:       SLOT0123
744    ========================================================================== */
745 
746 #define Q6_Vh_vasr_VwVwR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwh)
747 #endif /* __HEXAGON_ARCH___ >= 60 */
748 
749 #if __HVX_ARCH__ >= 60
750 /* ==========================================================================
751    Assembly Syntax:       Vd32.h=vasr(Vu32.w,Vv32.w,Rt8):rnd:sat
752    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VwVwR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
753    Instruction Type:      CVI_VS
754    Execution Slots:       SLOT0123
755    ========================================================================== */
756 
757 #define Q6_Vh_vasr_VwVwR_rnd_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwhrndsat)
758 #endif /* __HEXAGON_ARCH___ >= 60 */
759 
760 #if __HVX_ARCH__ >= 60
761 /* ==========================================================================
762    Assembly Syntax:       Vd32.h=vasr(Vu32.w,Vv32.w,Rt8):sat
763    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VwVwR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
764    Instruction Type:      CVI_VS
765    Execution Slots:       SLOT0123
766    ========================================================================== */
767 
768 #define Q6_Vh_vasr_VwVwR_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwhsat)
769 #endif /* __HEXAGON_ARCH___ >= 60 */
770 
771 #if __HVX_ARCH__ >= 60
772 /* ==========================================================================
773    Assembly Syntax:       Vd32.uh=vasr(Vu32.w,Vv32.w,Rt8):sat
774    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_VwVwR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
775    Instruction Type:      CVI_VS
776    Execution Slots:       SLOT0123
777    ========================================================================== */
778 
779 #define Q6_Vuh_vasr_VwVwR_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwuhsat)
780 #endif /* __HEXAGON_ARCH___ >= 60 */
781 
782 #if __HVX_ARCH__ >= 60
783 /* ==========================================================================
784    Assembly Syntax:       Vd32.w=vasr(Vu32.w,Vv32.w)
785    C Intrinsic Prototype: HVX_Vector Q6_Vw_vasr_VwVw(HVX_Vector Vu, HVX_Vector Vv)
786    Instruction Type:      CVI_VS
787    Execution Slots:       SLOT0123
788    ========================================================================== */
789 
790 #define Q6_Vw_vasr_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwv)
791 #endif /* __HEXAGON_ARCH___ >= 60 */
792 
793 #if __HVX_ARCH__ >= 60
794 /* ==========================================================================
795    Assembly Syntax:       Vd32=Vu32
796    C Intrinsic Prototype: HVX_Vector Q6_V_equals_V(HVX_Vector Vu)
797    Instruction Type:      CVI_VA
798    Execution Slots:       SLOT0123
799    ========================================================================== */
800 
801 #define Q6_V_equals_V __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vassign)
802 #endif /* __HEXAGON_ARCH___ >= 60 */
803 
804 #if __HVX_ARCH__ >= 60
805 /* ==========================================================================
806    Assembly Syntax:       Vdd32=Vuu32
807    C Intrinsic Prototype: HVX_VectorPair Q6_W_equals_W(HVX_VectorPair Vuu)
808    Instruction Type:      CVI_VA_DV
809    Execution Slots:       SLOT0123
810    ========================================================================== */
811 
812 #define Q6_W_equals_W __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vassignp)
813 #endif /* __HEXAGON_ARCH___ >= 60 */
814 
815 #if __HVX_ARCH__ >= 60
816 /* ==========================================================================
817    Assembly Syntax:       Vd32.h=vavg(Vu32.h,Vv32.h)
818    C Intrinsic Prototype: HVX_Vector Q6_Vh_vavg_VhVh(HVX_Vector Vu, HVX_Vector Vv)
819    Instruction Type:      CVI_VA
820    Execution Slots:       SLOT0123
821    ========================================================================== */
822 
823 #define Q6_Vh_vavg_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgh)
824 #endif /* __HEXAGON_ARCH___ >= 60 */
825 
826 #if __HVX_ARCH__ >= 60
827 /* ==========================================================================
828    Assembly Syntax:       Vd32.h=vavg(Vu32.h,Vv32.h):rnd
829    C Intrinsic Prototype: HVX_Vector Q6_Vh_vavg_VhVh_rnd(HVX_Vector Vu, HVX_Vector Vv)
830    Instruction Type:      CVI_VA
831    Execution Slots:       SLOT0123
832    ========================================================================== */
833 
834 #define Q6_Vh_vavg_VhVh_rnd __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavghrnd)
835 #endif /* __HEXAGON_ARCH___ >= 60 */
836 
837 #if __HVX_ARCH__ >= 60
838 /* ==========================================================================
839    Assembly Syntax:       Vd32.ub=vavg(Vu32.ub,Vv32.ub)
840    C Intrinsic Prototype: HVX_Vector Q6_Vub_vavg_VubVub(HVX_Vector Vu, HVX_Vector Vv)
841    Instruction Type:      CVI_VA
842    Execution Slots:       SLOT0123
843    ========================================================================== */
844 
845 #define Q6_Vub_vavg_VubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgub)
846 #endif /* __HEXAGON_ARCH___ >= 60 */
847 
848 #if __HVX_ARCH__ >= 60
849 /* ==========================================================================
850    Assembly Syntax:       Vd32.ub=vavg(Vu32.ub,Vv32.ub):rnd
851    C Intrinsic Prototype: HVX_Vector Q6_Vub_vavg_VubVub_rnd(HVX_Vector Vu, HVX_Vector Vv)
852    Instruction Type:      CVI_VA
853    Execution Slots:       SLOT0123
854    ========================================================================== */
855 
856 #define Q6_Vub_vavg_VubVub_rnd __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgubrnd)
857 #endif /* __HEXAGON_ARCH___ >= 60 */
858 
859 #if __HVX_ARCH__ >= 60
860 /* ==========================================================================
861    Assembly Syntax:       Vd32.uh=vavg(Vu32.uh,Vv32.uh)
862    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vavg_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
863    Instruction Type:      CVI_VA
864    Execution Slots:       SLOT0123
865    ========================================================================== */
866 
867 #define Q6_Vuh_vavg_VuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguh)
868 #endif /* __HEXAGON_ARCH___ >= 60 */
869 
870 #if __HVX_ARCH__ >= 60
871 /* ==========================================================================
872    Assembly Syntax:       Vd32.uh=vavg(Vu32.uh,Vv32.uh):rnd
873    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vavg_VuhVuh_rnd(HVX_Vector Vu, HVX_Vector Vv)
874    Instruction Type:      CVI_VA
875    Execution Slots:       SLOT0123
876    ========================================================================== */
877 
878 #define Q6_Vuh_vavg_VuhVuh_rnd __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguhrnd)
879 #endif /* __HEXAGON_ARCH___ >= 60 */
880 
881 #if __HVX_ARCH__ >= 60
882 /* ==========================================================================
883    Assembly Syntax:       Vd32.w=vavg(Vu32.w,Vv32.w)
884    C Intrinsic Prototype: HVX_Vector Q6_Vw_vavg_VwVw(HVX_Vector Vu, HVX_Vector Vv)
885    Instruction Type:      CVI_VA
886    Execution Slots:       SLOT0123
887    ========================================================================== */
888 
889 #define Q6_Vw_vavg_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgw)
890 #endif /* __HEXAGON_ARCH___ >= 60 */
891 
892 #if __HVX_ARCH__ >= 60
893 /* ==========================================================================
894    Assembly Syntax:       Vd32.w=vavg(Vu32.w,Vv32.w):rnd
895    C Intrinsic Prototype: HVX_Vector Q6_Vw_vavg_VwVw_rnd(HVX_Vector Vu, HVX_Vector Vv)
896    Instruction Type:      CVI_VA
897    Execution Slots:       SLOT0123
898    ========================================================================== */
899 
900 #define Q6_Vw_vavg_VwVw_rnd __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgwrnd)
901 #endif /* __HEXAGON_ARCH___ >= 60 */
902 
903 #if __HVX_ARCH__ >= 60
904 /* ==========================================================================
905    Assembly Syntax:       Vd32.uh=vcl0(Vu32.uh)
906    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vcl0_Vuh(HVX_Vector Vu)
907    Instruction Type:      CVI_VS
908    Execution Slots:       SLOT0123
909    ========================================================================== */
910 
911 #define Q6_Vuh_vcl0_Vuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcl0h)
912 #endif /* __HEXAGON_ARCH___ >= 60 */
913 
914 #if __HVX_ARCH__ >= 60
915 /* ==========================================================================
916    Assembly Syntax:       Vd32.uw=vcl0(Vu32.uw)
917    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vcl0_Vuw(HVX_Vector Vu)
918    Instruction Type:      CVI_VS
919    Execution Slots:       SLOT0123
920    ========================================================================== */
921 
922 #define Q6_Vuw_vcl0_Vuw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcl0w)
923 #endif /* __HEXAGON_ARCH___ >= 60 */
924 
925 #if __HVX_ARCH__ >= 60
926 /* ==========================================================================
927    Assembly Syntax:       Vdd32=vcombine(Vu32,Vv32)
928    C Intrinsic Prototype: HVX_VectorPair Q6_W_vcombine_VV(HVX_Vector Vu, HVX_Vector Vv)
929    Instruction Type:      CVI_VA_DV
930    Execution Slots:       SLOT0123
931    ========================================================================== */
932 
933 #define Q6_W_vcombine_VV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcombine)
934 #endif /* __HEXAGON_ARCH___ >= 60 */
935 
936 #if __HVX_ARCH__ >= 60
937 /* ==========================================================================
938    Assembly Syntax:       Vd32=#0
939    C Intrinsic Prototype: HVX_Vector Q6_V_vzero()
940    Instruction Type:      CVI_VA
941    Execution Slots:       SLOT0123
942    ========================================================================== */
943 
944 #define Q6_V_vzero __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vd0)
945 #endif /* __HEXAGON_ARCH___ >= 60 */
946 
947 #if __HVX_ARCH__ >= 60
948 /* ==========================================================================
949    Assembly Syntax:       Vd32.b=vdeal(Vu32.b)
950    C Intrinsic Prototype: HVX_Vector Q6_Vb_vdeal_Vb(HVX_Vector Vu)
951    Instruction Type:      CVI_VP
952    Execution Slots:       SLOT0123
953    ========================================================================== */
954 
955 #define Q6_Vb_vdeal_Vb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealb)
956 #endif /* __HEXAGON_ARCH___ >= 60 */
957 
958 #if __HVX_ARCH__ >= 60
959 /* ==========================================================================
960    Assembly Syntax:       Vd32.b=vdeale(Vu32.b,Vv32.b)
961    C Intrinsic Prototype: HVX_Vector Q6_Vb_vdeale_VbVb(HVX_Vector Vu, HVX_Vector Vv)
962    Instruction Type:      CVI_VP
963    Execution Slots:       SLOT0123
964    ========================================================================== */
965 
966 #define Q6_Vb_vdeale_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealb4w)
967 #endif /* __HEXAGON_ARCH___ >= 60 */
968 
969 #if __HVX_ARCH__ >= 60
970 /* ==========================================================================
971    Assembly Syntax:       Vd32.h=vdeal(Vu32.h)
972    C Intrinsic Prototype: HVX_Vector Q6_Vh_vdeal_Vh(HVX_Vector Vu)
973    Instruction Type:      CVI_VP
974    Execution Slots:       SLOT0123
975    ========================================================================== */
976 
977 #define Q6_Vh_vdeal_Vh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealh)
978 #endif /* __HEXAGON_ARCH___ >= 60 */
979 
980 #if __HVX_ARCH__ >= 60
981 /* ==========================================================================
982    Assembly Syntax:       Vdd32=vdeal(Vu32,Vv32,Rt8)
983    C Intrinsic Prototype: HVX_VectorPair Q6_W_vdeal_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
984    Instruction Type:      CVI_VP_VS
985    Execution Slots:       SLOT0123
986    ========================================================================== */
987 
988 #define Q6_W_vdeal_VVR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealvdd)
989 #endif /* __HEXAGON_ARCH___ >= 60 */
990 
991 #if __HVX_ARCH__ >= 60
992 /* ==========================================================================
993    Assembly Syntax:       Vd32=vdelta(Vu32,Vv32)
994    C Intrinsic Prototype: HVX_Vector Q6_V_vdelta_VV(HVX_Vector Vu, HVX_Vector Vv)
995    Instruction Type:      CVI_VP
996    Execution Slots:       SLOT0123
997    ========================================================================== */
998 
999 #define Q6_V_vdelta_VV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdelta)
1000 #endif /* __HEXAGON_ARCH___ >= 60 */
1001 
1002 #if __HVX_ARCH__ >= 60
1003 /* ==========================================================================
1004    Assembly Syntax:       Vd32.h=vdmpy(Vu32.ub,Rt32.b)
1005    C Intrinsic Prototype: HVX_Vector Q6_Vh_vdmpy_VubRb(HVX_Vector Vu, Word32 Rt)
1006    Instruction Type:      CVI_VX
1007    Execution Slots:       SLOT23
1008    ========================================================================== */
1009 
1010 #define Q6_Vh_vdmpy_VubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus)
1011 #endif /* __HEXAGON_ARCH___ >= 60 */
1012 
1013 #if __HVX_ARCH__ >= 60
1014 /* ==========================================================================
1015    Assembly Syntax:       Vx32.h+=vdmpy(Vu32.ub,Rt32.b)
1016    C Intrinsic Prototype: HVX_Vector Q6_Vh_vdmpyacc_VhVubRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
1017    Instruction Type:      CVI_VX
1018    Execution Slots:       SLOT23
1019    ========================================================================== */
1020 
1021 #define Q6_Vh_vdmpyacc_VhVubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus_acc)
1022 #endif /* __HEXAGON_ARCH___ >= 60 */
1023 
1024 #if __HVX_ARCH__ >= 60
1025 /* ==========================================================================
1026    Assembly Syntax:       Vdd32.h=vdmpy(Vuu32.ub,Rt32.b)
1027    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vdmpy_WubRb(HVX_VectorPair Vuu, Word32 Rt)
1028    Instruction Type:      CVI_VX_DV
1029    Execution Slots:       SLOT23
1030    ========================================================================== */
1031 
1032 #define Q6_Wh_vdmpy_WubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus_dv)
1033 #endif /* __HEXAGON_ARCH___ >= 60 */
1034 
1035 #if __HVX_ARCH__ >= 60
1036 /* ==========================================================================
1037    Assembly Syntax:       Vxx32.h+=vdmpy(Vuu32.ub,Rt32.b)
1038    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vdmpyacc_WhWubRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
1039    Instruction Type:      CVI_VX_DV
1040    Execution Slots:       SLOT23
1041    ========================================================================== */
1042 
1043 #define Q6_Wh_vdmpyacc_WhWubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus_dv_acc)
1044 #endif /* __HEXAGON_ARCH___ >= 60 */
1045 
1046 #if __HVX_ARCH__ >= 60
1047 /* ==========================================================================
1048    Assembly Syntax:       Vd32.w=vdmpy(Vu32.h,Rt32.b)
1049    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhRb(HVX_Vector Vu, Word32 Rt)
1050    Instruction Type:      CVI_VX
1051    Execution Slots:       SLOT23
1052    ========================================================================== */
1053 
1054 #define Q6_Vw_vdmpy_VhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb)
1055 #endif /* __HEXAGON_ARCH___ >= 60 */
1056 
1057 #if __HVX_ARCH__ >= 60
1058 /* ==========================================================================
1059    Assembly Syntax:       Vx32.w+=vdmpy(Vu32.h,Rt32.b)
1060    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
1061    Instruction Type:      CVI_VX
1062    Execution Slots:       SLOT23
1063    ========================================================================== */
1064 
1065 #define Q6_Vw_vdmpyacc_VwVhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb_acc)
1066 #endif /* __HEXAGON_ARCH___ >= 60 */
1067 
1068 #if __HVX_ARCH__ >= 60
1069 /* ==========================================================================
1070    Assembly Syntax:       Vdd32.w=vdmpy(Vuu32.h,Rt32.b)
1071    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vdmpy_WhRb(HVX_VectorPair Vuu, Word32 Rt)
1072    Instruction Type:      CVI_VX_DV
1073    Execution Slots:       SLOT23
1074    ========================================================================== */
1075 
1076 #define Q6_Ww_vdmpy_WhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb_dv)
1077 #endif /* __HEXAGON_ARCH___ >= 60 */
1078 
1079 #if __HVX_ARCH__ >= 60
1080 /* ==========================================================================
1081    Assembly Syntax:       Vxx32.w+=vdmpy(Vuu32.h,Rt32.b)
1082    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vdmpyacc_WwWhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
1083    Instruction Type:      CVI_VX_DV
1084    Execution Slots:       SLOT23
1085    ========================================================================== */
1086 
1087 #define Q6_Ww_vdmpyacc_WwWhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb_dv_acc)
1088 #endif /* __HEXAGON_ARCH___ >= 60 */
1089 
1090 #if __HVX_ARCH__ >= 60
1091 /* ==========================================================================
1092    Assembly Syntax:       Vd32.w=vdmpy(Vuu32.h,Rt32.h):sat
1093    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_WhRh_sat(HVX_VectorPair Vuu, Word32 Rt)
1094    Instruction Type:      CVI_VX_DV
1095    Execution Slots:       SLOT23
1096    ========================================================================== */
1097 
1098 #define Q6_Vw_vdmpy_WhRh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhisat)
1099 #endif /* __HEXAGON_ARCH___ >= 60 */
1100 
1101 #if __HVX_ARCH__ >= 60
1102 /* ==========================================================================
1103    Assembly Syntax:       Vx32.w+=vdmpy(Vuu32.h,Rt32.h):sat
1104    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwWhRh_sat(HVX_Vector Vx, HVX_VectorPair Vuu, Word32 Rt)
1105    Instruction Type:      CVI_VX_DV
1106    Execution Slots:       SLOT23
1107    ========================================================================== */
1108 
1109 #define Q6_Vw_vdmpyacc_VwWhRh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhisat_acc)
1110 #endif /* __HEXAGON_ARCH___ >= 60 */
1111 
1112 #if __HVX_ARCH__ >= 60
1113 /* ==========================================================================
1114    Assembly Syntax:       Vd32.w=vdmpy(Vu32.h,Rt32.h):sat
1115    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhRh_sat(HVX_Vector Vu, Word32 Rt)
1116    Instruction Type:      CVI_VX_DV
1117    Execution Slots:       SLOT23
1118    ========================================================================== */
1119 
1120 #define Q6_Vw_vdmpy_VhRh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsat)
1121 #endif /* __HEXAGON_ARCH___ >= 60 */
1122 
1123 #if __HVX_ARCH__ >= 60
1124 /* ==========================================================================
1125    Assembly Syntax:       Vx32.w+=vdmpy(Vu32.h,Rt32.h):sat
1126    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhRh_sat(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
1127    Instruction Type:      CVI_VX_DV
1128    Execution Slots:       SLOT23
1129    ========================================================================== */
1130 
1131 #define Q6_Vw_vdmpyacc_VwVhRh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsat_acc)
1132 #endif /* __HEXAGON_ARCH___ >= 60 */
1133 
1134 #if __HVX_ARCH__ >= 60
1135 /* ==========================================================================
1136    Assembly Syntax:       Vd32.w=vdmpy(Vuu32.h,Rt32.uh,#1):sat
1137    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_WhRuh_sat(HVX_VectorPair Vuu, Word32 Rt)
1138    Instruction Type:      CVI_VX_DV
1139    Execution Slots:       SLOT23
1140    ========================================================================== */
1141 
1142 #define Q6_Vw_vdmpy_WhRuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsuisat)
1143 #endif /* __HEXAGON_ARCH___ >= 60 */
1144 
1145 #if __HVX_ARCH__ >= 60
1146 /* ==========================================================================
1147    Assembly Syntax:       Vx32.w+=vdmpy(Vuu32.h,Rt32.uh,#1):sat
1148    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwWhRuh_sat(HVX_Vector Vx, HVX_VectorPair Vuu, Word32 Rt)
1149    Instruction Type:      CVI_VX_DV
1150    Execution Slots:       SLOT23
1151    ========================================================================== */
1152 
1153 #define Q6_Vw_vdmpyacc_VwWhRuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsuisat_acc)
1154 #endif /* __HEXAGON_ARCH___ >= 60 */
1155 
1156 #if __HVX_ARCH__ >= 60
1157 /* ==========================================================================
1158    Assembly Syntax:       Vd32.w=vdmpy(Vu32.h,Rt32.uh):sat
1159    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhRuh_sat(HVX_Vector Vu, Word32 Rt)
1160    Instruction Type:      CVI_VX_DV
1161    Execution Slots:       SLOT23
1162    ========================================================================== */
1163 
1164 #define Q6_Vw_vdmpy_VhRuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsusat)
1165 #endif /* __HEXAGON_ARCH___ >= 60 */
1166 
1167 #if __HVX_ARCH__ >= 60
1168 /* ==========================================================================
1169    Assembly Syntax:       Vx32.w+=vdmpy(Vu32.h,Rt32.uh):sat
1170    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhRuh_sat(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
1171    Instruction Type:      CVI_VX_DV
1172    Execution Slots:       SLOT23
1173    ========================================================================== */
1174 
1175 #define Q6_Vw_vdmpyacc_VwVhRuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsusat_acc)
1176 #endif /* __HEXAGON_ARCH___ >= 60 */
1177 
1178 #if __HVX_ARCH__ >= 60
1179 /* ==========================================================================
1180    Assembly Syntax:       Vd32.w=vdmpy(Vu32.h,Vv32.h):sat
1181    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
1182    Instruction Type:      CVI_VX_DV
1183    Execution Slots:       SLOT23
1184    ========================================================================== */
1185 
1186 #define Q6_Vw_vdmpy_VhVh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhvsat)
1187 #endif /* __HEXAGON_ARCH___ >= 60 */
1188 
1189 #if __HVX_ARCH__ >= 60
1190 /* ==========================================================================
1191    Assembly Syntax:       Vx32.w+=vdmpy(Vu32.h,Vv32.h):sat
1192    C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhVh_sat(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
1193    Instruction Type:      CVI_VX_DV
1194    Execution Slots:       SLOT23
1195    ========================================================================== */
1196 
1197 #define Q6_Vw_vdmpyacc_VwVhVh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhvsat_acc)
1198 #endif /* __HEXAGON_ARCH___ >= 60 */
1199 
1200 #if __HVX_ARCH__ >= 60
1201 /* ==========================================================================
1202    Assembly Syntax:       Vdd32.uw=vdsad(Vuu32.uh,Rt32.uh)
1203    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vdsad_WuhRuh(HVX_VectorPair Vuu, Word32 Rt)
1204    Instruction Type:      CVI_VX_DV
1205    Execution Slots:       SLOT23
1206    ========================================================================== */
1207 
1208 #define Q6_Wuw_vdsad_WuhRuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdsaduh)
1209 #endif /* __HEXAGON_ARCH___ >= 60 */
1210 
1211 #if __HVX_ARCH__ >= 60
1212 /* ==========================================================================
1213    Assembly Syntax:       Vxx32.uw+=vdsad(Vuu32.uh,Rt32.uh)
1214    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vdsadacc_WuwWuhRuh(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
1215    Instruction Type:      CVI_VX_DV
1216    Execution Slots:       SLOT23
1217    ========================================================================== */
1218 
1219 #define Q6_Wuw_vdsadacc_WuwWuhRuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdsaduh_acc)
1220 #endif /* __HEXAGON_ARCH___ >= 60 */
1221 
1222 #if __HVX_ARCH__ >= 60
1223 /* ==========================================================================
1224    Assembly Syntax:       Qd4=vcmp.eq(Vu32.b,Vv32.b)
1225    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VbVb(HVX_Vector Vu, HVX_Vector Vv)
1226    Instruction Type:      CVI_VA
1227    Execution Slots:       SLOT0123
1228    ========================================================================== */
1229 
1230 #define Q6_Q_vcmp_eq_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb)
1231 #endif /* __HEXAGON_ARCH___ >= 60 */
1232 
1233 #if __HVX_ARCH__ >= 60
1234 /* ==========================================================================
1235    Assembly Syntax:       Qx4&=vcmp.eq(Vu32.b,Vv32.b)
1236    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1237    Instruction Type:      CVI_VA
1238    Execution Slots:       SLOT0123
1239    ========================================================================== */
1240 
1241 #define Q6_Q_vcmp_eqand_QVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb_and)
1242 #endif /* __HEXAGON_ARCH___ >= 60 */
1243 
1244 #if __HVX_ARCH__ >= 60
1245 /* ==========================================================================
1246    Assembly Syntax:       Qx4|=vcmp.eq(Vu32.b,Vv32.b)
1247    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1248    Instruction Type:      CVI_VA
1249    Execution Slots:       SLOT0123
1250    ========================================================================== */
1251 
1252 #define Q6_Q_vcmp_eqor_QVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb_or)
1253 #endif /* __HEXAGON_ARCH___ >= 60 */
1254 
1255 #if __HVX_ARCH__ >= 60
1256 /* ==========================================================================
1257    Assembly Syntax:       Qx4^=vcmp.eq(Vu32.b,Vv32.b)
1258    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1259    Instruction Type:      CVI_VA
1260    Execution Slots:       SLOT0123
1261    ========================================================================== */
1262 
1263 #define Q6_Q_vcmp_eqxacc_QVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb_xor)
1264 #endif /* __HEXAGON_ARCH___ >= 60 */
1265 
1266 #if __HVX_ARCH__ >= 60
1267 /* ==========================================================================
1268    Assembly Syntax:       Qd4=vcmp.eq(Vu32.h,Vv32.h)
1269    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VhVh(HVX_Vector Vu, HVX_Vector Vv)
1270    Instruction Type:      CVI_VA
1271    Execution Slots:       SLOT0123
1272    ========================================================================== */
1273 
1274 #define Q6_Q_vcmp_eq_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh)
1275 #endif /* __HEXAGON_ARCH___ >= 60 */
1276 
1277 #if __HVX_ARCH__ >= 60
1278 /* ==========================================================================
1279    Assembly Syntax:       Qx4&=vcmp.eq(Vu32.h,Vv32.h)
1280    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1281    Instruction Type:      CVI_VA
1282    Execution Slots:       SLOT0123
1283    ========================================================================== */
1284 
1285 #define Q6_Q_vcmp_eqand_QVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh_and)
1286 #endif /* __HEXAGON_ARCH___ >= 60 */
1287 
1288 #if __HVX_ARCH__ >= 60
1289 /* ==========================================================================
1290    Assembly Syntax:       Qx4|=vcmp.eq(Vu32.h,Vv32.h)
1291    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1292    Instruction Type:      CVI_VA
1293    Execution Slots:       SLOT0123
1294    ========================================================================== */
1295 
1296 #define Q6_Q_vcmp_eqor_QVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh_or)
1297 #endif /* __HEXAGON_ARCH___ >= 60 */
1298 
1299 #if __HVX_ARCH__ >= 60
1300 /* ==========================================================================
1301    Assembly Syntax:       Qx4^=vcmp.eq(Vu32.h,Vv32.h)
1302    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1303    Instruction Type:      CVI_VA
1304    Execution Slots:       SLOT0123
1305    ========================================================================== */
1306 
1307 #define Q6_Q_vcmp_eqxacc_QVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh_xor)
1308 #endif /* __HEXAGON_ARCH___ >= 60 */
1309 
1310 #if __HVX_ARCH__ >= 60
1311 /* ==========================================================================
1312    Assembly Syntax:       Qd4=vcmp.eq(Vu32.w,Vv32.w)
1313    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VwVw(HVX_Vector Vu, HVX_Vector Vv)
1314    Instruction Type:      CVI_VA
1315    Execution Slots:       SLOT0123
1316    ========================================================================== */
1317 
1318 #define Q6_Q_vcmp_eq_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw)
1319 #endif /* __HEXAGON_ARCH___ >= 60 */
1320 
1321 #if __HVX_ARCH__ >= 60
1322 /* ==========================================================================
1323    Assembly Syntax:       Qx4&=vcmp.eq(Vu32.w,Vv32.w)
1324    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1325    Instruction Type:      CVI_VA
1326    Execution Slots:       SLOT0123
1327    ========================================================================== */
1328 
1329 #define Q6_Q_vcmp_eqand_QVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw_and)
1330 #endif /* __HEXAGON_ARCH___ >= 60 */
1331 
1332 #if __HVX_ARCH__ >= 60
1333 /* ==========================================================================
1334    Assembly Syntax:       Qx4|=vcmp.eq(Vu32.w,Vv32.w)
1335    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1336    Instruction Type:      CVI_VA
1337    Execution Slots:       SLOT0123
1338    ========================================================================== */
1339 
1340 #define Q6_Q_vcmp_eqor_QVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw_or)
1341 #endif /* __HEXAGON_ARCH___ >= 60 */
1342 
1343 #if __HVX_ARCH__ >= 60
1344 /* ==========================================================================
1345    Assembly Syntax:       Qx4^=vcmp.eq(Vu32.w,Vv32.w)
1346    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1347    Instruction Type:      CVI_VA
1348    Execution Slots:       SLOT0123
1349    ========================================================================== */
1350 
1351 #define Q6_Q_vcmp_eqxacc_QVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw_xor)
1352 #endif /* __HEXAGON_ARCH___ >= 60 */
1353 
1354 #if __HVX_ARCH__ >= 60
1355 /* ==========================================================================
1356    Assembly Syntax:       Qd4=vcmp.gt(Vu32.b,Vv32.b)
1357    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VbVb(HVX_Vector Vu, HVX_Vector Vv)
1358    Instruction Type:      CVI_VA
1359    Execution Slots:       SLOT0123
1360    ========================================================================== */
1361 
1362 #define Q6_Q_vcmp_gt_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb)
1363 #endif /* __HEXAGON_ARCH___ >= 60 */
1364 
1365 #if __HVX_ARCH__ >= 60
1366 /* ==========================================================================
1367    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.b,Vv32.b)
1368    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1369    Instruction Type:      CVI_VA
1370    Execution Slots:       SLOT0123
1371    ========================================================================== */
1372 
1373 #define Q6_Q_vcmp_gtand_QVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb_and)
1374 #endif /* __HEXAGON_ARCH___ >= 60 */
1375 
1376 #if __HVX_ARCH__ >= 60
1377 /* ==========================================================================
1378    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.b,Vv32.b)
1379    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1380    Instruction Type:      CVI_VA
1381    Execution Slots:       SLOT0123
1382    ========================================================================== */
1383 
1384 #define Q6_Q_vcmp_gtor_QVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb_or)
1385 #endif /* __HEXAGON_ARCH___ >= 60 */
1386 
1387 #if __HVX_ARCH__ >= 60
1388 /* ==========================================================================
1389    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.b,Vv32.b)
1390    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1391    Instruction Type:      CVI_VA
1392    Execution Slots:       SLOT0123
1393    ========================================================================== */
1394 
1395 #define Q6_Q_vcmp_gtxacc_QVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb_xor)
1396 #endif /* __HEXAGON_ARCH___ >= 60 */
1397 
1398 #if __HVX_ARCH__ >= 60
1399 /* ==========================================================================
1400    Assembly Syntax:       Qd4=vcmp.gt(Vu32.h,Vv32.h)
1401    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VhVh(HVX_Vector Vu, HVX_Vector Vv)
1402    Instruction Type:      CVI_VA
1403    Execution Slots:       SLOT0123
1404    ========================================================================== */
1405 
1406 #define Q6_Q_vcmp_gt_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth)
1407 #endif /* __HEXAGON_ARCH___ >= 60 */
1408 
1409 #if __HVX_ARCH__ >= 60
1410 /* ==========================================================================
1411    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.h,Vv32.h)
1412    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1413    Instruction Type:      CVI_VA
1414    Execution Slots:       SLOT0123
1415    ========================================================================== */
1416 
1417 #define Q6_Q_vcmp_gtand_QVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth_and)
1418 #endif /* __HEXAGON_ARCH___ >= 60 */
1419 
1420 #if __HVX_ARCH__ >= 60
1421 /* ==========================================================================
1422    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.h,Vv32.h)
1423    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1424    Instruction Type:      CVI_VA
1425    Execution Slots:       SLOT0123
1426    ========================================================================== */
1427 
1428 #define Q6_Q_vcmp_gtor_QVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth_or)
1429 #endif /* __HEXAGON_ARCH___ >= 60 */
1430 
1431 #if __HVX_ARCH__ >= 60
1432 /* ==========================================================================
1433    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.h,Vv32.h)
1434    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1435    Instruction Type:      CVI_VA
1436    Execution Slots:       SLOT0123
1437    ========================================================================== */
1438 
1439 #define Q6_Q_vcmp_gtxacc_QVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth_xor)
1440 #endif /* __HEXAGON_ARCH___ >= 60 */
1441 
1442 #if __HVX_ARCH__ >= 60
1443 /* ==========================================================================
1444    Assembly Syntax:       Qd4=vcmp.gt(Vu32.ub,Vv32.ub)
1445    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VubVub(HVX_Vector Vu, HVX_Vector Vv)
1446    Instruction Type:      CVI_VA
1447    Execution Slots:       SLOT0123
1448    ========================================================================== */
1449 
1450 #define Q6_Q_vcmp_gt_VubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub)
1451 #endif /* __HEXAGON_ARCH___ >= 60 */
1452 
1453 #if __HVX_ARCH__ >= 60
1454 /* ==========================================================================
1455    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.ub,Vv32.ub)
1456    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVubVub(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1457    Instruction Type:      CVI_VA
1458    Execution Slots:       SLOT0123
1459    ========================================================================== */
1460 
1461 #define Q6_Q_vcmp_gtand_QVubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub_and)
1462 #endif /* __HEXAGON_ARCH___ >= 60 */
1463 
1464 #if __HVX_ARCH__ >= 60
1465 /* ==========================================================================
1466    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.ub,Vv32.ub)
1467    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVubVub(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1468    Instruction Type:      CVI_VA
1469    Execution Slots:       SLOT0123
1470    ========================================================================== */
1471 
1472 #define Q6_Q_vcmp_gtor_QVubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub_or)
1473 #endif /* __HEXAGON_ARCH___ >= 60 */
1474 
1475 #if __HVX_ARCH__ >= 60
1476 /* ==========================================================================
1477    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.ub,Vv32.ub)
1478    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVubVub(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1479    Instruction Type:      CVI_VA
1480    Execution Slots:       SLOT0123
1481    ========================================================================== */
1482 
1483 #define Q6_Q_vcmp_gtxacc_QVubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub_xor)
1484 #endif /* __HEXAGON_ARCH___ >= 60 */
1485 
1486 #if __HVX_ARCH__ >= 60
1487 /* ==========================================================================
1488    Assembly Syntax:       Qd4=vcmp.gt(Vu32.uh,Vv32.uh)
1489    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
1490    Instruction Type:      CVI_VA
1491    Execution Slots:       SLOT0123
1492    ========================================================================== */
1493 
1494 #define Q6_Q_vcmp_gt_VuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh)
1495 #endif /* __HEXAGON_ARCH___ >= 60 */
1496 
1497 #if __HVX_ARCH__ >= 60
1498 /* ==========================================================================
1499    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.uh,Vv32.uh)
1500    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVuhVuh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1501    Instruction Type:      CVI_VA
1502    Execution Slots:       SLOT0123
1503    ========================================================================== */
1504 
1505 #define Q6_Q_vcmp_gtand_QVuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh_and)
1506 #endif /* __HEXAGON_ARCH___ >= 60 */
1507 
1508 #if __HVX_ARCH__ >= 60
1509 /* ==========================================================================
1510    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.uh,Vv32.uh)
1511    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVuhVuh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1512    Instruction Type:      CVI_VA
1513    Execution Slots:       SLOT0123
1514    ========================================================================== */
1515 
1516 #define Q6_Q_vcmp_gtor_QVuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh_or)
1517 #endif /* __HEXAGON_ARCH___ >= 60 */
1518 
1519 #if __HVX_ARCH__ >= 60
1520 /* ==========================================================================
1521    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.uh,Vv32.uh)
1522    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVuhVuh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1523    Instruction Type:      CVI_VA
1524    Execution Slots:       SLOT0123
1525    ========================================================================== */
1526 
1527 #define Q6_Q_vcmp_gtxacc_QVuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh_xor)
1528 #endif /* __HEXAGON_ARCH___ >= 60 */
1529 
1530 #if __HVX_ARCH__ >= 60
1531 /* ==========================================================================
1532    Assembly Syntax:       Qd4=vcmp.gt(Vu32.uw,Vv32.uw)
1533    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VuwVuw(HVX_Vector Vu, HVX_Vector Vv)
1534    Instruction Type:      CVI_VA
1535    Execution Slots:       SLOT0123
1536    ========================================================================== */
1537 
1538 #define Q6_Q_vcmp_gt_VuwVuw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw)
1539 #endif /* __HEXAGON_ARCH___ >= 60 */
1540 
1541 #if __HVX_ARCH__ >= 60
1542 /* ==========================================================================
1543    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.uw,Vv32.uw)
1544    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVuwVuw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1545    Instruction Type:      CVI_VA
1546    Execution Slots:       SLOT0123
1547    ========================================================================== */
1548 
1549 #define Q6_Q_vcmp_gtand_QVuwVuw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw_and)
1550 #endif /* __HEXAGON_ARCH___ >= 60 */
1551 
1552 #if __HVX_ARCH__ >= 60
1553 /* ==========================================================================
1554    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.uw,Vv32.uw)
1555    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVuwVuw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1556    Instruction Type:      CVI_VA
1557    Execution Slots:       SLOT0123
1558    ========================================================================== */
1559 
1560 #define Q6_Q_vcmp_gtor_QVuwVuw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw_or)
1561 #endif /* __HEXAGON_ARCH___ >= 60 */
1562 
1563 #if __HVX_ARCH__ >= 60
1564 /* ==========================================================================
1565    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.uw,Vv32.uw)
1566    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVuwVuw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1567    Instruction Type:      CVI_VA
1568    Execution Slots:       SLOT0123
1569    ========================================================================== */
1570 
1571 #define Q6_Q_vcmp_gtxacc_QVuwVuw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw_xor)
1572 #endif /* __HEXAGON_ARCH___ >= 60 */
1573 
1574 #if __HVX_ARCH__ >= 60
1575 /* ==========================================================================
1576    Assembly Syntax:       Qd4=vcmp.gt(Vu32.w,Vv32.w)
1577    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VwVw(HVX_Vector Vu, HVX_Vector Vv)
1578    Instruction Type:      CVI_VA
1579    Execution Slots:       SLOT0123
1580    ========================================================================== */
1581 
1582 #define Q6_Q_vcmp_gt_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw)
1583 #endif /* __HEXAGON_ARCH___ >= 60 */
1584 
1585 #if __HVX_ARCH__ >= 60
1586 /* ==========================================================================
1587    Assembly Syntax:       Qx4&=vcmp.gt(Vu32.w,Vv32.w)
1588    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1589    Instruction Type:      CVI_VA
1590    Execution Slots:       SLOT0123
1591    ========================================================================== */
1592 
1593 #define Q6_Q_vcmp_gtand_QVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw_and)
1594 #endif /* __HEXAGON_ARCH___ >= 60 */
1595 
1596 #if __HVX_ARCH__ >= 60
1597 /* ==========================================================================
1598    Assembly Syntax:       Qx4|=vcmp.gt(Vu32.w,Vv32.w)
1599    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1600    Instruction Type:      CVI_VA
1601    Execution Slots:       SLOT0123
1602    ========================================================================== */
1603 
1604 #define Q6_Q_vcmp_gtor_QVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw_or)
1605 #endif /* __HEXAGON_ARCH___ >= 60 */
1606 
1607 #if __HVX_ARCH__ >= 60
1608 /* ==========================================================================
1609    Assembly Syntax:       Qx4^=vcmp.gt(Vu32.w,Vv32.w)
1610    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
1611    Instruction Type:      CVI_VA
1612    Execution Slots:       SLOT0123
1613    ========================================================================== */
1614 
1615 #define Q6_Q_vcmp_gtxacc_QVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw_xor)
1616 #endif /* __HEXAGON_ARCH___ >= 60 */
1617 
1618 #if __HVX_ARCH__ >= 60
1619 /* ==========================================================================
1620    Assembly Syntax:       Vx32.w=vinsert(Rt32)
1621    C Intrinsic Prototype: HVX_Vector Q6_Vw_vinsert_VwR(HVX_Vector Vx, Word32 Rt)
1622    Instruction Type:      CVI_VX_LATE
1623    Execution Slots:       SLOT23
1624    ========================================================================== */
1625 
1626 #define Q6_Vw_vinsert_VwR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vinsertwr)
1627 #endif /* __HEXAGON_ARCH___ >= 60 */
1628 
1629 #if __HVX_ARCH__ >= 60
1630 /* ==========================================================================
1631    Assembly Syntax:       Vd32=vlalign(Vu32,Vv32,Rt8)
1632    C Intrinsic Prototype: HVX_Vector Q6_V_vlalign_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
1633    Instruction Type:      CVI_VP
1634    Execution Slots:       SLOT0123
1635    ========================================================================== */
1636 
1637 #define Q6_V_vlalign_VVR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlalignb)
1638 #endif /* __HEXAGON_ARCH___ >= 60 */
1639 
1640 #if __HVX_ARCH__ >= 60
1641 /* ==========================================================================
1642    Assembly Syntax:       Vd32=vlalign(Vu32,Vv32,#u3)
1643    C Intrinsic Prototype: HVX_Vector Q6_V_vlalign_VVI(HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
1644    Instruction Type:      CVI_VP
1645    Execution Slots:       SLOT0123
1646    ========================================================================== */
1647 
1648 #define Q6_V_vlalign_VVI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlalignbi)
1649 #endif /* __HEXAGON_ARCH___ >= 60 */
1650 
1651 #if __HVX_ARCH__ >= 60
1652 /* ==========================================================================
1653    Assembly Syntax:       Vd32.uh=vlsr(Vu32.uh,Rt32)
1654    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vlsr_VuhR(HVX_Vector Vu, Word32 Rt)
1655    Instruction Type:      CVI_VS
1656    Execution Slots:       SLOT0123
1657    ========================================================================== */
1658 
1659 #define Q6_Vuh_vlsr_VuhR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrh)
1660 #endif /* __HEXAGON_ARCH___ >= 60 */
1661 
1662 #if __HVX_ARCH__ >= 60
1663 /* ==========================================================================
1664    Assembly Syntax:       Vd32.h=vlsr(Vu32.h,Vv32.h)
1665    C Intrinsic Prototype: HVX_Vector Q6_Vh_vlsr_VhVh(HVX_Vector Vu, HVX_Vector Vv)
1666    Instruction Type:      CVI_VS
1667    Execution Slots:       SLOT0123
1668    ========================================================================== */
1669 
1670 #define Q6_Vh_vlsr_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrhv)
1671 #endif /* __HEXAGON_ARCH___ >= 60 */
1672 
1673 #if __HVX_ARCH__ >= 60
1674 /* ==========================================================================
1675    Assembly Syntax:       Vd32.uw=vlsr(Vu32.uw,Rt32)
1676    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vlsr_VuwR(HVX_Vector Vu, Word32 Rt)
1677    Instruction Type:      CVI_VS
1678    Execution Slots:       SLOT0123
1679    ========================================================================== */
1680 
1681 #define Q6_Vuw_vlsr_VuwR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrw)
1682 #endif /* __HEXAGON_ARCH___ >= 60 */
1683 
1684 #if __HVX_ARCH__ >= 60
1685 /* ==========================================================================
1686    Assembly Syntax:       Vd32.w=vlsr(Vu32.w,Vv32.w)
1687    C Intrinsic Prototype: HVX_Vector Q6_Vw_vlsr_VwVw(HVX_Vector Vu, HVX_Vector Vv)
1688    Instruction Type:      CVI_VS
1689    Execution Slots:       SLOT0123
1690    ========================================================================== */
1691 
1692 #define Q6_Vw_vlsr_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrwv)
1693 #endif /* __HEXAGON_ARCH___ >= 60 */
1694 
1695 #if __HVX_ARCH__ >= 60
1696 /* ==========================================================================
1697    Assembly Syntax:       Vd32.b=vlut32(Vu32.b,Vv32.b,Rt8)
1698    C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32_VbVbR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
1699    Instruction Type:      CVI_VP
1700    Execution Slots:       SLOT0123
1701    ========================================================================== */
1702 
1703 #define Q6_Vb_vlut32_VbVbR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb)
1704 #endif /* __HEXAGON_ARCH___ >= 60 */
1705 
1706 #if __HVX_ARCH__ >= 60
1707 /* ==========================================================================
1708    Assembly Syntax:       Vx32.b|=vlut32(Vu32.b,Vv32.b,Rt8)
1709    C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32or_VbVbVbR(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
1710    Instruction Type:      CVI_VP_VS
1711    Execution Slots:       SLOT0123
1712    ========================================================================== */
1713 
1714 #define Q6_Vb_vlut32or_VbVbVbR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb_oracc)
1715 #endif /* __HEXAGON_ARCH___ >= 60 */
1716 
1717 #if __HVX_ARCH__ >= 60
1718 /* ==========================================================================
1719    Assembly Syntax:       Vdd32.h=vlut16(Vu32.b,Vv32.h,Rt8)
1720    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16_VbVhR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
1721    Instruction Type:      CVI_VP_VS
1722    Execution Slots:       SLOT0123
1723    ========================================================================== */
1724 
1725 #define Q6_Wh_vlut16_VbVhR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh)
1726 #endif /* __HEXAGON_ARCH___ >= 60 */
1727 
1728 #if __HVX_ARCH__ >= 60
1729 /* ==========================================================================
1730    Assembly Syntax:       Vxx32.h|=vlut16(Vu32.b,Vv32.h,Rt8)
1731    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16or_WhVbVhR(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
1732    Instruction Type:      CVI_VP_VS
1733    Execution Slots:       SLOT0123
1734    ========================================================================== */
1735 
1736 #define Q6_Wh_vlut16or_WhVbVhR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh_oracc)
1737 #endif /* __HEXAGON_ARCH___ >= 60 */
1738 
1739 #if __HVX_ARCH__ >= 60
1740 /* ==========================================================================
1741    Assembly Syntax:       Vd32.h=vmax(Vu32.h,Vv32.h)
1742    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmax_VhVh(HVX_Vector Vu, HVX_Vector Vv)
1743    Instruction Type:      CVI_VA
1744    Execution Slots:       SLOT0123
1745    ========================================================================== */
1746 
1747 #define Q6_Vh_vmax_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxh)
1748 #endif /* __HEXAGON_ARCH___ >= 60 */
1749 
1750 #if __HVX_ARCH__ >= 60
1751 /* ==========================================================================
1752    Assembly Syntax:       Vd32.ub=vmax(Vu32.ub,Vv32.ub)
1753    C Intrinsic Prototype: HVX_Vector Q6_Vub_vmax_VubVub(HVX_Vector Vu, HVX_Vector Vv)
1754    Instruction Type:      CVI_VA
1755    Execution Slots:       SLOT0123
1756    ========================================================================== */
1757 
1758 #define Q6_Vub_vmax_VubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxub)
1759 #endif /* __HEXAGON_ARCH___ >= 60 */
1760 
1761 #if __HVX_ARCH__ >= 60
1762 /* ==========================================================================
1763    Assembly Syntax:       Vd32.uh=vmax(Vu32.uh,Vv32.uh)
1764    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vmax_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
1765    Instruction Type:      CVI_VA
1766    Execution Slots:       SLOT0123
1767    ========================================================================== */
1768 
1769 #define Q6_Vuh_vmax_VuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxuh)
1770 #endif /* __HEXAGON_ARCH___ >= 60 */
1771 
1772 #if __HVX_ARCH__ >= 60
1773 /* ==========================================================================
1774    Assembly Syntax:       Vd32.w=vmax(Vu32.w,Vv32.w)
1775    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmax_VwVw(HVX_Vector Vu, HVX_Vector Vv)
1776    Instruction Type:      CVI_VA
1777    Execution Slots:       SLOT0123
1778    ========================================================================== */
1779 
1780 #define Q6_Vw_vmax_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxw)
1781 #endif /* __HEXAGON_ARCH___ >= 60 */
1782 
1783 #if __HVX_ARCH__ >= 60
1784 /* ==========================================================================
1785    Assembly Syntax:       Vd32.h=vmin(Vu32.h,Vv32.h)
1786    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmin_VhVh(HVX_Vector Vu, HVX_Vector Vv)
1787    Instruction Type:      CVI_VA
1788    Execution Slots:       SLOT0123
1789    ========================================================================== */
1790 
1791 #define Q6_Vh_vmin_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminh)
1792 #endif /* __HEXAGON_ARCH___ >= 60 */
1793 
1794 #if __HVX_ARCH__ >= 60
1795 /* ==========================================================================
1796    Assembly Syntax:       Vd32.ub=vmin(Vu32.ub,Vv32.ub)
1797    C Intrinsic Prototype: HVX_Vector Q6_Vub_vmin_VubVub(HVX_Vector Vu, HVX_Vector Vv)
1798    Instruction Type:      CVI_VA
1799    Execution Slots:       SLOT0123
1800    ========================================================================== */
1801 
1802 #define Q6_Vub_vmin_VubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminub)
1803 #endif /* __HEXAGON_ARCH___ >= 60 */
1804 
1805 #if __HVX_ARCH__ >= 60
1806 /* ==========================================================================
1807    Assembly Syntax:       Vd32.uh=vmin(Vu32.uh,Vv32.uh)
1808    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vmin_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
1809    Instruction Type:      CVI_VA
1810    Execution Slots:       SLOT0123
1811    ========================================================================== */
1812 
1813 #define Q6_Vuh_vmin_VuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminuh)
1814 #endif /* __HEXAGON_ARCH___ >= 60 */
1815 
1816 #if __HVX_ARCH__ >= 60
1817 /* ==========================================================================
1818    Assembly Syntax:       Vd32.w=vmin(Vu32.w,Vv32.w)
1819    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmin_VwVw(HVX_Vector Vu, HVX_Vector Vv)
1820    Instruction Type:      CVI_VA
1821    Execution Slots:       SLOT0123
1822    ========================================================================== */
1823 
1824 #define Q6_Vw_vmin_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminw)
1825 #endif /* __HEXAGON_ARCH___ >= 60 */
1826 
1827 #if __HVX_ARCH__ >= 60
1828 /* ==========================================================================
1829    Assembly Syntax:       Vdd32.h=vmpa(Vuu32.ub,Rt32.b)
1830    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubRb(HVX_VectorPair Vuu, Word32 Rt)
1831    Instruction Type:      CVI_VX_DV
1832    Execution Slots:       SLOT23
1833    ========================================================================== */
1834 
1835 #define Q6_Wh_vmpa_WubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabus)
1836 #endif /* __HEXAGON_ARCH___ >= 60 */
1837 
1838 #if __HVX_ARCH__ >= 60
1839 /* ==========================================================================
1840    Assembly Syntax:       Vxx32.h+=vmpa(Vuu32.ub,Rt32.b)
1841    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpaacc_WhWubRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
1842    Instruction Type:      CVI_VX_DV
1843    Execution Slots:       SLOT23
1844    ========================================================================== */
1845 
1846 #define Q6_Wh_vmpaacc_WhWubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabus_acc)
1847 #endif /* __HEXAGON_ARCH___ >= 60 */
1848 
1849 #if __HVX_ARCH__ >= 60
1850 /* ==========================================================================
1851    Assembly Syntax:       Vdd32.h=vmpa(Vuu32.ub,Vvv32.b)
1852    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubWb(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
1853    Instruction Type:      CVI_VX_DV
1854    Execution Slots:       SLOT23
1855    ========================================================================== */
1856 
1857 #define Q6_Wh_vmpa_WubWb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabusv)
1858 #endif /* __HEXAGON_ARCH___ >= 60 */
1859 
1860 #if __HVX_ARCH__ >= 60
1861 /* ==========================================================================
1862    Assembly Syntax:       Vdd32.h=vmpa(Vuu32.ub,Vvv32.ub)
1863    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubWub(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
1864    Instruction Type:      CVI_VX_DV
1865    Execution Slots:       SLOT23
1866    ========================================================================== */
1867 
1868 #define Q6_Wh_vmpa_WubWub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabuuv)
1869 #endif /* __HEXAGON_ARCH___ >= 60 */
1870 
1871 #if __HVX_ARCH__ >= 60
1872 /* ==========================================================================
1873    Assembly Syntax:       Vdd32.w=vmpa(Vuu32.h,Rt32.b)
1874    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpa_WhRb(HVX_VectorPair Vuu, Word32 Rt)
1875    Instruction Type:      CVI_VX_DV
1876    Execution Slots:       SLOT23
1877    ========================================================================== */
1878 
1879 #define Q6_Ww_vmpa_WhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpahb)
1880 #endif /* __HEXAGON_ARCH___ >= 60 */
1881 
1882 #if __HVX_ARCH__ >= 60
1883 /* ==========================================================================
1884    Assembly Syntax:       Vxx32.w+=vmpa(Vuu32.h,Rt32.b)
1885    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpaacc_WwWhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
1886    Instruction Type:      CVI_VX_DV
1887    Execution Slots:       SLOT23
1888    ========================================================================== */
1889 
1890 #define Q6_Ww_vmpaacc_WwWhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpahb_acc)
1891 #endif /* __HEXAGON_ARCH___ >= 60 */
1892 
1893 #if __HVX_ARCH__ >= 60
1894 /* ==========================================================================
1895    Assembly Syntax:       Vdd32.h=vmpy(Vu32.ub,Rt32.b)
1896    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpy_VubRb(HVX_Vector Vu, Word32 Rt)
1897    Instruction Type:      CVI_VX_DV
1898    Execution Slots:       SLOT23
1899    ========================================================================== */
1900 
1901 #define Q6_Wh_vmpy_VubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybus)
1902 #endif /* __HEXAGON_ARCH___ >= 60 */
1903 
1904 #if __HVX_ARCH__ >= 60
1905 /* ==========================================================================
1906    Assembly Syntax:       Vxx32.h+=vmpy(Vu32.ub,Rt32.b)
1907    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpyacc_WhVubRb(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
1908    Instruction Type:      CVI_VX_DV
1909    Execution Slots:       SLOT23
1910    ========================================================================== */
1911 
1912 #define Q6_Wh_vmpyacc_WhVubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybus_acc)
1913 #endif /* __HEXAGON_ARCH___ >= 60 */
1914 
1915 #if __HVX_ARCH__ >= 60
1916 /* ==========================================================================
1917    Assembly Syntax:       Vdd32.h=vmpy(Vu32.ub,Vv32.b)
1918    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpy_VubVb(HVX_Vector Vu, HVX_Vector Vv)
1919    Instruction Type:      CVI_VX_DV
1920    Execution Slots:       SLOT23
1921    ========================================================================== */
1922 
1923 #define Q6_Wh_vmpy_VubVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybusv)
1924 #endif /* __HEXAGON_ARCH___ >= 60 */
1925 
1926 #if __HVX_ARCH__ >= 60
1927 /* ==========================================================================
1928    Assembly Syntax:       Vxx32.h+=vmpy(Vu32.ub,Vv32.b)
1929    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpyacc_WhVubVb(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
1930    Instruction Type:      CVI_VX_DV
1931    Execution Slots:       SLOT23
1932    ========================================================================== */
1933 
1934 #define Q6_Wh_vmpyacc_WhVubVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybusv_acc)
1935 #endif /* __HEXAGON_ARCH___ >= 60 */
1936 
1937 #if __HVX_ARCH__ >= 60
1938 /* ==========================================================================
1939    Assembly Syntax:       Vdd32.h=vmpy(Vu32.b,Vv32.b)
1940    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpy_VbVb(HVX_Vector Vu, HVX_Vector Vv)
1941    Instruction Type:      CVI_VX_DV
1942    Execution Slots:       SLOT23
1943    ========================================================================== */
1944 
1945 #define Q6_Wh_vmpy_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybv)
1946 #endif /* __HEXAGON_ARCH___ >= 60 */
1947 
1948 #if __HVX_ARCH__ >= 60
1949 /* ==========================================================================
1950    Assembly Syntax:       Vxx32.h+=vmpy(Vu32.b,Vv32.b)
1951    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpyacc_WhVbVb(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
1952    Instruction Type:      CVI_VX_DV
1953    Execution Slots:       SLOT23
1954    ========================================================================== */
1955 
1956 #define Q6_Wh_vmpyacc_WhVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybv_acc)
1957 #endif /* __HEXAGON_ARCH___ >= 60 */
1958 
1959 #if __HVX_ARCH__ >= 60
1960 /* ==========================================================================
1961    Assembly Syntax:       Vd32.w=vmpye(Vu32.w,Vv32.uh)
1962    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpye_VwVuh(HVX_Vector Vu, HVX_Vector Vv)
1963    Instruction Type:      CVI_VX_DV
1964    Execution Slots:       SLOT23
1965    ========================================================================== */
1966 
1967 #define Q6_Vw_vmpye_VwVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyewuh)
1968 #endif /* __HEXAGON_ARCH___ >= 60 */
1969 
1970 #if __HVX_ARCH__ >= 60
1971 /* ==========================================================================
1972    Assembly Syntax:       Vdd32.w=vmpy(Vu32.h,Rt32.h)
1973    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpy_VhRh(HVX_Vector Vu, Word32 Rt)
1974    Instruction Type:      CVI_VX_DV
1975    Execution Slots:       SLOT23
1976    ========================================================================== */
1977 
1978 #define Q6_Ww_vmpy_VhRh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyh)
1979 #endif /* __HEXAGON_ARCH___ >= 60 */
1980 
1981 #if __HVX_ARCH__ >= 60
1982 /* ==========================================================================
1983    Assembly Syntax:       Vxx32.w+=vmpy(Vu32.h,Rt32.h):sat
1984    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhRh_sat(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
1985    Instruction Type:      CVI_VX_DV
1986    Execution Slots:       SLOT23
1987    ========================================================================== */
1988 
1989 #define Q6_Ww_vmpyacc_WwVhRh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhsat_acc)
1990 #endif /* __HEXAGON_ARCH___ >= 60 */
1991 
1992 #if __HVX_ARCH__ >= 60
1993 /* ==========================================================================
1994    Assembly Syntax:       Vd32.h=vmpy(Vu32.h,Rt32.h):<<1:rnd:sat
1995    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpy_VhRh_s1_rnd_sat(HVX_Vector Vu, Word32 Rt)
1996    Instruction Type:      CVI_VX_DV
1997    Execution Slots:       SLOT23
1998    ========================================================================== */
1999 
2000 #define Q6_Vh_vmpy_VhRh_s1_rnd_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhsrs)
2001 #endif /* __HEXAGON_ARCH___ >= 60 */
2002 
2003 #if __HVX_ARCH__ >= 60
2004 /* ==========================================================================
2005    Assembly Syntax:       Vd32.h=vmpy(Vu32.h,Rt32.h):<<1:sat
2006    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpy_VhRh_s1_sat(HVX_Vector Vu, Word32 Rt)
2007    Instruction Type:      CVI_VX_DV
2008    Execution Slots:       SLOT23
2009    ========================================================================== */
2010 
2011 #define Q6_Vh_vmpy_VhRh_s1_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhss)
2012 #endif /* __HEXAGON_ARCH___ >= 60 */
2013 
2014 #if __HVX_ARCH__ >= 60
2015 /* ==========================================================================
2016    Assembly Syntax:       Vdd32.w=vmpy(Vu32.h,Vv32.uh)
2017    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpy_VhVuh(HVX_Vector Vu, HVX_Vector Vv)
2018    Instruction Type:      CVI_VX_DV
2019    Execution Slots:       SLOT23
2020    ========================================================================== */
2021 
2022 #define Q6_Ww_vmpy_VhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhus)
2023 #endif /* __HEXAGON_ARCH___ >= 60 */
2024 
2025 #if __HVX_ARCH__ >= 60
2026 /* ==========================================================================
2027    Assembly Syntax:       Vxx32.w+=vmpy(Vu32.h,Vv32.uh)
2028    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhVuh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
2029    Instruction Type:      CVI_VX_DV
2030    Execution Slots:       SLOT23
2031    ========================================================================== */
2032 
2033 #define Q6_Ww_vmpyacc_WwVhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhus_acc)
2034 #endif /* __HEXAGON_ARCH___ >= 60 */
2035 
2036 #if __HVX_ARCH__ >= 60
2037 /* ==========================================================================
2038    Assembly Syntax:       Vdd32.w=vmpy(Vu32.h,Vv32.h)
2039    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpy_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2040    Instruction Type:      CVI_VX_DV
2041    Execution Slots:       SLOT23
2042    ========================================================================== */
2043 
2044 #define Q6_Ww_vmpy_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhv)
2045 #endif /* __HEXAGON_ARCH___ >= 60 */
2046 
2047 #if __HVX_ARCH__ >= 60
2048 /* ==========================================================================
2049    Assembly Syntax:       Vxx32.w+=vmpy(Vu32.h,Vv32.h)
2050    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhVh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
2051    Instruction Type:      CVI_VX_DV
2052    Execution Slots:       SLOT23
2053    ========================================================================== */
2054 
2055 #define Q6_Ww_vmpyacc_WwVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhv_acc)
2056 #endif /* __HEXAGON_ARCH___ >= 60 */
2057 
2058 #if __HVX_ARCH__ >= 60
2059 /* ==========================================================================
2060    Assembly Syntax:       Vd32.h=vmpy(Vu32.h,Vv32.h):<<1:rnd:sat
2061    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpy_VhVh_s1_rnd_sat(HVX_Vector Vu, HVX_Vector Vv)
2062    Instruction Type:      CVI_VX_DV
2063    Execution Slots:       SLOT23
2064    ========================================================================== */
2065 
2066 #define Q6_Vh_vmpy_VhVh_s1_rnd_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhvsrs)
2067 #endif /* __HEXAGON_ARCH___ >= 60 */
2068 
2069 #if __HVX_ARCH__ >= 60
2070 /* ==========================================================================
2071    Assembly Syntax:       Vd32.w=vmpyieo(Vu32.h,Vv32.h)
2072    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyieo_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2073    Instruction Type:      CVI_VX
2074    Execution Slots:       SLOT23
2075    ========================================================================== */
2076 
2077 #define Q6_Vw_vmpyieo_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyieoh)
2078 #endif /* __HEXAGON_ARCH___ >= 60 */
2079 
2080 #if __HVX_ARCH__ >= 60
2081 /* ==========================================================================
2082    Assembly Syntax:       Vx32.w+=vmpyie(Vu32.w,Vv32.h)
2083    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyieacc_VwVwVh(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
2084    Instruction Type:      CVI_VX_DV
2085    Execution Slots:       SLOT23
2086    ========================================================================== */
2087 
2088 #define Q6_Vw_vmpyieacc_VwVwVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiewh_acc)
2089 #endif /* __HEXAGON_ARCH___ >= 60 */
2090 
2091 #if __HVX_ARCH__ >= 60
2092 /* ==========================================================================
2093    Assembly Syntax:       Vd32.w=vmpyie(Vu32.w,Vv32.uh)
2094    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyie_VwVuh(HVX_Vector Vu, HVX_Vector Vv)
2095    Instruction Type:      CVI_VX_DV
2096    Execution Slots:       SLOT23
2097    ========================================================================== */
2098 
2099 #define Q6_Vw_vmpyie_VwVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiewuh)
2100 #endif /* __HEXAGON_ARCH___ >= 60 */
2101 
2102 #if __HVX_ARCH__ >= 60
2103 /* ==========================================================================
2104    Assembly Syntax:       Vx32.w+=vmpyie(Vu32.w,Vv32.uh)
2105    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyieacc_VwVwVuh(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
2106    Instruction Type:      CVI_VX_DV
2107    Execution Slots:       SLOT23
2108    ========================================================================== */
2109 
2110 #define Q6_Vw_vmpyieacc_VwVwVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiewuh_acc)
2111 #endif /* __HEXAGON_ARCH___ >= 60 */
2112 
2113 #if __HVX_ARCH__ >= 60
2114 /* ==========================================================================
2115    Assembly Syntax:       Vd32.h=vmpyi(Vu32.h,Vv32.h)
2116    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyi_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2117    Instruction Type:      CVI_VX_DV
2118    Execution Slots:       SLOT23
2119    ========================================================================== */
2120 
2121 #define Q6_Vh_vmpyi_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyih)
2122 #endif /* __HEXAGON_ARCH___ >= 60 */
2123 
2124 #if __HVX_ARCH__ >= 60
2125 /* ==========================================================================
2126    Assembly Syntax:       Vx32.h+=vmpyi(Vu32.h,Vv32.h)
2127    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyiacc_VhVhVh(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
2128    Instruction Type:      CVI_VX_DV
2129    Execution Slots:       SLOT23
2130    ========================================================================== */
2131 
2132 #define Q6_Vh_vmpyiacc_VhVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyih_acc)
2133 #endif /* __HEXAGON_ARCH___ >= 60 */
2134 
2135 #if __HVX_ARCH__ >= 60
2136 /* ==========================================================================
2137    Assembly Syntax:       Vd32.h=vmpyi(Vu32.h,Rt32.b)
2138    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyi_VhRb(HVX_Vector Vu, Word32 Rt)
2139    Instruction Type:      CVI_VX
2140    Execution Slots:       SLOT23
2141    ========================================================================== */
2142 
2143 #define Q6_Vh_vmpyi_VhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyihb)
2144 #endif /* __HEXAGON_ARCH___ >= 60 */
2145 
2146 #if __HVX_ARCH__ >= 60
2147 /* ==========================================================================
2148    Assembly Syntax:       Vx32.h+=vmpyi(Vu32.h,Rt32.b)
2149    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyiacc_VhVhRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
2150    Instruction Type:      CVI_VX
2151    Execution Slots:       SLOT23
2152    ========================================================================== */
2153 
2154 #define Q6_Vh_vmpyiacc_VhVhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyihb_acc)
2155 #endif /* __HEXAGON_ARCH___ >= 60 */
2156 
2157 #if __HVX_ARCH__ >= 60
2158 /* ==========================================================================
2159    Assembly Syntax:       Vd32.w=vmpyio(Vu32.w,Vv32.h)
2160    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyio_VwVh(HVX_Vector Vu, HVX_Vector Vv)
2161    Instruction Type:      CVI_VX_DV
2162    Execution Slots:       SLOT23
2163    ========================================================================== */
2164 
2165 #define Q6_Vw_vmpyio_VwVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiowh)
2166 #endif /* __HEXAGON_ARCH___ >= 60 */
2167 
2168 #if __HVX_ARCH__ >= 60
2169 /* ==========================================================================
2170    Assembly Syntax:       Vd32.w=vmpyi(Vu32.w,Rt32.b)
2171    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyi_VwRb(HVX_Vector Vu, Word32 Rt)
2172    Instruction Type:      CVI_VX
2173    Execution Slots:       SLOT23
2174    ========================================================================== */
2175 
2176 #define Q6_Vw_vmpyi_VwRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwb)
2177 #endif /* __HEXAGON_ARCH___ >= 60 */
2178 
2179 #if __HVX_ARCH__ >= 60
2180 /* ==========================================================================
2181    Assembly Syntax:       Vx32.w+=vmpyi(Vu32.w,Rt32.b)
2182    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyiacc_VwVwRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
2183    Instruction Type:      CVI_VX
2184    Execution Slots:       SLOT23
2185    ========================================================================== */
2186 
2187 #define Q6_Vw_vmpyiacc_VwVwRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwb_acc)
2188 #endif /* __HEXAGON_ARCH___ >= 60 */
2189 
2190 #if __HVX_ARCH__ >= 60
2191 /* ==========================================================================
2192    Assembly Syntax:       Vd32.w=vmpyi(Vu32.w,Rt32.h)
2193    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyi_VwRh(HVX_Vector Vu, Word32 Rt)
2194    Instruction Type:      CVI_VX_DV
2195    Execution Slots:       SLOT23
2196    ========================================================================== */
2197 
2198 #define Q6_Vw_vmpyi_VwRh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwh)
2199 #endif /* __HEXAGON_ARCH___ >= 60 */
2200 
2201 #if __HVX_ARCH__ >= 60
2202 /* ==========================================================================
2203    Assembly Syntax:       Vx32.w+=vmpyi(Vu32.w,Rt32.h)
2204    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyiacc_VwVwRh(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
2205    Instruction Type:      CVI_VX_DV
2206    Execution Slots:       SLOT23
2207    ========================================================================== */
2208 
2209 #define Q6_Vw_vmpyiacc_VwVwRh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwh_acc)
2210 #endif /* __HEXAGON_ARCH___ >= 60 */
2211 
2212 #if __HVX_ARCH__ >= 60
2213 /* ==========================================================================
2214    Assembly Syntax:       Vd32.w=vmpyo(Vu32.w,Vv32.h):<<1:sat
2215    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyo_VwVh_s1_sat(HVX_Vector Vu, HVX_Vector Vv)
2216    Instruction Type:      CVI_VX_DV
2217    Execution Slots:       SLOT23
2218    ========================================================================== */
2219 
2220 #define Q6_Vw_vmpyo_VwVh_s1_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh)
2221 #endif /* __HEXAGON_ARCH___ >= 60 */
2222 
2223 #if __HVX_ARCH__ >= 60
2224 /* ==========================================================================
2225    Assembly Syntax:       Vd32.w=vmpyo(Vu32.w,Vv32.h):<<1:rnd:sat
2226    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyo_VwVh_s1_rnd_sat(HVX_Vector Vu, HVX_Vector Vv)
2227    Instruction Type:      CVI_VX_DV
2228    Execution Slots:       SLOT23
2229    ========================================================================== */
2230 
2231 #define Q6_Vw_vmpyo_VwVh_s1_rnd_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_rnd)
2232 #endif /* __HEXAGON_ARCH___ >= 60 */
2233 
2234 #if __HVX_ARCH__ >= 60
2235 /* ==========================================================================
2236    Assembly Syntax:       Vx32.w+=vmpyo(Vu32.w,Vv32.h):<<1:rnd:sat:shift
2237    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyoacc_VwVwVh_s1_rnd_sat_shift(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
2238    Instruction Type:      CVI_VX_DV
2239    Execution Slots:       SLOT23
2240    ========================================================================== */
2241 
2242 #define Q6_Vw_vmpyoacc_VwVwVh_s1_rnd_sat_shift __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_rnd_sacc)
2243 #endif /* __HEXAGON_ARCH___ >= 60 */
2244 
2245 #if __HVX_ARCH__ >= 60
2246 /* ==========================================================================
2247    Assembly Syntax:       Vx32.w+=vmpyo(Vu32.w,Vv32.h):<<1:sat:shift
2248    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyoacc_VwVwVh_s1_sat_shift(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
2249    Instruction Type:      CVI_VX_DV
2250    Execution Slots:       SLOT23
2251    ========================================================================== */
2252 
2253 #define Q6_Vw_vmpyoacc_VwVwVh_s1_sat_shift __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_sacc)
2254 #endif /* __HEXAGON_ARCH___ >= 60 */
2255 
2256 #if __HVX_ARCH__ >= 60
2257 /* ==========================================================================
2258    Assembly Syntax:       Vdd32.uh=vmpy(Vu32.ub,Rt32.ub)
2259    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpy_VubRub(HVX_Vector Vu, Word32 Rt)
2260    Instruction Type:      CVI_VX_DV
2261    Execution Slots:       SLOT23
2262    ========================================================================== */
2263 
2264 #define Q6_Wuh_vmpy_VubRub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyub)
2265 #endif /* __HEXAGON_ARCH___ >= 60 */
2266 
2267 #if __HVX_ARCH__ >= 60
2268 /* ==========================================================================
2269    Assembly Syntax:       Vxx32.uh+=vmpy(Vu32.ub,Rt32.ub)
2270    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpyacc_WuhVubRub(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
2271    Instruction Type:      CVI_VX_DV
2272    Execution Slots:       SLOT23
2273    ========================================================================== */
2274 
2275 #define Q6_Wuh_vmpyacc_WuhVubRub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyub_acc)
2276 #endif /* __HEXAGON_ARCH___ >= 60 */
2277 
2278 #if __HVX_ARCH__ >= 60
2279 /* ==========================================================================
2280    Assembly Syntax:       Vdd32.uh=vmpy(Vu32.ub,Vv32.ub)
2281    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpy_VubVub(HVX_Vector Vu, HVX_Vector Vv)
2282    Instruction Type:      CVI_VX_DV
2283    Execution Slots:       SLOT23
2284    ========================================================================== */
2285 
2286 #define Q6_Wuh_vmpy_VubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyubv)
2287 #endif /* __HEXAGON_ARCH___ >= 60 */
2288 
2289 #if __HVX_ARCH__ >= 60
2290 /* ==========================================================================
2291    Assembly Syntax:       Vxx32.uh+=vmpy(Vu32.ub,Vv32.ub)
2292    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpyacc_WuhVubVub(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
2293    Instruction Type:      CVI_VX_DV
2294    Execution Slots:       SLOT23
2295    ========================================================================== */
2296 
2297 #define Q6_Wuh_vmpyacc_WuhVubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyubv_acc)
2298 #endif /* __HEXAGON_ARCH___ >= 60 */
2299 
2300 #if __HVX_ARCH__ >= 60
2301 /* ==========================================================================
2302    Assembly Syntax:       Vdd32.uw=vmpy(Vu32.uh,Rt32.uh)
2303    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpy_VuhRuh(HVX_Vector Vu, Word32 Rt)
2304    Instruction Type:      CVI_VX_DV
2305    Execution Slots:       SLOT23
2306    ========================================================================== */
2307 
2308 #define Q6_Wuw_vmpy_VuhRuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuh)
2309 #endif /* __HEXAGON_ARCH___ >= 60 */
2310 
2311 #if __HVX_ARCH__ >= 60
2312 /* ==========================================================================
2313    Assembly Syntax:       Vxx32.uw+=vmpy(Vu32.uh,Rt32.uh)
2314    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpyacc_WuwVuhRuh(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
2315    Instruction Type:      CVI_VX_DV
2316    Execution Slots:       SLOT23
2317    ========================================================================== */
2318 
2319 #define Q6_Wuw_vmpyacc_WuwVuhRuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuh_acc)
2320 #endif /* __HEXAGON_ARCH___ >= 60 */
2321 
2322 #if __HVX_ARCH__ >= 60
2323 /* ==========================================================================
2324    Assembly Syntax:       Vdd32.uw=vmpy(Vu32.uh,Vv32.uh)
2325    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpy_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
2326    Instruction Type:      CVI_VX_DV
2327    Execution Slots:       SLOT23
2328    ========================================================================== */
2329 
2330 #define Q6_Wuw_vmpy_VuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhv)
2331 #endif /* __HEXAGON_ARCH___ >= 60 */
2332 
2333 #if __HVX_ARCH__ >= 60
2334 /* ==========================================================================
2335    Assembly Syntax:       Vxx32.uw+=vmpy(Vu32.uh,Vv32.uh)
2336    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpyacc_WuwVuhVuh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
2337    Instruction Type:      CVI_VX_DV
2338    Execution Slots:       SLOT23
2339    ========================================================================== */
2340 
2341 #define Q6_Wuw_vmpyacc_WuwVuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhv_acc)
2342 #endif /* __HEXAGON_ARCH___ >= 60 */
2343 
2344 #if __HVX_ARCH__ >= 60
2345 /* ==========================================================================
2346    Assembly Syntax:       Vd32=vmux(Qt4,Vu32,Vv32)
2347    C Intrinsic Prototype: HVX_Vector Q6_V_vmux_QVV(HVX_VectorPred Qt, HVX_Vector Vu, HVX_Vector Vv)
2348    Instruction Type:      CVI_VA
2349    Execution Slots:       SLOT0123
2350    ========================================================================== */
2351 
2352 #define Q6_V_vmux_QVV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmux)
2353 #endif /* __HEXAGON_ARCH___ >= 60 */
2354 
2355 #if __HVX_ARCH__ >= 60
2356 /* ==========================================================================
2357    Assembly Syntax:       Vd32.h=vnavg(Vu32.h,Vv32.h)
2358    C Intrinsic Prototype: HVX_Vector Q6_Vh_vnavg_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2359    Instruction Type:      CVI_VA
2360    Execution Slots:       SLOT0123
2361    ========================================================================== */
2362 
2363 #define Q6_Vh_vnavg_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgh)
2364 #endif /* __HEXAGON_ARCH___ >= 60 */
2365 
2366 #if __HVX_ARCH__ >= 60
2367 /* ==========================================================================
2368    Assembly Syntax:       Vd32.b=vnavg(Vu32.ub,Vv32.ub)
2369    C Intrinsic Prototype: HVX_Vector Q6_Vb_vnavg_VubVub(HVX_Vector Vu, HVX_Vector Vv)
2370    Instruction Type:      CVI_VA
2371    Execution Slots:       SLOT0123
2372    ========================================================================== */
2373 
2374 #define Q6_Vb_vnavg_VubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgub)
2375 #endif /* __HEXAGON_ARCH___ >= 60 */
2376 
2377 #if __HVX_ARCH__ >= 60
2378 /* ==========================================================================
2379    Assembly Syntax:       Vd32.w=vnavg(Vu32.w,Vv32.w)
2380    C Intrinsic Prototype: HVX_Vector Q6_Vw_vnavg_VwVw(HVX_Vector Vu, HVX_Vector Vv)
2381    Instruction Type:      CVI_VA
2382    Execution Slots:       SLOT0123
2383    ========================================================================== */
2384 
2385 #define Q6_Vw_vnavg_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgw)
2386 #endif /* __HEXAGON_ARCH___ >= 60 */
2387 
2388 #if __HVX_ARCH__ >= 60
2389 /* ==========================================================================
2390    Assembly Syntax:       Vd32.h=vnormamt(Vu32.h)
2391    C Intrinsic Prototype: HVX_Vector Q6_Vh_vnormamt_Vh(HVX_Vector Vu)
2392    Instruction Type:      CVI_VS
2393    Execution Slots:       SLOT0123
2394    ========================================================================== */
2395 
2396 #define Q6_Vh_vnormamt_Vh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnormamth)
2397 #endif /* __HEXAGON_ARCH___ >= 60 */
2398 
2399 #if __HVX_ARCH__ >= 60
2400 /* ==========================================================================
2401    Assembly Syntax:       Vd32.w=vnormamt(Vu32.w)
2402    C Intrinsic Prototype: HVX_Vector Q6_Vw_vnormamt_Vw(HVX_Vector Vu)
2403    Instruction Type:      CVI_VS
2404    Execution Slots:       SLOT0123
2405    ========================================================================== */
2406 
2407 #define Q6_Vw_vnormamt_Vw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnormamtw)
2408 #endif /* __HEXAGON_ARCH___ >= 60 */
2409 
2410 #if __HVX_ARCH__ >= 60
2411 /* ==========================================================================
2412    Assembly Syntax:       Vd32=vnot(Vu32)
2413    C Intrinsic Prototype: HVX_Vector Q6_V_vnot_V(HVX_Vector Vu)
2414    Instruction Type:      CVI_VA
2415    Execution Slots:       SLOT0123
2416    ========================================================================== */
2417 
2418 #define Q6_V_vnot_V __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnot)
2419 #endif /* __HEXAGON_ARCH___ >= 60 */
2420 
2421 #if __HVX_ARCH__ >= 60
2422 /* ==========================================================================
2423    Assembly Syntax:       Vd32=vor(Vu32,Vv32)
2424    C Intrinsic Prototype: HVX_Vector Q6_V_vor_VV(HVX_Vector Vu, HVX_Vector Vv)
2425    Instruction Type:      CVI_VA
2426    Execution Slots:       SLOT0123
2427    ========================================================================== */
2428 
2429 #define Q6_V_vor_VV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vor)
2430 #endif /* __HEXAGON_ARCH___ >= 60 */
2431 
2432 #if __HVX_ARCH__ >= 60
2433 /* ==========================================================================
2434    Assembly Syntax:       Vd32.b=vpacke(Vu32.h,Vv32.h)
2435    C Intrinsic Prototype: HVX_Vector Q6_Vb_vpacke_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2436    Instruction Type:      CVI_VP
2437    Execution Slots:       SLOT0123
2438    ========================================================================== */
2439 
2440 #define Q6_Vb_vpacke_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackeb)
2441 #endif /* __HEXAGON_ARCH___ >= 60 */
2442 
2443 #if __HVX_ARCH__ >= 60
2444 /* ==========================================================================
2445    Assembly Syntax:       Vd32.h=vpacke(Vu32.w,Vv32.w)
2446    C Intrinsic Prototype: HVX_Vector Q6_Vh_vpacke_VwVw(HVX_Vector Vu, HVX_Vector Vv)
2447    Instruction Type:      CVI_VP
2448    Execution Slots:       SLOT0123
2449    ========================================================================== */
2450 
2451 #define Q6_Vh_vpacke_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackeh)
2452 #endif /* __HEXAGON_ARCH___ >= 60 */
2453 
2454 #if __HVX_ARCH__ >= 60
2455 /* ==========================================================================
2456    Assembly Syntax:       Vd32.b=vpack(Vu32.h,Vv32.h):sat
2457    C Intrinsic Prototype: HVX_Vector Q6_Vb_vpack_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
2458    Instruction Type:      CVI_VP
2459    Execution Slots:       SLOT0123
2460    ========================================================================== */
2461 
2462 #define Q6_Vb_vpack_VhVh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackhb_sat)
2463 #endif /* __HEXAGON_ARCH___ >= 60 */
2464 
2465 #if __HVX_ARCH__ >= 60
2466 /* ==========================================================================
2467    Assembly Syntax:       Vd32.ub=vpack(Vu32.h,Vv32.h):sat
2468    C Intrinsic Prototype: HVX_Vector Q6_Vub_vpack_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
2469    Instruction Type:      CVI_VP
2470    Execution Slots:       SLOT0123
2471    ========================================================================== */
2472 
2473 #define Q6_Vub_vpack_VhVh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackhub_sat)
2474 #endif /* __HEXAGON_ARCH___ >= 60 */
2475 
2476 #if __HVX_ARCH__ >= 60
2477 /* ==========================================================================
2478    Assembly Syntax:       Vd32.b=vpacko(Vu32.h,Vv32.h)
2479    C Intrinsic Prototype: HVX_Vector Q6_Vb_vpacko_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2480    Instruction Type:      CVI_VP
2481    Execution Slots:       SLOT0123
2482    ========================================================================== */
2483 
2484 #define Q6_Vb_vpacko_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackob)
2485 #endif /* __HEXAGON_ARCH___ >= 60 */
2486 
2487 #if __HVX_ARCH__ >= 60
2488 /* ==========================================================================
2489    Assembly Syntax:       Vd32.h=vpacko(Vu32.w,Vv32.w)
2490    C Intrinsic Prototype: HVX_Vector Q6_Vh_vpacko_VwVw(HVX_Vector Vu, HVX_Vector Vv)
2491    Instruction Type:      CVI_VP
2492    Execution Slots:       SLOT0123
2493    ========================================================================== */
2494 
2495 #define Q6_Vh_vpacko_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackoh)
2496 #endif /* __HEXAGON_ARCH___ >= 60 */
2497 
2498 #if __HVX_ARCH__ >= 60
2499 /* ==========================================================================
2500    Assembly Syntax:       Vd32.h=vpack(Vu32.w,Vv32.w):sat
2501    C Intrinsic Prototype: HVX_Vector Q6_Vh_vpack_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
2502    Instruction Type:      CVI_VP
2503    Execution Slots:       SLOT0123
2504    ========================================================================== */
2505 
2506 #define Q6_Vh_vpack_VwVw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackwh_sat)
2507 #endif /* __HEXAGON_ARCH___ >= 60 */
2508 
2509 #if __HVX_ARCH__ >= 60
2510 /* ==========================================================================
2511    Assembly Syntax:       Vd32.uh=vpack(Vu32.w,Vv32.w):sat
2512    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vpack_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
2513    Instruction Type:      CVI_VP
2514    Execution Slots:       SLOT0123
2515    ========================================================================== */
2516 
2517 #define Q6_Vuh_vpack_VwVw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackwuh_sat)
2518 #endif /* __HEXAGON_ARCH___ >= 60 */
2519 
2520 #if __HVX_ARCH__ >= 60
2521 /* ==========================================================================
2522    Assembly Syntax:       Vd32.h=vpopcount(Vu32.h)
2523    C Intrinsic Prototype: HVX_Vector Q6_Vh_vpopcount_Vh(HVX_Vector Vu)
2524    Instruction Type:      CVI_VS
2525    Execution Slots:       SLOT0123
2526    ========================================================================== */
2527 
2528 #define Q6_Vh_vpopcount_Vh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpopcounth)
2529 #endif /* __HEXAGON_ARCH___ >= 60 */
2530 
2531 #if __HVX_ARCH__ >= 60
2532 /* ==========================================================================
2533    Assembly Syntax:       Vd32=vrdelta(Vu32,Vv32)
2534    C Intrinsic Prototype: HVX_Vector Q6_V_vrdelta_VV(HVX_Vector Vu, HVX_Vector Vv)
2535    Instruction Type:      CVI_VP
2536    Execution Slots:       SLOT0123
2537    ========================================================================== */
2538 
2539 #define Q6_V_vrdelta_VV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrdelta)
2540 #endif /* __HEXAGON_ARCH___ >= 60 */
2541 
2542 #if __HVX_ARCH__ >= 60
2543 /* ==========================================================================
2544    Assembly Syntax:       Vd32.w=vrmpy(Vu32.ub,Rt32.b)
2545    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpy_VubRb(HVX_Vector Vu, Word32 Rt)
2546    Instruction Type:      CVI_VX
2547    Execution Slots:       SLOT23
2548    ========================================================================== */
2549 
2550 #define Q6_Vw_vrmpy_VubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybus)
2551 #endif /* __HEXAGON_ARCH___ >= 60 */
2552 
2553 #if __HVX_ARCH__ >= 60
2554 /* ==========================================================================
2555    Assembly Syntax:       Vx32.w+=vrmpy(Vu32.ub,Rt32.b)
2556    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpyacc_VwVubRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
2557    Instruction Type:      CVI_VX
2558    Execution Slots:       SLOT23
2559    ========================================================================== */
2560 
2561 #define Q6_Vw_vrmpyacc_VwVubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybus_acc)
2562 #endif /* __HEXAGON_ARCH___ >= 60 */
2563 
2564 #if __HVX_ARCH__ >= 60
2565 /* ==========================================================================
2566    Assembly Syntax:       Vdd32.w=vrmpy(Vuu32.ub,Rt32.b,#u1)
2567    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vrmpy_WubRbI(HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
2568    Instruction Type:      CVI_VX_DV
2569    Execution Slots:       SLOT23
2570    ========================================================================== */
2571 
2572 #define Q6_Ww_vrmpy_WubRbI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusi)
2573 #endif /* __HEXAGON_ARCH___ >= 60 */
2574 
2575 #if __HVX_ARCH__ >= 60
2576 /* ==========================================================================
2577    Assembly Syntax:       Vxx32.w+=vrmpy(Vuu32.ub,Rt32.b,#u1)
2578    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vrmpyacc_WwWubRbI(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
2579    Instruction Type:      CVI_VX_DV
2580    Execution Slots:       SLOT23
2581    ========================================================================== */
2582 
2583 #define Q6_Ww_vrmpyacc_WwWubRbI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusi_acc)
2584 #endif /* __HEXAGON_ARCH___ >= 60 */
2585 
2586 #if __HVX_ARCH__ >= 60
2587 /* ==========================================================================
2588    Assembly Syntax:       Vd32.w=vrmpy(Vu32.ub,Vv32.b)
2589    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpy_VubVb(HVX_Vector Vu, HVX_Vector Vv)
2590    Instruction Type:      CVI_VX
2591    Execution Slots:       SLOT23
2592    ========================================================================== */
2593 
2594 #define Q6_Vw_vrmpy_VubVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusv)
2595 #endif /* __HEXAGON_ARCH___ >= 60 */
2596 
2597 #if __HVX_ARCH__ >= 60
2598 /* ==========================================================================
2599    Assembly Syntax:       Vx32.w+=vrmpy(Vu32.ub,Vv32.b)
2600    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpyacc_VwVubVb(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
2601    Instruction Type:      CVI_VX_DV
2602    Execution Slots:       SLOT23
2603    ========================================================================== */
2604 
2605 #define Q6_Vw_vrmpyacc_VwVubVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusv_acc)
2606 #endif /* __HEXAGON_ARCH___ >= 60 */
2607 
2608 #if __HVX_ARCH__ >= 60
2609 /* ==========================================================================
2610    Assembly Syntax:       Vd32.w=vrmpy(Vu32.b,Vv32.b)
2611    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpy_VbVb(HVX_Vector Vu, HVX_Vector Vv)
2612    Instruction Type:      CVI_VX
2613    Execution Slots:       SLOT23
2614    ========================================================================== */
2615 
2616 #define Q6_Vw_vrmpy_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybv)
2617 #endif /* __HEXAGON_ARCH___ >= 60 */
2618 
2619 #if __HVX_ARCH__ >= 60
2620 /* ==========================================================================
2621    Assembly Syntax:       Vx32.w+=vrmpy(Vu32.b,Vv32.b)
2622    C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpyacc_VwVbVb(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
2623    Instruction Type:      CVI_VX_DV
2624    Execution Slots:       SLOT23
2625    ========================================================================== */
2626 
2627 #define Q6_Vw_vrmpyacc_VwVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybv_acc)
2628 #endif /* __HEXAGON_ARCH___ >= 60 */
2629 
2630 #if __HVX_ARCH__ >= 60
2631 /* ==========================================================================
2632    Assembly Syntax:       Vd32.uw=vrmpy(Vu32.ub,Rt32.ub)
2633    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpy_VubRub(HVX_Vector Vu, Word32 Rt)
2634    Instruction Type:      CVI_VX
2635    Execution Slots:       SLOT23
2636    ========================================================================== */
2637 
2638 #define Q6_Vuw_vrmpy_VubRub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyub)
2639 #endif /* __HEXAGON_ARCH___ >= 60 */
2640 
2641 #if __HVX_ARCH__ >= 60
2642 /* ==========================================================================
2643    Assembly Syntax:       Vx32.uw+=vrmpy(Vu32.ub,Rt32.ub)
2644    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpyacc_VuwVubRub(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
2645    Instruction Type:      CVI_VX
2646    Execution Slots:       SLOT23
2647    ========================================================================== */
2648 
2649 #define Q6_Vuw_vrmpyacc_VuwVubRub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyub_acc)
2650 #endif /* __HEXAGON_ARCH___ >= 60 */
2651 
2652 #if __HVX_ARCH__ >= 60
2653 /* ==========================================================================
2654    Assembly Syntax:       Vdd32.uw=vrmpy(Vuu32.ub,Rt32.ub,#u1)
2655    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrmpy_WubRubI(HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
2656    Instruction Type:      CVI_VX_DV
2657    Execution Slots:       SLOT23
2658    ========================================================================== */
2659 
2660 #define Q6_Wuw_vrmpy_WubRubI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubi)
2661 #endif /* __HEXAGON_ARCH___ >= 60 */
2662 
2663 #if __HVX_ARCH__ >= 60
2664 /* ==========================================================================
2665    Assembly Syntax:       Vxx32.uw+=vrmpy(Vuu32.ub,Rt32.ub,#u1)
2666    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrmpyacc_WuwWubRubI(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
2667    Instruction Type:      CVI_VX_DV
2668    Execution Slots:       SLOT23
2669    ========================================================================== */
2670 
2671 #define Q6_Wuw_vrmpyacc_WuwWubRubI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubi_acc)
2672 #endif /* __HEXAGON_ARCH___ >= 60 */
2673 
2674 #if __HVX_ARCH__ >= 60
2675 /* ==========================================================================
2676    Assembly Syntax:       Vd32.uw=vrmpy(Vu32.ub,Vv32.ub)
2677    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpy_VubVub(HVX_Vector Vu, HVX_Vector Vv)
2678    Instruction Type:      CVI_VX
2679    Execution Slots:       SLOT23
2680    ========================================================================== */
2681 
2682 #define Q6_Vuw_vrmpy_VubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubv)
2683 #endif /* __HEXAGON_ARCH___ >= 60 */
2684 
2685 #if __HVX_ARCH__ >= 60
2686 /* ==========================================================================
2687    Assembly Syntax:       Vx32.uw+=vrmpy(Vu32.ub,Vv32.ub)
2688    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpyacc_VuwVubVub(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
2689    Instruction Type:      CVI_VX_DV
2690    Execution Slots:       SLOT23
2691    ========================================================================== */
2692 
2693 #define Q6_Vuw_vrmpyacc_VuwVubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubv_acc)
2694 #endif /* __HEXAGON_ARCH___ >= 60 */
2695 
2696 #if __HVX_ARCH__ >= 60
2697 /* ==========================================================================
2698    Assembly Syntax:       Vd32=vror(Vu32,Rt32)
2699    C Intrinsic Prototype: HVX_Vector Q6_V_vror_VR(HVX_Vector Vu, Word32 Rt)
2700    Instruction Type:      CVI_VP
2701    Execution Slots:       SLOT0123
2702    ========================================================================== */
2703 
2704 #define Q6_V_vror_VR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vror)
2705 #endif /* __HEXAGON_ARCH___ >= 60 */
2706 
2707 #if __HVX_ARCH__ >= 60
2708 /* ==========================================================================
2709    Assembly Syntax:       Vd32.b=vround(Vu32.h,Vv32.h):sat
2710    C Intrinsic Prototype: HVX_Vector Q6_Vb_vround_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
2711    Instruction Type:      CVI_VS
2712    Execution Slots:       SLOT0123
2713    ========================================================================== */
2714 
2715 #define Q6_Vb_vround_VhVh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundhb)
2716 #endif /* __HEXAGON_ARCH___ >= 60 */
2717 
2718 #if __HVX_ARCH__ >= 60
2719 /* ==========================================================================
2720    Assembly Syntax:       Vd32.ub=vround(Vu32.h,Vv32.h):sat
2721    C Intrinsic Prototype: HVX_Vector Q6_Vub_vround_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
2722    Instruction Type:      CVI_VS
2723    Execution Slots:       SLOT0123
2724    ========================================================================== */
2725 
2726 #define Q6_Vub_vround_VhVh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundhub)
2727 #endif /* __HEXAGON_ARCH___ >= 60 */
2728 
2729 #if __HVX_ARCH__ >= 60
2730 /* ==========================================================================
2731    Assembly Syntax:       Vd32.h=vround(Vu32.w,Vv32.w):sat
2732    C Intrinsic Prototype: HVX_Vector Q6_Vh_vround_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
2733    Instruction Type:      CVI_VS
2734    Execution Slots:       SLOT0123
2735    ========================================================================== */
2736 
2737 #define Q6_Vh_vround_VwVw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundwh)
2738 #endif /* __HEXAGON_ARCH___ >= 60 */
2739 
2740 #if __HVX_ARCH__ >= 60
2741 /* ==========================================================================
2742    Assembly Syntax:       Vd32.uh=vround(Vu32.w,Vv32.w):sat
2743    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vround_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
2744    Instruction Type:      CVI_VS
2745    Execution Slots:       SLOT0123
2746    ========================================================================== */
2747 
2748 #define Q6_Vuh_vround_VwVw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundwuh)
2749 #endif /* __HEXAGON_ARCH___ >= 60 */
2750 
2751 #if __HVX_ARCH__ >= 60
2752 /* ==========================================================================
2753    Assembly Syntax:       Vdd32.uw=vrsad(Vuu32.ub,Rt32.ub,#u1)
2754    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrsad_WubRubI(HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
2755    Instruction Type:      CVI_VX_DV
2756    Execution Slots:       SLOT23
2757    ========================================================================== */
2758 
2759 #define Q6_Wuw_vrsad_WubRubI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrsadubi)
2760 #endif /* __HEXAGON_ARCH___ >= 60 */
2761 
2762 #if __HVX_ARCH__ >= 60
2763 /* ==========================================================================
2764    Assembly Syntax:       Vxx32.uw+=vrsad(Vuu32.ub,Rt32.ub,#u1)
2765    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrsadacc_WuwWubRubI(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
2766    Instruction Type:      CVI_VX_DV
2767    Execution Slots:       SLOT23
2768    ========================================================================== */
2769 
2770 #define Q6_Wuw_vrsadacc_WuwWubRubI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrsadubi_acc)
2771 #endif /* __HEXAGON_ARCH___ >= 60 */
2772 
2773 #if __HVX_ARCH__ >= 60
2774 /* ==========================================================================
2775    Assembly Syntax:       Vd32.ub=vsat(Vu32.h,Vv32.h)
2776    C Intrinsic Prototype: HVX_Vector Q6_Vub_vsat_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2777    Instruction Type:      CVI_VA
2778    Execution Slots:       SLOT0123
2779    ========================================================================== */
2780 
2781 #define Q6_Vub_vsat_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsathub)
2782 #endif /* __HEXAGON_ARCH___ >= 60 */
2783 
2784 #if __HVX_ARCH__ >= 60
2785 /* ==========================================================================
2786    Assembly Syntax:       Vd32.h=vsat(Vu32.w,Vv32.w)
2787    C Intrinsic Prototype: HVX_Vector Q6_Vh_vsat_VwVw(HVX_Vector Vu, HVX_Vector Vv)
2788    Instruction Type:      CVI_VA
2789    Execution Slots:       SLOT0123
2790    ========================================================================== */
2791 
2792 #define Q6_Vh_vsat_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsatwh)
2793 #endif /* __HEXAGON_ARCH___ >= 60 */
2794 
2795 #if __HVX_ARCH__ >= 60
2796 /* ==========================================================================
2797    Assembly Syntax:       Vdd32.h=vsxt(Vu32.b)
2798    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsxt_Vb(HVX_Vector Vu)
2799    Instruction Type:      CVI_VA_DV
2800    Execution Slots:       SLOT0123
2801    ========================================================================== */
2802 
2803 #define Q6_Wh_vsxt_Vb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsb)
2804 #endif /* __HEXAGON_ARCH___ >= 60 */
2805 
2806 #if __HVX_ARCH__ >= 60
2807 /* ==========================================================================
2808    Assembly Syntax:       Vdd32.w=vsxt(Vu32.h)
2809    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsxt_Vh(HVX_Vector Vu)
2810    Instruction Type:      CVI_VA_DV
2811    Execution Slots:       SLOT0123
2812    ========================================================================== */
2813 
2814 #define Q6_Ww_vsxt_Vh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsh)
2815 #endif /* __HEXAGON_ARCH___ >= 60 */
2816 
2817 #if __HVX_ARCH__ >= 60
2818 /* ==========================================================================
2819    Assembly Syntax:       Vd32.h=vshuffe(Vu32.h,Vv32.h)
2820    C Intrinsic Prototype: HVX_Vector Q6_Vh_vshuffe_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2821    Instruction Type:      CVI_VA
2822    Execution Slots:       SLOT0123
2823    ========================================================================== */
2824 
2825 #define Q6_Vh_vshuffe_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufeh)
2826 #endif /* __HEXAGON_ARCH___ >= 60 */
2827 
2828 #if __HVX_ARCH__ >= 60
2829 /* ==========================================================================
2830    Assembly Syntax:       Vd32.b=vshuff(Vu32.b)
2831    C Intrinsic Prototype: HVX_Vector Q6_Vb_vshuff_Vb(HVX_Vector Vu)
2832    Instruction Type:      CVI_VP
2833    Execution Slots:       SLOT0123
2834    ========================================================================== */
2835 
2836 #define Q6_Vb_vshuff_Vb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffb)
2837 #endif /* __HEXAGON_ARCH___ >= 60 */
2838 
2839 #if __HVX_ARCH__ >= 60
2840 /* ==========================================================================
2841    Assembly Syntax:       Vd32.b=vshuffe(Vu32.b,Vv32.b)
2842    C Intrinsic Prototype: HVX_Vector Q6_Vb_vshuffe_VbVb(HVX_Vector Vu, HVX_Vector Vv)
2843    Instruction Type:      CVI_VA
2844    Execution Slots:       SLOT0123
2845    ========================================================================== */
2846 
2847 #define Q6_Vb_vshuffe_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffeb)
2848 #endif /* __HEXAGON_ARCH___ >= 60 */
2849 
2850 #if __HVX_ARCH__ >= 60
2851 /* ==========================================================================
2852    Assembly Syntax:       Vd32.h=vshuff(Vu32.h)
2853    C Intrinsic Prototype: HVX_Vector Q6_Vh_vshuff_Vh(HVX_Vector Vu)
2854    Instruction Type:      CVI_VP
2855    Execution Slots:       SLOT0123
2856    ========================================================================== */
2857 
2858 #define Q6_Vh_vshuff_Vh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffh)
2859 #endif /* __HEXAGON_ARCH___ >= 60 */
2860 
2861 #if __HVX_ARCH__ >= 60
2862 /* ==========================================================================
2863    Assembly Syntax:       Vd32.b=vshuffo(Vu32.b,Vv32.b)
2864    C Intrinsic Prototype: HVX_Vector Q6_Vb_vshuffo_VbVb(HVX_Vector Vu, HVX_Vector Vv)
2865    Instruction Type:      CVI_VA
2866    Execution Slots:       SLOT0123
2867    ========================================================================== */
2868 
2869 #define Q6_Vb_vshuffo_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffob)
2870 #endif /* __HEXAGON_ARCH___ >= 60 */
2871 
2872 #if __HVX_ARCH__ >= 60
2873 /* ==========================================================================
2874    Assembly Syntax:       Vdd32=vshuff(Vu32,Vv32,Rt8)
2875    C Intrinsic Prototype: HVX_VectorPair Q6_W_vshuff_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
2876    Instruction Type:      CVI_VP_VS
2877    Execution Slots:       SLOT0123
2878    ========================================================================== */
2879 
2880 #define Q6_W_vshuff_VVR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffvdd)
2881 #endif /* __HEXAGON_ARCH___ >= 60 */
2882 
2883 #if __HVX_ARCH__ >= 60
2884 /* ==========================================================================
2885    Assembly Syntax:       Vdd32.b=vshuffoe(Vu32.b,Vv32.b)
2886    C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vshuffoe_VbVb(HVX_Vector Vu, HVX_Vector Vv)
2887    Instruction Type:      CVI_VA_DV
2888    Execution Slots:       SLOT0123
2889    ========================================================================== */
2890 
2891 #define Q6_Wb_vshuffoe_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufoeb)
2892 #endif /* __HEXAGON_ARCH___ >= 60 */
2893 
2894 #if __HVX_ARCH__ >= 60
2895 /* ==========================================================================
2896    Assembly Syntax:       Vdd32.h=vshuffoe(Vu32.h,Vv32.h)
2897    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vshuffoe_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2898    Instruction Type:      CVI_VA_DV
2899    Execution Slots:       SLOT0123
2900    ========================================================================== */
2901 
2902 #define Q6_Wh_vshuffoe_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufoeh)
2903 #endif /* __HEXAGON_ARCH___ >= 60 */
2904 
2905 #if __HVX_ARCH__ >= 60
2906 /* ==========================================================================
2907    Assembly Syntax:       Vd32.h=vshuffo(Vu32.h,Vv32.h)
2908    C Intrinsic Prototype: HVX_Vector Q6_Vh_vshuffo_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2909    Instruction Type:      CVI_VA
2910    Execution Slots:       SLOT0123
2911    ========================================================================== */
2912 
2913 #define Q6_Vh_vshuffo_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufoh)
2914 #endif /* __HEXAGON_ARCH___ >= 60 */
2915 
2916 #if __HVX_ARCH__ >= 60
2917 /* ==========================================================================
2918    Assembly Syntax:       Vd32.b=vsub(Vu32.b,Vv32.b)
2919    C Intrinsic Prototype: HVX_Vector Q6_Vb_vsub_VbVb(HVX_Vector Vu, HVX_Vector Vv)
2920    Instruction Type:      CVI_VA
2921    Execution Slots:       SLOT0123
2922    ========================================================================== */
2923 
2924 #define Q6_Vb_vsub_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubb)
2925 #endif /* __HEXAGON_ARCH___ >= 60 */
2926 
2927 #if __HVX_ARCH__ >= 60
2928 /* ==========================================================================
2929    Assembly Syntax:       Vdd32.b=vsub(Vuu32.b,Vvv32.b)
2930    C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vsub_WbWb(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
2931    Instruction Type:      CVI_VA_DV
2932    Execution Slots:       SLOT0123
2933    ========================================================================== */
2934 
2935 #define Q6_Wb_vsub_WbWb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubb_dv)
2936 #endif /* __HEXAGON_ARCH___ >= 60 */
2937 
2938 #if __HVX_ARCH__ >= 60
2939 /* ==========================================================================
2940    Assembly Syntax:       if (!Qv4) Vx32.b-=Vu32.b
2941    C Intrinsic Prototype: HVX_Vector Q6_Vb_condnac_QnVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
2942    Instruction Type:      CVI_VA
2943    Execution Slots:       SLOT0123
2944    ========================================================================== */
2945 
2946 #define Q6_Vb_condnac_QnVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbnq)
2947 #endif /* __HEXAGON_ARCH___ >= 60 */
2948 
2949 #if __HVX_ARCH__ >= 60
2950 /* ==========================================================================
2951    Assembly Syntax:       if (Qv4) Vx32.b-=Vu32.b
2952    C Intrinsic Prototype: HVX_Vector Q6_Vb_condnac_QVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
2953    Instruction Type:      CVI_VA
2954    Execution Slots:       SLOT0123
2955    ========================================================================== */
2956 
2957 #define Q6_Vb_condnac_QVbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbq)
2958 #endif /* __HEXAGON_ARCH___ >= 60 */
2959 
2960 #if __HVX_ARCH__ >= 60
2961 /* ==========================================================================
2962    Assembly Syntax:       Vd32.h=vsub(Vu32.h,Vv32.h)
2963    C Intrinsic Prototype: HVX_Vector Q6_Vh_vsub_VhVh(HVX_Vector Vu, HVX_Vector Vv)
2964    Instruction Type:      CVI_VA
2965    Execution Slots:       SLOT0123
2966    ========================================================================== */
2967 
2968 #define Q6_Vh_vsub_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubh)
2969 #endif /* __HEXAGON_ARCH___ >= 60 */
2970 
2971 #if __HVX_ARCH__ >= 60
2972 /* ==========================================================================
2973    Assembly Syntax:       Vdd32.h=vsub(Vuu32.h,Vvv32.h)
2974    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsub_WhWh(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
2975    Instruction Type:      CVI_VA_DV
2976    Execution Slots:       SLOT0123
2977    ========================================================================== */
2978 
2979 #define Q6_Wh_vsub_WhWh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubh_dv)
2980 #endif /* __HEXAGON_ARCH___ >= 60 */
2981 
2982 #if __HVX_ARCH__ >= 60
2983 /* ==========================================================================
2984    Assembly Syntax:       if (!Qv4) Vx32.h-=Vu32.h
2985    C Intrinsic Prototype: HVX_Vector Q6_Vh_condnac_QnVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
2986    Instruction Type:      CVI_VA
2987    Execution Slots:       SLOT0123
2988    ========================================================================== */
2989 
2990 #define Q6_Vh_condnac_QnVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhnq)
2991 #endif /* __HEXAGON_ARCH___ >= 60 */
2992 
2993 #if __HVX_ARCH__ >= 60
2994 /* ==========================================================================
2995    Assembly Syntax:       if (Qv4) Vx32.h-=Vu32.h
2996    C Intrinsic Prototype: HVX_Vector Q6_Vh_condnac_QVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
2997    Instruction Type:      CVI_VA
2998    Execution Slots:       SLOT0123
2999    ========================================================================== */
3000 
3001 #define Q6_Vh_condnac_QVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhq)
3002 #endif /* __HEXAGON_ARCH___ >= 60 */
3003 
3004 #if __HVX_ARCH__ >= 60
3005 /* ==========================================================================
3006    Assembly Syntax:       Vd32.h=vsub(Vu32.h,Vv32.h):sat
3007    C Intrinsic Prototype: HVX_Vector Q6_Vh_vsub_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
3008    Instruction Type:      CVI_VA
3009    Execution Slots:       SLOT0123
3010    ========================================================================== */
3011 
3012 #define Q6_Vh_vsub_VhVh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhsat)
3013 #endif /* __HEXAGON_ARCH___ >= 60 */
3014 
3015 #if __HVX_ARCH__ >= 60
3016 /* ==========================================================================
3017    Assembly Syntax:       Vdd32.h=vsub(Vuu32.h,Vvv32.h):sat
3018    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsub_WhWh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
3019    Instruction Type:      CVI_VA_DV
3020    Execution Slots:       SLOT0123
3021    ========================================================================== */
3022 
3023 #define Q6_Wh_vsub_WhWh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhsat_dv)
3024 #endif /* __HEXAGON_ARCH___ >= 60 */
3025 
3026 #if __HVX_ARCH__ >= 60
3027 /* ==========================================================================
3028    Assembly Syntax:       Vdd32.w=vsub(Vu32.h,Vv32.h)
3029    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_VhVh(HVX_Vector Vu, HVX_Vector Vv)
3030    Instruction Type:      CVI_VX_DV
3031    Execution Slots:       SLOT23
3032    ========================================================================== */
3033 
3034 #define Q6_Ww_vsub_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhw)
3035 #endif /* __HEXAGON_ARCH___ >= 60 */
3036 
3037 #if __HVX_ARCH__ >= 60
3038 /* ==========================================================================
3039    Assembly Syntax:       Vdd32.h=vsub(Vu32.ub,Vv32.ub)
3040    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsub_VubVub(HVX_Vector Vu, HVX_Vector Vv)
3041    Instruction Type:      CVI_VX_DV
3042    Execution Slots:       SLOT23
3043    ========================================================================== */
3044 
3045 #define Q6_Wh_vsub_VubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsububh)
3046 #endif /* __HEXAGON_ARCH___ >= 60 */
3047 
3048 #if __HVX_ARCH__ >= 60
3049 /* ==========================================================================
3050    Assembly Syntax:       Vd32.ub=vsub(Vu32.ub,Vv32.ub):sat
3051    C Intrinsic Prototype: HVX_Vector Q6_Vub_vsub_VubVub_sat(HVX_Vector Vu, HVX_Vector Vv)
3052    Instruction Type:      CVI_VA
3053    Execution Slots:       SLOT0123
3054    ========================================================================== */
3055 
3056 #define Q6_Vub_vsub_VubVub_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsububsat)
3057 #endif /* __HEXAGON_ARCH___ >= 60 */
3058 
3059 #if __HVX_ARCH__ >= 60
3060 /* ==========================================================================
3061    Assembly Syntax:       Vdd32.ub=vsub(Vuu32.ub,Vvv32.ub):sat
3062    C Intrinsic Prototype: HVX_VectorPair Q6_Wub_vsub_WubWub_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
3063    Instruction Type:      CVI_VA_DV
3064    Execution Slots:       SLOT0123
3065    ========================================================================== */
3066 
3067 #define Q6_Wub_vsub_WubWub_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsububsat_dv)
3068 #endif /* __HEXAGON_ARCH___ >= 60 */
3069 
3070 #if __HVX_ARCH__ >= 60
3071 /* ==========================================================================
3072    Assembly Syntax:       Vd32.uh=vsub(Vu32.uh,Vv32.uh):sat
3073    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vsub_VuhVuh_sat(HVX_Vector Vu, HVX_Vector Vv)
3074    Instruction Type:      CVI_VA
3075    Execution Slots:       SLOT0123
3076    ========================================================================== */
3077 
3078 #define Q6_Vuh_vsub_VuhVuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuhsat)
3079 #endif /* __HEXAGON_ARCH___ >= 60 */
3080 
3081 #if __HVX_ARCH__ >= 60
3082 /* ==========================================================================
3083    Assembly Syntax:       Vdd32.uh=vsub(Vuu32.uh,Vvv32.uh):sat
3084    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vsub_WuhWuh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
3085    Instruction Type:      CVI_VA_DV
3086    Execution Slots:       SLOT0123
3087    ========================================================================== */
3088 
3089 #define Q6_Wuh_vsub_WuhWuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuhsat_dv)
3090 #endif /* __HEXAGON_ARCH___ >= 60 */
3091 
3092 #if __HVX_ARCH__ >= 60
3093 /* ==========================================================================
3094    Assembly Syntax:       Vdd32.w=vsub(Vu32.uh,Vv32.uh)
3095    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
3096    Instruction Type:      CVI_VX_DV
3097    Execution Slots:       SLOT23
3098    ========================================================================== */
3099 
3100 #define Q6_Ww_vsub_VuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuhw)
3101 #endif /* __HEXAGON_ARCH___ >= 60 */
3102 
3103 #if __HVX_ARCH__ >= 60
3104 /* ==========================================================================
3105    Assembly Syntax:       Vd32.w=vsub(Vu32.w,Vv32.w)
3106    C Intrinsic Prototype: HVX_Vector Q6_Vw_vsub_VwVw(HVX_Vector Vu, HVX_Vector Vv)
3107    Instruction Type:      CVI_VA
3108    Execution Slots:       SLOT0123
3109    ========================================================================== */
3110 
3111 #define Q6_Vw_vsub_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubw)
3112 #endif /* __HEXAGON_ARCH___ >= 60 */
3113 
3114 #if __HVX_ARCH__ >= 60
3115 /* ==========================================================================
3116    Assembly Syntax:       Vdd32.w=vsub(Vuu32.w,Vvv32.w)
3117    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_WwWw(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
3118    Instruction Type:      CVI_VA_DV
3119    Execution Slots:       SLOT0123
3120    ========================================================================== */
3121 
3122 #define Q6_Ww_vsub_WwWw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubw_dv)
3123 #endif /* __HEXAGON_ARCH___ >= 60 */
3124 
3125 #if __HVX_ARCH__ >= 60
3126 /* ==========================================================================
3127    Assembly Syntax:       if (!Qv4) Vx32.w-=Vu32.w
3128    C Intrinsic Prototype: HVX_Vector Q6_Vw_condnac_QnVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
3129    Instruction Type:      CVI_VA
3130    Execution Slots:       SLOT0123
3131    ========================================================================== */
3132 
3133 #define Q6_Vw_condnac_QnVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwnq)
3134 #endif /* __HEXAGON_ARCH___ >= 60 */
3135 
3136 #if __HVX_ARCH__ >= 60
3137 /* ==========================================================================
3138    Assembly Syntax:       if (Qv4) Vx32.w-=Vu32.w
3139    C Intrinsic Prototype: HVX_Vector Q6_Vw_condnac_QVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
3140    Instruction Type:      CVI_VA
3141    Execution Slots:       SLOT0123
3142    ========================================================================== */
3143 
3144 #define Q6_Vw_condnac_QVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwq)
3145 #endif /* __HEXAGON_ARCH___ >= 60 */
3146 
3147 #if __HVX_ARCH__ >= 60
3148 /* ==========================================================================
3149    Assembly Syntax:       Vd32.w=vsub(Vu32.w,Vv32.w):sat
3150    C Intrinsic Prototype: HVX_Vector Q6_Vw_vsub_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
3151    Instruction Type:      CVI_VA
3152    Execution Slots:       SLOT0123
3153    ========================================================================== */
3154 
3155 #define Q6_Vw_vsub_VwVw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwsat)
3156 #endif /* __HEXAGON_ARCH___ >= 60 */
3157 
3158 #if __HVX_ARCH__ >= 60
3159 /* ==========================================================================
3160    Assembly Syntax:       Vdd32.w=vsub(Vuu32.w,Vvv32.w):sat
3161    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_WwWw_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
3162    Instruction Type:      CVI_VA_DV
3163    Execution Slots:       SLOT0123
3164    ========================================================================== */
3165 
3166 #define Q6_Ww_vsub_WwWw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwsat_dv)
3167 #endif /* __HEXAGON_ARCH___ >= 60 */
3168 
3169 #if __HVX_ARCH__ >= 60
3170 /* ==========================================================================
3171    Assembly Syntax:       Vdd32=vswap(Qt4,Vu32,Vv32)
3172    C Intrinsic Prototype: HVX_VectorPair Q6_W_vswap_QVV(HVX_VectorPred Qt, HVX_Vector Vu, HVX_Vector Vv)
3173    Instruction Type:      CVI_VA_DV
3174    Execution Slots:       SLOT0123
3175    ========================================================================== */
3176 
3177 #define Q6_W_vswap_QVV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vswap)
3178 #endif /* __HEXAGON_ARCH___ >= 60 */
3179 
3180 #if __HVX_ARCH__ >= 60
3181 /* ==========================================================================
3182    Assembly Syntax:       Vdd32.h=vtmpy(Vuu32.b,Rt32.b)
3183    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpy_WbRb(HVX_VectorPair Vuu, Word32 Rt)
3184    Instruction Type:      CVI_VX_DV
3185    Execution Slots:       SLOT23
3186    ========================================================================== */
3187 
3188 #define Q6_Wh_vtmpy_WbRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyb)
3189 #endif /* __HEXAGON_ARCH___ >= 60 */
3190 
3191 #if __HVX_ARCH__ >= 60
3192 /* ==========================================================================
3193    Assembly Syntax:       Vxx32.h+=vtmpy(Vuu32.b,Rt32.b)
3194    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpyacc_WhWbRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
3195    Instruction Type:      CVI_VX_DV
3196    Execution Slots:       SLOT23
3197    ========================================================================== */
3198 
3199 #define Q6_Wh_vtmpyacc_WhWbRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyb_acc)
3200 #endif /* __HEXAGON_ARCH___ >= 60 */
3201 
3202 #if __HVX_ARCH__ >= 60
3203 /* ==========================================================================
3204    Assembly Syntax:       Vdd32.h=vtmpy(Vuu32.ub,Rt32.b)
3205    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpy_WubRb(HVX_VectorPair Vuu, Word32 Rt)
3206    Instruction Type:      CVI_VX_DV
3207    Execution Slots:       SLOT23
3208    ========================================================================== */
3209 
3210 #define Q6_Wh_vtmpy_WubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpybus)
3211 #endif /* __HEXAGON_ARCH___ >= 60 */
3212 
3213 #if __HVX_ARCH__ >= 60
3214 /* ==========================================================================
3215    Assembly Syntax:       Vxx32.h+=vtmpy(Vuu32.ub,Rt32.b)
3216    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpyacc_WhWubRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
3217    Instruction Type:      CVI_VX_DV
3218    Execution Slots:       SLOT23
3219    ========================================================================== */
3220 
3221 #define Q6_Wh_vtmpyacc_WhWubRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpybus_acc)
3222 #endif /* __HEXAGON_ARCH___ >= 60 */
3223 
3224 #if __HVX_ARCH__ >= 60
3225 /* ==========================================================================
3226    Assembly Syntax:       Vdd32.w=vtmpy(Vuu32.h,Rt32.b)
3227    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vtmpy_WhRb(HVX_VectorPair Vuu, Word32 Rt)
3228    Instruction Type:      CVI_VX_DV
3229    Execution Slots:       SLOT23
3230    ========================================================================== */
3231 
3232 #define Q6_Ww_vtmpy_WhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyhb)
3233 #endif /* __HEXAGON_ARCH___ >= 60 */
3234 
3235 #if __HVX_ARCH__ >= 60
3236 /* ==========================================================================
3237    Assembly Syntax:       Vxx32.w+=vtmpy(Vuu32.h,Rt32.b)
3238    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vtmpyacc_WwWhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
3239    Instruction Type:      CVI_VX_DV
3240    Execution Slots:       SLOT23
3241    ========================================================================== */
3242 
3243 #define Q6_Ww_vtmpyacc_WwWhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyhb_acc)
3244 #endif /* __HEXAGON_ARCH___ >= 60 */
3245 
3246 #if __HVX_ARCH__ >= 60
3247 /* ==========================================================================
3248    Assembly Syntax:       Vdd32.h=vunpack(Vu32.b)
3249    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vunpack_Vb(HVX_Vector Vu)
3250    Instruction Type:      CVI_VP_VS
3251    Execution Slots:       SLOT0123
3252    ========================================================================== */
3253 
3254 #define Q6_Wh_vunpack_Vb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackb)
3255 #endif /* __HEXAGON_ARCH___ >= 60 */
3256 
3257 #if __HVX_ARCH__ >= 60
3258 /* ==========================================================================
3259    Assembly Syntax:       Vdd32.w=vunpack(Vu32.h)
3260    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vunpack_Vh(HVX_Vector Vu)
3261    Instruction Type:      CVI_VP_VS
3262    Execution Slots:       SLOT0123
3263    ========================================================================== */
3264 
3265 #define Q6_Ww_vunpack_Vh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackh)
3266 #endif /* __HEXAGON_ARCH___ >= 60 */
3267 
3268 #if __HVX_ARCH__ >= 60
3269 /* ==========================================================================
3270    Assembly Syntax:       Vxx32.h|=vunpacko(Vu32.b)
3271    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vunpackoor_WhVb(HVX_VectorPair Vxx, HVX_Vector Vu)
3272    Instruction Type:      CVI_VP_VS
3273    Execution Slots:       SLOT0123
3274    ========================================================================== */
3275 
3276 #define Q6_Wh_vunpackoor_WhVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackob)
3277 #endif /* __HEXAGON_ARCH___ >= 60 */
3278 
3279 #if __HVX_ARCH__ >= 60
3280 /* ==========================================================================
3281    Assembly Syntax:       Vxx32.w|=vunpacko(Vu32.h)
3282    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vunpackoor_WwVh(HVX_VectorPair Vxx, HVX_Vector Vu)
3283    Instruction Type:      CVI_VP_VS
3284    Execution Slots:       SLOT0123
3285    ========================================================================== */
3286 
3287 #define Q6_Ww_vunpackoor_WwVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackoh)
3288 #endif /* __HEXAGON_ARCH___ >= 60 */
3289 
3290 #if __HVX_ARCH__ >= 60
3291 /* ==========================================================================
3292    Assembly Syntax:       Vdd32.uh=vunpack(Vu32.ub)
3293    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vunpack_Vub(HVX_Vector Vu)
3294    Instruction Type:      CVI_VP_VS
3295    Execution Slots:       SLOT0123
3296    ========================================================================== */
3297 
3298 #define Q6_Wuh_vunpack_Vub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackub)
3299 #endif /* __HEXAGON_ARCH___ >= 60 */
3300 
3301 #if __HVX_ARCH__ >= 60
3302 /* ==========================================================================
3303    Assembly Syntax:       Vdd32.uw=vunpack(Vu32.uh)
3304    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vunpack_Vuh(HVX_Vector Vu)
3305    Instruction Type:      CVI_VP_VS
3306    Execution Slots:       SLOT0123
3307    ========================================================================== */
3308 
3309 #define Q6_Wuw_vunpack_Vuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackuh)
3310 #endif /* __HEXAGON_ARCH___ >= 60 */
3311 
3312 #if __HVX_ARCH__ >= 60
3313 /* ==========================================================================
3314    Assembly Syntax:       Vd32=vxor(Vu32,Vv32)
3315    C Intrinsic Prototype: HVX_Vector Q6_V_vxor_VV(HVX_Vector Vu, HVX_Vector Vv)
3316    Instruction Type:      CVI_VA
3317    Execution Slots:       SLOT0123
3318    ========================================================================== */
3319 
3320 #define Q6_V_vxor_VV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vxor)
3321 #endif /* __HEXAGON_ARCH___ >= 60 */
3322 
3323 #if __HVX_ARCH__ >= 60
3324 /* ==========================================================================
3325    Assembly Syntax:       Vdd32.uh=vzxt(Vu32.ub)
3326    C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vzxt_Vub(HVX_Vector Vu)
3327    Instruction Type:      CVI_VA_DV
3328    Execution Slots:       SLOT0123
3329    ========================================================================== */
3330 
3331 #define Q6_Wuh_vzxt_Vub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vzb)
3332 #endif /* __HEXAGON_ARCH___ >= 60 */
3333 
3334 #if __HVX_ARCH__ >= 60
3335 /* ==========================================================================
3336    Assembly Syntax:       Vdd32.uw=vzxt(Vu32.uh)
3337    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vzxt_Vuh(HVX_Vector Vu)
3338    Instruction Type:      CVI_VA_DV
3339    Execution Slots:       SLOT0123
3340    ========================================================================== */
3341 
3342 #define Q6_Wuw_vzxt_Vuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vzh)
3343 #endif /* __HEXAGON_ARCH___ >= 60 */
3344 
3345 #if __HVX_ARCH__ >= 62
3346 /* ==========================================================================
3347    Assembly Syntax:       Vd32.b=vsplat(Rt32)
3348    C Intrinsic Prototype: HVX_Vector Q6_Vb_vsplat_R(Word32 Rt)
3349    Instruction Type:      CVI_VX_LATE
3350    Execution Slots:       SLOT23
3351    ========================================================================== */
3352 
3353 #define Q6_Vb_vsplat_R __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lvsplatb)
3354 #endif /* __HEXAGON_ARCH___ >= 62 */
3355 
3356 #if __HVX_ARCH__ >= 62
3357 /* ==========================================================================
3358    Assembly Syntax:       Vd32.h=vsplat(Rt32)
3359    C Intrinsic Prototype: HVX_Vector Q6_Vh_vsplat_R(Word32 Rt)
3360    Instruction Type:      CVI_VX_LATE
3361    Execution Slots:       SLOT23
3362    ========================================================================== */
3363 
3364 #define Q6_Vh_vsplat_R __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lvsplath)
3365 #endif /* __HEXAGON_ARCH___ >= 62 */
3366 
3367 #if __HVX_ARCH__ >= 62
3368 /* ==========================================================================
3369    Assembly Syntax:       Qd4=vsetq2(Rt32)
3370    C Intrinsic Prototype: HVX_VectorPred Q6_Q_vsetq2_R(Word32 Rt)
3371    Instruction Type:      CVI_VP
3372    Execution Slots:       SLOT0123
3373    ========================================================================== */
3374 
3375 #define Q6_Q_vsetq2_R __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_scalar2v2)
3376 #endif /* __HEXAGON_ARCH___ >= 62 */
3377 
3378 #if __HVX_ARCH__ >= 62
3379 /* ==========================================================================
3380    Assembly Syntax:       Qd4.b=vshuffe(Qs4.h,Qt4.h)
3381    C Intrinsic Prototype: HVX_VectorPred Q6_Qb_vshuffe_QhQh(HVX_VectorPred Qs, HVX_VectorPred Qt)
3382    Instruction Type:      CVI_VA_DV
3383    Execution Slots:       SLOT0123
3384    ========================================================================== */
3385 
3386 #define Q6_Qb_vshuffe_QhQh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_shuffeqh)
3387 #endif /* __HEXAGON_ARCH___ >= 62 */
3388 
3389 #if __HVX_ARCH__ >= 62
3390 /* ==========================================================================
3391    Assembly Syntax:       Qd4.h=vshuffe(Qs4.w,Qt4.w)
3392    C Intrinsic Prototype: HVX_VectorPred Q6_Qh_vshuffe_QwQw(HVX_VectorPred Qs, HVX_VectorPred Qt)
3393    Instruction Type:      CVI_VA_DV
3394    Execution Slots:       SLOT0123
3395    ========================================================================== */
3396 
3397 #define Q6_Qh_vshuffe_QwQw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_shuffeqw)
3398 #endif /* __HEXAGON_ARCH___ >= 62 */
3399 
3400 #if __HVX_ARCH__ >= 62
3401 /* ==========================================================================
3402    Assembly Syntax:       Vd32.b=vadd(Vu32.b,Vv32.b):sat
3403    C Intrinsic Prototype: HVX_Vector Q6_Vb_vadd_VbVb_sat(HVX_Vector Vu, HVX_Vector Vv)
3404    Instruction Type:      CVI_VA
3405    Execution Slots:       SLOT0123
3406    ========================================================================== */
3407 
3408 #define Q6_Vb_vadd_VbVb_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbsat)
3409 #endif /* __HEXAGON_ARCH___ >= 62 */
3410 
3411 #if __HVX_ARCH__ >= 62
3412 /* ==========================================================================
3413    Assembly Syntax:       Vdd32.b=vadd(Vuu32.b,Vvv32.b):sat
3414    C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vadd_WbWb_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
3415    Instruction Type:      CVI_VA_DV
3416    Execution Slots:       SLOT0123
3417    ========================================================================== */
3418 
3419 #define Q6_Wb_vadd_WbWb_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbsat_dv)
3420 #endif /* __HEXAGON_ARCH___ >= 62 */
3421 
3422 #if __HVX_ARCH__ >= 62
3423 /* ==========================================================================
3424    Assembly Syntax:       Vd32.w=vadd(Vu32.w,Vv32.w,Qx4):carry
3425    C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_VwVwQ_carry(HVX_Vector Vu, HVX_Vector Vv, HVX_VectorPred* Qx)
3426    Instruction Type:      CVI_VA
3427    Execution Slots:       SLOT0123
3428    ========================================================================== */
3429 
3430 #define Q6_Vw_vadd_VwVwQ_carry __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddcarry)
3431 #endif /* __HEXAGON_ARCH___ >= 62 */
3432 
3433 #if __HVX_ARCH__ >= 62
3434 /* ==========================================================================
3435    Assembly Syntax:       Vd32.h=vadd(vclb(Vu32.h),Vv32.h)
3436    C Intrinsic Prototype: HVX_Vector Q6_Vh_vadd_vclb_VhVh(HVX_Vector Vu, HVX_Vector Vv)
3437    Instruction Type:      CVI_VS
3438    Execution Slots:       SLOT0123
3439    ========================================================================== */
3440 
3441 #define Q6_Vh_vadd_vclb_VhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddclbh)
3442 #endif /* __HEXAGON_ARCH___ >= 62 */
3443 
3444 #if __HVX_ARCH__ >= 62
3445 /* ==========================================================================
3446    Assembly Syntax:       Vd32.w=vadd(vclb(Vu32.w),Vv32.w)
3447    C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_vclb_VwVw(HVX_Vector Vu, HVX_Vector Vv)
3448    Instruction Type:      CVI_VS
3449    Execution Slots:       SLOT0123
3450    ========================================================================== */
3451 
3452 #define Q6_Vw_vadd_vclb_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddclbw)
3453 #endif /* __HEXAGON_ARCH___ >= 62 */
3454 
3455 #if __HVX_ARCH__ >= 62
3456 /* ==========================================================================
3457    Assembly Syntax:       Vxx32.w+=vadd(Vu32.h,Vv32.h)
3458    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vaddacc_WwVhVh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
3459    Instruction Type:      CVI_VX_DV
3460    Execution Slots:       SLOT23
3461    ========================================================================== */
3462 
3463 #define Q6_Ww_vaddacc_WwVhVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhw_acc)
3464 #endif /* __HEXAGON_ARCH___ >= 62 */
3465 
3466 #if __HVX_ARCH__ >= 62
3467 /* ==========================================================================
3468    Assembly Syntax:       Vxx32.h+=vadd(Vu32.ub,Vv32.ub)
3469    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vaddacc_WhVubVub(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
3470    Instruction Type:      CVI_VX_DV
3471    Execution Slots:       SLOT23
3472    ========================================================================== */
3473 
3474 #define Q6_Wh_vaddacc_WhVubVub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubh_acc)
3475 #endif /* __HEXAGON_ARCH___ >= 62 */
3476 
3477 #if __HVX_ARCH__ >= 62
3478 /* ==========================================================================
3479    Assembly Syntax:       Vd32.ub=vadd(Vu32.ub,Vv32.b):sat
3480    C Intrinsic Prototype: HVX_Vector Q6_Vub_vadd_VubVb_sat(HVX_Vector Vu, HVX_Vector Vv)
3481    Instruction Type:      CVI_VA
3482    Execution Slots:       SLOT0123
3483    ========================================================================== */
3484 
3485 #define Q6_Vub_vadd_VubVb_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddububb_sat)
3486 #endif /* __HEXAGON_ARCH___ >= 62 */
3487 
3488 #if __HVX_ARCH__ >= 62
3489 /* ==========================================================================
3490    Assembly Syntax:       Vxx32.w+=vadd(Vu32.uh,Vv32.uh)
3491    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vaddacc_WwVuhVuh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
3492    Instruction Type:      CVI_VX_DV
3493    Execution Slots:       SLOT23
3494    ========================================================================== */
3495 
3496 #define Q6_Ww_vaddacc_WwVuhVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhw_acc)
3497 #endif /* __HEXAGON_ARCH___ >= 62 */
3498 
3499 #if __HVX_ARCH__ >= 62
3500 /* ==========================================================================
3501    Assembly Syntax:       Vd32.uw=vadd(Vu32.uw,Vv32.uw):sat
3502    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vadd_VuwVuw_sat(HVX_Vector Vu, HVX_Vector Vv)
3503    Instruction Type:      CVI_VA
3504    Execution Slots:       SLOT0123
3505    ========================================================================== */
3506 
3507 #define Q6_Vuw_vadd_VuwVuw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduwsat)
3508 #endif /* __HEXAGON_ARCH___ >= 62 */
3509 
3510 #if __HVX_ARCH__ >= 62
3511 /* ==========================================================================
3512    Assembly Syntax:       Vdd32.uw=vadd(Vuu32.uw,Vvv32.uw):sat
3513    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vadd_WuwWuw_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
3514    Instruction Type:      CVI_VA_DV
3515    Execution Slots:       SLOT0123
3516    ========================================================================== */
3517 
3518 #define Q6_Wuw_vadd_WuwWuw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduwsat_dv)
3519 #endif /* __HEXAGON_ARCH___ >= 62 */
3520 
3521 #if __HVX_ARCH__ >= 62
3522 /* ==========================================================================
3523    Assembly Syntax:       Vd32=vand(!Qu4,Rt32)
3524    C Intrinsic Prototype: HVX_Vector Q6_V_vand_QnR(HVX_VectorPred Qu, Word32 Rt)
3525    Instruction Type:      CVI_VX_LATE
3526    Execution Slots:       SLOT23
3527    ========================================================================== */
3528 
3529 #define Q6_V_vand_QnR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandnqrt)
3530 #endif /* __HEXAGON_ARCH___ >= 62 */
3531 
3532 #if __HVX_ARCH__ >= 62
3533 /* ==========================================================================
3534    Assembly Syntax:       Vx32|=vand(!Qu4,Rt32)
3535    C Intrinsic Prototype: HVX_Vector Q6_V_vandor_VQnR(HVX_Vector Vx, HVX_VectorPred Qu, Word32 Rt)
3536    Instruction Type:      CVI_VX_LATE
3537    Execution Slots:       SLOT23
3538    ========================================================================== */
3539 
3540 #define Q6_V_vandor_VQnR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandnqrt_acc)
3541 #endif /* __HEXAGON_ARCH___ >= 62 */
3542 
3543 #if __HVX_ARCH__ >= 62
3544 /* ==========================================================================
3545    Assembly Syntax:       Vd32=vand(!Qv4,Vu32)
3546    C Intrinsic Prototype: HVX_Vector Q6_V_vand_QnV(HVX_VectorPred Qv, HVX_Vector Vu)
3547    Instruction Type:      CVI_VA
3548    Execution Slots:       SLOT0123
3549    ========================================================================== */
3550 
3551 #define Q6_V_vand_QnV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvnqv)
3552 #endif /* __HEXAGON_ARCH___ >= 62 */
3553 
3554 #if __HVX_ARCH__ >= 62
3555 /* ==========================================================================
3556    Assembly Syntax:       Vd32=vand(Qv4,Vu32)
3557    C Intrinsic Prototype: HVX_Vector Q6_V_vand_QV(HVX_VectorPred Qv, HVX_Vector Vu)
3558    Instruction Type:      CVI_VA
3559    Execution Slots:       SLOT0123
3560    ========================================================================== */
3561 
3562 #define Q6_V_vand_QV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvqv)
3563 #endif /* __HEXAGON_ARCH___ >= 62 */
3564 
3565 #if __HVX_ARCH__ >= 62
3566 /* ==========================================================================
3567    Assembly Syntax:       Vd32.b=vasr(Vu32.h,Vv32.h,Rt8):sat
3568    C Intrinsic Prototype: HVX_Vector Q6_Vb_vasr_VhVhR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
3569    Instruction Type:      CVI_VS
3570    Execution Slots:       SLOT0123
3571    ========================================================================== */
3572 
3573 #define Q6_Vb_vasr_VhVhR_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhbsat)
3574 #endif /* __HEXAGON_ARCH___ >= 62 */
3575 
3576 #if __HVX_ARCH__ >= 62
3577 /* ==========================================================================
3578    Assembly Syntax:       Vd32.uh=vasr(Vu32.uw,Vv32.uw,Rt8):rnd:sat
3579    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_VuwVuwR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
3580    Instruction Type:      CVI_VS
3581    Execution Slots:       SLOT0123
3582    ========================================================================== */
3583 
3584 #define Q6_Vuh_vasr_VuwVuwR_rnd_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruwuhrndsat)
3585 #endif /* __HEXAGON_ARCH___ >= 62 */
3586 
3587 #if __HVX_ARCH__ >= 62
3588 /* ==========================================================================
3589    Assembly Syntax:       Vd32.uh=vasr(Vu32.w,Vv32.w,Rt8):rnd:sat
3590    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_VwVwR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
3591    Instruction Type:      CVI_VS
3592    Execution Slots:       SLOT0123
3593    ========================================================================== */
3594 
3595 #define Q6_Vuh_vasr_VwVwR_rnd_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwuhrndsat)
3596 #endif /* __HEXAGON_ARCH___ >= 62 */
3597 
3598 #if __HVX_ARCH__ >= 62
3599 /* ==========================================================================
3600    Assembly Syntax:       Vd32.ub=vlsr(Vu32.ub,Rt32)
3601    C Intrinsic Prototype: HVX_Vector Q6_Vub_vlsr_VubR(HVX_Vector Vu, Word32 Rt)
3602    Instruction Type:      CVI_VS
3603    Execution Slots:       SLOT0123
3604    ========================================================================== */
3605 
3606 #define Q6_Vub_vlsr_VubR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrb)
3607 #endif /* __HEXAGON_ARCH___ >= 62 */
3608 
3609 #if __HVX_ARCH__ >= 62
3610 /* ==========================================================================
3611    Assembly Syntax:       Vd32.b=vlut32(Vu32.b,Vv32.b,Rt8):nomatch
3612    C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32_VbVbR_nomatch(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
3613    Instruction Type:      CVI_VP
3614    Execution Slots:       SLOT0123
3615    ========================================================================== */
3616 
3617 #define Q6_Vb_vlut32_VbVbR_nomatch __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb_nm)
3618 #endif /* __HEXAGON_ARCH___ >= 62 */
3619 
3620 #if __HVX_ARCH__ >= 62
3621 /* ==========================================================================
3622    Assembly Syntax:       Vx32.b|=vlut32(Vu32.b,Vv32.b,#u3)
3623    C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32or_VbVbVbI(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
3624    Instruction Type:      CVI_VP_VS
3625    Execution Slots:       SLOT0123
3626    ========================================================================== */
3627 
3628 #define Q6_Vb_vlut32or_VbVbVbI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb_oracci)
3629 #endif /* __HEXAGON_ARCH___ >= 62 */
3630 
3631 #if __HVX_ARCH__ >= 62
3632 /* ==========================================================================
3633    Assembly Syntax:       Vd32.b=vlut32(Vu32.b,Vv32.b,#u3)
3634    C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32_VbVbI(HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
3635    Instruction Type:      CVI_VP
3636    Execution Slots:       SLOT0123
3637    ========================================================================== */
3638 
3639 #define Q6_Vb_vlut32_VbVbI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvbi)
3640 #endif /* __HEXAGON_ARCH___ >= 62 */
3641 
3642 #if __HVX_ARCH__ >= 62
3643 /* ==========================================================================
3644    Assembly Syntax:       Vdd32.h=vlut16(Vu32.b,Vv32.h,Rt8):nomatch
3645    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16_VbVhR_nomatch(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
3646    Instruction Type:      CVI_VP_VS
3647    Execution Slots:       SLOT0123
3648    ========================================================================== */
3649 
3650 #define Q6_Wh_vlut16_VbVhR_nomatch __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh_nm)
3651 #endif /* __HEXAGON_ARCH___ >= 62 */
3652 
3653 #if __HVX_ARCH__ >= 62
3654 /* ==========================================================================
3655    Assembly Syntax:       Vxx32.h|=vlut16(Vu32.b,Vv32.h,#u3)
3656    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16or_WhVbVhI(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
3657    Instruction Type:      CVI_VP_VS
3658    Execution Slots:       SLOT0123
3659    ========================================================================== */
3660 
3661 #define Q6_Wh_vlut16or_WhVbVhI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh_oracci)
3662 #endif /* __HEXAGON_ARCH___ >= 62 */
3663 
3664 #if __HVX_ARCH__ >= 62
3665 /* ==========================================================================
3666    Assembly Syntax:       Vdd32.h=vlut16(Vu32.b,Vv32.h,#u3)
3667    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16_VbVhI(HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
3668    Instruction Type:      CVI_VP_VS
3669    Execution Slots:       SLOT0123
3670    ========================================================================== */
3671 
3672 #define Q6_Wh_vlut16_VbVhI __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwhi)
3673 #endif /* __HEXAGON_ARCH___ >= 62 */
3674 
3675 #if __HVX_ARCH__ >= 62
3676 /* ==========================================================================
3677    Assembly Syntax:       Vd32.b=vmax(Vu32.b,Vv32.b)
3678    C Intrinsic Prototype: HVX_Vector Q6_Vb_vmax_VbVb(HVX_Vector Vu, HVX_Vector Vv)
3679    Instruction Type:      CVI_VA
3680    Execution Slots:       SLOT0123
3681    ========================================================================== */
3682 
3683 #define Q6_Vb_vmax_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxb)
3684 #endif /* __HEXAGON_ARCH___ >= 62 */
3685 
3686 #if __HVX_ARCH__ >= 62
3687 /* ==========================================================================
3688    Assembly Syntax:       Vd32.b=vmin(Vu32.b,Vv32.b)
3689    C Intrinsic Prototype: HVX_Vector Q6_Vb_vmin_VbVb(HVX_Vector Vu, HVX_Vector Vv)
3690    Instruction Type:      CVI_VA
3691    Execution Slots:       SLOT0123
3692    ========================================================================== */
3693 
3694 #define Q6_Vb_vmin_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminb)
3695 #endif /* __HEXAGON_ARCH___ >= 62 */
3696 
3697 #if __HVX_ARCH__ >= 62
3698 /* ==========================================================================
3699    Assembly Syntax:       Vdd32.w=vmpa(Vuu32.uh,Rt32.b)
3700    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpa_WuhRb(HVX_VectorPair Vuu, Word32 Rt)
3701    Instruction Type:      CVI_VX_DV
3702    Execution Slots:       SLOT23
3703    ========================================================================== */
3704 
3705 #define Q6_Ww_vmpa_WuhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpauhb)
3706 #endif /* __HEXAGON_ARCH___ >= 62 */
3707 
3708 #if __HVX_ARCH__ >= 62
3709 /* ==========================================================================
3710    Assembly Syntax:       Vxx32.w+=vmpa(Vuu32.uh,Rt32.b)
3711    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpaacc_WwWuhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
3712    Instruction Type:      CVI_VX_DV
3713    Execution Slots:       SLOT23
3714    ========================================================================== */
3715 
3716 #define Q6_Ww_vmpaacc_WwWuhRb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpauhb_acc)
3717 #endif /* __HEXAGON_ARCH___ >= 62 */
3718 
3719 #if __HVX_ARCH__ >= 62
3720 /* ==========================================================================
3721    Assembly Syntax:       Vdd32=vmpye(Vu32.w,Vv32.uh)
3722    C Intrinsic Prototype: HVX_VectorPair Q6_W_vmpye_VwVuh(HVX_Vector Vu, HVX_Vector Vv)
3723    Instruction Type:      CVI_VX_DV
3724    Execution Slots:       SLOT23
3725    ========================================================================== */
3726 
3727 #define Q6_W_vmpye_VwVuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyewuh_64)
3728 #endif /* __HEXAGON_ARCH___ >= 62 */
3729 
3730 #if __HVX_ARCH__ >= 62
3731 /* ==========================================================================
3732    Assembly Syntax:       Vd32.w=vmpyi(Vu32.w,Rt32.ub)
3733    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyi_VwRub(HVX_Vector Vu, Word32 Rt)
3734    Instruction Type:      CVI_VX
3735    Execution Slots:       SLOT23
3736    ========================================================================== */
3737 
3738 #define Q6_Vw_vmpyi_VwRub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwub)
3739 #endif /* __HEXAGON_ARCH___ >= 62 */
3740 
3741 #if __HVX_ARCH__ >= 62
3742 /* ==========================================================================
3743    Assembly Syntax:       Vx32.w+=vmpyi(Vu32.w,Rt32.ub)
3744    C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyiacc_VwVwRub(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
3745    Instruction Type:      CVI_VX
3746    Execution Slots:       SLOT23
3747    ========================================================================== */
3748 
3749 #define Q6_Vw_vmpyiacc_VwVwRub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwub_acc)
3750 #endif /* __HEXAGON_ARCH___ >= 62 */
3751 
3752 #if __HVX_ARCH__ >= 62
3753 /* ==========================================================================
3754    Assembly Syntax:       Vxx32+=vmpyo(Vu32.w,Vv32.h)
3755    C Intrinsic Prototype: HVX_VectorPair Q6_W_vmpyoacc_WVwVh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
3756    Instruction Type:      CVI_VX_DV
3757    Execution Slots:       SLOT23
3758    ========================================================================== */
3759 
3760 #define Q6_W_vmpyoacc_WVwVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_64_acc)
3761 #endif /* __HEXAGON_ARCH___ >= 62 */
3762 
3763 #if __HVX_ARCH__ >= 62
3764 /* ==========================================================================
3765    Assembly Syntax:       Vd32.ub=vround(Vu32.uh,Vv32.uh):sat
3766    C Intrinsic Prototype: HVX_Vector Q6_Vub_vround_VuhVuh_sat(HVX_Vector Vu, HVX_Vector Vv)
3767    Instruction Type:      CVI_VS
3768    Execution Slots:       SLOT0123
3769    ========================================================================== */
3770 
3771 #define Q6_Vub_vround_VuhVuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrounduhub)
3772 #endif /* __HEXAGON_ARCH___ >= 62 */
3773 
3774 #if __HVX_ARCH__ >= 62
3775 /* ==========================================================================
3776    Assembly Syntax:       Vd32.uh=vround(Vu32.uw,Vv32.uw):sat
3777    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vround_VuwVuw_sat(HVX_Vector Vu, HVX_Vector Vv)
3778    Instruction Type:      CVI_VS
3779    Execution Slots:       SLOT0123
3780    ========================================================================== */
3781 
3782 #define Q6_Vuh_vround_VuwVuw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrounduwuh)
3783 #endif /* __HEXAGON_ARCH___ >= 62 */
3784 
3785 #if __HVX_ARCH__ >= 62
3786 /* ==========================================================================
3787    Assembly Syntax:       Vd32.uh=vsat(Vu32.uw,Vv32.uw)
3788    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vsat_VuwVuw(HVX_Vector Vu, HVX_Vector Vv)
3789    Instruction Type:      CVI_VA
3790    Execution Slots:       SLOT0123
3791    ========================================================================== */
3792 
3793 #define Q6_Vuh_vsat_VuwVuw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsatuwuh)
3794 #endif /* __HEXAGON_ARCH___ >= 62 */
3795 
3796 #if __HVX_ARCH__ >= 62
3797 /* ==========================================================================
3798    Assembly Syntax:       Vd32.b=vsub(Vu32.b,Vv32.b):sat
3799    C Intrinsic Prototype: HVX_Vector Q6_Vb_vsub_VbVb_sat(HVX_Vector Vu, HVX_Vector Vv)
3800    Instruction Type:      CVI_VA
3801    Execution Slots:       SLOT0123
3802    ========================================================================== */
3803 
3804 #define Q6_Vb_vsub_VbVb_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbsat)
3805 #endif /* __HEXAGON_ARCH___ >= 62 */
3806 
3807 #if __HVX_ARCH__ >= 62
3808 /* ==========================================================================
3809    Assembly Syntax:       Vdd32.b=vsub(Vuu32.b,Vvv32.b):sat
3810    C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vsub_WbWb_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
3811    Instruction Type:      CVI_VA_DV
3812    Execution Slots:       SLOT0123
3813    ========================================================================== */
3814 
3815 #define Q6_Wb_vsub_WbWb_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbsat_dv)
3816 #endif /* __HEXAGON_ARCH___ >= 62 */
3817 
3818 #if __HVX_ARCH__ >= 62
3819 /* ==========================================================================
3820    Assembly Syntax:       Vd32.w=vsub(Vu32.w,Vv32.w,Qx4):carry
3821    C Intrinsic Prototype: HVX_Vector Q6_Vw_vsub_VwVwQ_carry(HVX_Vector Vu, HVX_Vector Vv, HVX_VectorPred* Qx)
3822    Instruction Type:      CVI_VA
3823    Execution Slots:       SLOT0123
3824    ========================================================================== */
3825 
3826 #define Q6_Vw_vsub_VwVwQ_carry __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubcarry)
3827 #endif /* __HEXAGON_ARCH___ >= 62 */
3828 
3829 #if __HVX_ARCH__ >= 62
3830 /* ==========================================================================
3831    Assembly Syntax:       Vd32.ub=vsub(Vu32.ub,Vv32.b):sat
3832    C Intrinsic Prototype: HVX_Vector Q6_Vub_vsub_VubVb_sat(HVX_Vector Vu, HVX_Vector Vv)
3833    Instruction Type:      CVI_VA
3834    Execution Slots:       SLOT0123
3835    ========================================================================== */
3836 
3837 #define Q6_Vub_vsub_VubVb_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubububb_sat)
3838 #endif /* __HEXAGON_ARCH___ >= 62 */
3839 
3840 #if __HVX_ARCH__ >= 62
3841 /* ==========================================================================
3842    Assembly Syntax:       Vd32.uw=vsub(Vu32.uw,Vv32.uw):sat
3843    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vsub_VuwVuw_sat(HVX_Vector Vu, HVX_Vector Vv)
3844    Instruction Type:      CVI_VA
3845    Execution Slots:       SLOT0123
3846    ========================================================================== */
3847 
3848 #define Q6_Vuw_vsub_VuwVuw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuwsat)
3849 #endif /* __HEXAGON_ARCH___ >= 62 */
3850 
3851 #if __HVX_ARCH__ >= 62
3852 /* ==========================================================================
3853    Assembly Syntax:       Vdd32.uw=vsub(Vuu32.uw,Vvv32.uw):sat
3854    C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vsub_WuwWuw_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
3855    Instruction Type:      CVI_VA_DV
3856    Execution Slots:       SLOT0123
3857    ========================================================================== */
3858 
3859 #define Q6_Wuw_vsub_WuwWuw_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuwsat_dv)
3860 #endif /* __HEXAGON_ARCH___ >= 62 */
3861 
3862 #if __HVX_ARCH__ >= 65
3863 /* ==========================================================================
3864    Assembly Syntax:       Vd32.b=vabs(Vu32.b)
3865    C Intrinsic Prototype: HVX_Vector Q6_Vb_vabs_Vb(HVX_Vector Vu)
3866    Instruction Type:      CVI_VA
3867    Execution Slots:       SLOT0123
3868    ========================================================================== */
3869 
3870 #define Q6_Vb_vabs_Vb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsb)
3871 #endif /* __HEXAGON_ARCH___ >= 65 */
3872 
3873 #if __HVX_ARCH__ >= 65
3874 /* ==========================================================================
3875    Assembly Syntax:       Vd32.b=vabs(Vu32.b):sat
3876    C Intrinsic Prototype: HVX_Vector Q6_Vb_vabs_Vb_sat(HVX_Vector Vu)
3877    Instruction Type:      CVI_VA
3878    Execution Slots:       SLOT0123
3879    ========================================================================== */
3880 
3881 #define Q6_Vb_vabs_Vb_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsb_sat)
3882 #endif /* __HEXAGON_ARCH___ >= 65 */
3883 
3884 #if __HVX_ARCH__ >= 65
3885 /* ==========================================================================
3886    Assembly Syntax:       Vx32.h+=vasl(Vu32.h,Rt32)
3887    C Intrinsic Prototype: HVX_Vector Q6_Vh_vaslacc_VhVhR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
3888    Instruction Type:      CVI_VS
3889    Execution Slots:       SLOT0123
3890    ========================================================================== */
3891 
3892 #define Q6_Vh_vaslacc_VhVhR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslh_acc)
3893 #endif /* __HEXAGON_ARCH___ >= 65 */
3894 
3895 #if __HVX_ARCH__ >= 65
3896 /* ==========================================================================
3897    Assembly Syntax:       Vx32.h+=vasr(Vu32.h,Rt32)
3898    C Intrinsic Prototype: HVX_Vector Q6_Vh_vasracc_VhVhR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
3899    Instruction Type:      CVI_VS
3900    Execution Slots:       SLOT0123
3901    ========================================================================== */
3902 
3903 #define Q6_Vh_vasracc_VhVhR __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrh_acc)
3904 #endif /* __HEXAGON_ARCH___ >= 65 */
3905 
3906 #if __HVX_ARCH__ >= 65
3907 /* ==========================================================================
3908    Assembly Syntax:       Vd32.ub=vasr(Vu32.uh,Vv32.uh,Rt8):rnd:sat
3909    C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_VuhVuhR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
3910    Instruction Type:      CVI_VS
3911    Execution Slots:       SLOT0123
3912    ========================================================================== */
3913 
3914 #define Q6_Vub_vasr_VuhVuhR_rnd_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruhubrndsat)
3915 #endif /* __HEXAGON_ARCH___ >= 65 */
3916 
3917 #if __HVX_ARCH__ >= 65
3918 /* ==========================================================================
3919    Assembly Syntax:       Vd32.ub=vasr(Vu32.uh,Vv32.uh,Rt8):sat
3920    C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_VuhVuhR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
3921    Instruction Type:      CVI_VS
3922    Execution Slots:       SLOT0123
3923    ========================================================================== */
3924 
3925 #define Q6_Vub_vasr_VuhVuhR_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruhubsat)
3926 #endif /* __HEXAGON_ARCH___ >= 65 */
3927 
3928 #if __HVX_ARCH__ >= 65
3929 /* ==========================================================================
3930    Assembly Syntax:       Vd32.uh=vasr(Vu32.uw,Vv32.uw,Rt8):sat
3931    C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_VuwVuwR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
3932    Instruction Type:      CVI_VS
3933    Execution Slots:       SLOT0123
3934    ========================================================================== */
3935 
3936 #define Q6_Vuh_vasr_VuwVuwR_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruwuhsat)
3937 #endif /* __HEXAGON_ARCH___ >= 65 */
3938 
3939 #if __HVX_ARCH__ >= 65
3940 /* ==========================================================================
3941    Assembly Syntax:       Vd32.b=vavg(Vu32.b,Vv32.b)
3942    C Intrinsic Prototype: HVX_Vector Q6_Vb_vavg_VbVb(HVX_Vector Vu, HVX_Vector Vv)
3943    Instruction Type:      CVI_VA
3944    Execution Slots:       SLOT0123
3945    ========================================================================== */
3946 
3947 #define Q6_Vb_vavg_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgb)
3948 #endif /* __HEXAGON_ARCH___ >= 65 */
3949 
3950 #if __HVX_ARCH__ >= 65
3951 /* ==========================================================================
3952    Assembly Syntax:       Vd32.b=vavg(Vu32.b,Vv32.b):rnd
3953    C Intrinsic Prototype: HVX_Vector Q6_Vb_vavg_VbVb_rnd(HVX_Vector Vu, HVX_Vector Vv)
3954    Instruction Type:      CVI_VA
3955    Execution Slots:       SLOT0123
3956    ========================================================================== */
3957 
3958 #define Q6_Vb_vavg_VbVb_rnd __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgbrnd)
3959 #endif /* __HEXAGON_ARCH___ >= 65 */
3960 
3961 #if __HVX_ARCH__ >= 65
3962 /* ==========================================================================
3963    Assembly Syntax:       Vd32.uw=vavg(Vu32.uw,Vv32.uw)
3964    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vavg_VuwVuw(HVX_Vector Vu, HVX_Vector Vv)
3965    Instruction Type:      CVI_VA
3966    Execution Slots:       SLOT0123
3967    ========================================================================== */
3968 
3969 #define Q6_Vuw_vavg_VuwVuw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguw)
3970 #endif /* __HEXAGON_ARCH___ >= 65 */
3971 
3972 #if __HVX_ARCH__ >= 65
3973 /* ==========================================================================
3974    Assembly Syntax:       Vd32.uw=vavg(Vu32.uw,Vv32.uw):rnd
3975    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vavg_VuwVuw_rnd(HVX_Vector Vu, HVX_Vector Vv)
3976    Instruction Type:      CVI_VA
3977    Execution Slots:       SLOT0123
3978    ========================================================================== */
3979 
3980 #define Q6_Vuw_vavg_VuwVuw_rnd __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguwrnd)
3981 #endif /* __HEXAGON_ARCH___ >= 65 */
3982 
3983 #if __HVX_ARCH__ >= 65
3984 /* ==========================================================================
3985    Assembly Syntax:       Vdd32=#0
3986    C Intrinsic Prototype: HVX_VectorPair Q6_W_vzero()
3987    Instruction Type:      MAPPING
3988    Execution Slots:       SLOT0123
3989    ========================================================================== */
3990 
3991 #define Q6_W_vzero __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdd0)
3992 #endif /* __HEXAGON_ARCH___ >= 65 */
3993 
3994 #if __HVX_ARCH__ >= 65
3995 /* ==========================================================================
3996    Assembly Syntax:       vtmp.h=vgather(Rt32,Mu2,Vv32.h).h
3997    C Intrinsic Prototype: void Q6_vgather_ARMVh(HVX_Vector* Rs, Word32 Rt, Word32 Mu, HVX_Vector Vv)
3998    Instruction Type:      CVI_GATHER
3999    Execution Slots:       SLOT01
4000    ========================================================================== */
4001 
4002 #define Q6_vgather_ARMVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermh)
4003 #endif /* __HEXAGON_ARCH___ >= 65 */
4004 
4005 #if __HVX_ARCH__ >= 65
4006 /* ==========================================================================
4007    Assembly Syntax:       if (Qs4) vtmp.h=vgather(Rt32,Mu2,Vv32.h).h
4008    C Intrinsic Prototype: void Q6_vgather_AQRMVh(HVX_Vector* Rs, HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_Vector Vv)
4009    Instruction Type:      CVI_GATHER
4010    Execution Slots:       SLOT01
4011    ========================================================================== */
4012 
4013 #define Q6_vgather_AQRMVh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermhq)
4014 #endif /* __HEXAGON_ARCH___ >= 65 */
4015 
4016 #if __HVX_ARCH__ >= 65
4017 /* ==========================================================================
4018    Assembly Syntax:       vtmp.h=vgather(Rt32,Mu2,Vvv32.w).h
4019    C Intrinsic Prototype: void Q6_vgather_ARMWw(HVX_Vector* Rs, Word32 Rt, Word32 Mu, HVX_VectorPair Vvv)
4020    Instruction Type:      CVI_GATHER_DV
4021    Execution Slots:       SLOT01
4022    ========================================================================== */
4023 
4024 #define Q6_vgather_ARMWw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermhw)
4025 #endif /* __HEXAGON_ARCH___ >= 65 */
4026 
4027 #if __HVX_ARCH__ >= 65
4028 /* ==========================================================================
4029    Assembly Syntax:       if (Qs4) vtmp.h=vgather(Rt32,Mu2,Vvv32.w).h
4030    C Intrinsic Prototype: void Q6_vgather_AQRMWw(HVX_Vector* Rs, HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_VectorPair Vvv)
4031    Instruction Type:      CVI_GATHER_DV
4032    Execution Slots:       SLOT01
4033    ========================================================================== */
4034 
4035 #define Q6_vgather_AQRMWw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermhwq)
4036 #endif /* __HEXAGON_ARCH___ >= 65 */
4037 
4038 #if __HVX_ARCH__ >= 65
4039 /* ==========================================================================
4040    Assembly Syntax:       vtmp.w=vgather(Rt32,Mu2,Vv32.w).w
4041    C Intrinsic Prototype: void Q6_vgather_ARMVw(HVX_Vector* Rs, Word32 Rt, Word32 Mu, HVX_Vector Vv)
4042    Instruction Type:      CVI_GATHER
4043    Execution Slots:       SLOT01
4044    ========================================================================== */
4045 
4046 #define Q6_vgather_ARMVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermw)
4047 #endif /* __HEXAGON_ARCH___ >= 65 */
4048 
4049 #if __HVX_ARCH__ >= 65
4050 /* ==========================================================================
4051    Assembly Syntax:       if (Qs4) vtmp.w=vgather(Rt32,Mu2,Vv32.w).w
4052    C Intrinsic Prototype: void Q6_vgather_AQRMVw(HVX_Vector* Rs, HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_Vector Vv)
4053    Instruction Type:      CVI_GATHER
4054    Execution Slots:       SLOT01
4055    ========================================================================== */
4056 
4057 #define Q6_vgather_AQRMVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermwq)
4058 #endif /* __HEXAGON_ARCH___ >= 65 */
4059 
4060 #if __HVX_ARCH__ >= 65
4061 /* ==========================================================================
4062    Assembly Syntax:       Vd32.h=vlut4(Vu32.uh,Rtt32.h)
4063    C Intrinsic Prototype: HVX_Vector Q6_Vh_vlut4_VuhPh(HVX_Vector Vu, Word64 Rtt)
4064    Instruction Type:      CVI_VX_DV
4065    Execution Slots:       SLOT2
4066    ========================================================================== */
4067 
4068 #define Q6_Vh_vlut4_VuhPh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlut4)
4069 #endif /* __HEXAGON_ARCH___ >= 65 */
4070 
4071 #if __HVX_ARCH__ >= 65
4072 /* ==========================================================================
4073    Assembly Syntax:       Vdd32.h=vmpa(Vuu32.ub,Rt32.ub)
4074    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubRub(HVX_VectorPair Vuu, Word32 Rt)
4075    Instruction Type:      CVI_VX_DV
4076    Execution Slots:       SLOT23
4077    ========================================================================== */
4078 
4079 #define Q6_Wh_vmpa_WubRub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabuu)
4080 #endif /* __HEXAGON_ARCH___ >= 65 */
4081 
4082 #if __HVX_ARCH__ >= 65
4083 /* ==========================================================================
4084    Assembly Syntax:       Vxx32.h+=vmpa(Vuu32.ub,Rt32.ub)
4085    C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpaacc_WhWubRub(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
4086    Instruction Type:      CVI_VX_DV
4087    Execution Slots:       SLOT23
4088    ========================================================================== */
4089 
4090 #define Q6_Wh_vmpaacc_WhWubRub __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabuu_acc)
4091 #endif /* __HEXAGON_ARCH___ >= 65 */
4092 
4093 #if __HVX_ARCH__ >= 65
4094 /* ==========================================================================
4095    Assembly Syntax:       Vx32.h=vmpa(Vx32.h,Vu32.h,Rtt32.h):sat
4096    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpa_VhVhVhPh_sat(HVX_Vector Vx, HVX_Vector Vu, Word64 Rtt)
4097    Instruction Type:      CVI_VX_DV
4098    Execution Slots:       SLOT2
4099    ========================================================================== */
4100 
4101 #define Q6_Vh_vmpa_VhVhVhPh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpahhsat)
4102 #endif /* __HEXAGON_ARCH___ >= 65 */
4103 
4104 #if __HVX_ARCH__ >= 65
4105 /* ==========================================================================
4106    Assembly Syntax:       Vx32.h=vmpa(Vx32.h,Vu32.uh,Rtt32.uh):sat
4107    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpa_VhVhVuhPuh_sat(HVX_Vector Vx, HVX_Vector Vu, Word64 Rtt)
4108    Instruction Type:      CVI_VX_DV
4109    Execution Slots:       SLOT2
4110    ========================================================================== */
4111 
4112 #define Q6_Vh_vmpa_VhVhVuhPuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpauhuhsat)
4113 #endif /* __HEXAGON_ARCH___ >= 65 */
4114 
4115 #if __HVX_ARCH__ >= 65
4116 /* ==========================================================================
4117    Assembly Syntax:       Vx32.h=vmps(Vx32.h,Vu32.uh,Rtt32.uh):sat
4118    C Intrinsic Prototype: HVX_Vector Q6_Vh_vmps_VhVhVuhPuh_sat(HVX_Vector Vx, HVX_Vector Vu, Word64 Rtt)
4119    Instruction Type:      CVI_VX_DV
4120    Execution Slots:       SLOT2
4121    ========================================================================== */
4122 
4123 #define Q6_Vh_vmps_VhVhVuhPuh_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpsuhuhsat)
4124 #endif /* __HEXAGON_ARCH___ >= 65 */
4125 
4126 #if __HVX_ARCH__ >= 65
4127 /* ==========================================================================
4128    Assembly Syntax:       Vxx32.w+=vmpy(Vu32.h,Rt32.h)
4129    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhRh(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
4130    Instruction Type:      CVI_VX_DV
4131    Execution Slots:       SLOT23
4132    ========================================================================== */
4133 
4134 #define Q6_Ww_vmpyacc_WwVhRh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyh_acc)
4135 #endif /* __HEXAGON_ARCH___ >= 65 */
4136 
4137 #if __HVX_ARCH__ >= 65
4138 /* ==========================================================================
4139    Assembly Syntax:       Vd32.uw=vmpye(Vu32.uh,Rt32.uh)
4140    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vmpye_VuhRuh(HVX_Vector Vu, Word32 Rt)
4141    Instruction Type:      CVI_VX
4142    Execution Slots:       SLOT23
4143    ========================================================================== */
4144 
4145 #define Q6_Vuw_vmpye_VuhRuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhe)
4146 #endif /* __HEXAGON_ARCH___ >= 65 */
4147 
4148 #if __HVX_ARCH__ >= 65
4149 /* ==========================================================================
4150    Assembly Syntax:       Vx32.uw+=vmpye(Vu32.uh,Rt32.uh)
4151    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vmpyeacc_VuwVuhRuh(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
4152    Instruction Type:      CVI_VX
4153    Execution Slots:       SLOT23
4154    ========================================================================== */
4155 
4156 #define Q6_Vuw_vmpyeacc_VuwVuhRuh __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhe_acc)
4157 #endif /* __HEXAGON_ARCH___ >= 65 */
4158 
4159 #if __HVX_ARCH__ >= 65
4160 /* ==========================================================================
4161    Assembly Syntax:       Vd32.b=vnavg(Vu32.b,Vv32.b)
4162    C Intrinsic Prototype: HVX_Vector Q6_Vb_vnavg_VbVb(HVX_Vector Vu, HVX_Vector Vv)
4163    Instruction Type:      CVI_VA
4164    Execution Slots:       SLOT0123
4165    ========================================================================== */
4166 
4167 #define Q6_Vb_vnavg_VbVb __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgb)
4168 #endif /* __HEXAGON_ARCH___ >= 65 */
4169 
4170 #if __HVX_ARCH__ >= 65
4171 /* ==========================================================================
4172    Assembly Syntax:       Vd32.b=prefixsum(Qv4)
4173    C Intrinsic Prototype: HVX_Vector Q6_Vb_prefixsum_Q(HVX_VectorPred Qv)
4174    Instruction Type:      CVI_VS
4175    Execution Slots:       SLOT0123
4176    ========================================================================== */
4177 
4178 #define Q6_Vb_prefixsum_Q __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vprefixqb)
4179 #endif /* __HEXAGON_ARCH___ >= 65 */
4180 
4181 #if __HVX_ARCH__ >= 65
4182 /* ==========================================================================
4183    Assembly Syntax:       Vd32.h=prefixsum(Qv4)
4184    C Intrinsic Prototype: HVX_Vector Q6_Vh_prefixsum_Q(HVX_VectorPred Qv)
4185    Instruction Type:      CVI_VS
4186    Execution Slots:       SLOT0123
4187    ========================================================================== */
4188 
4189 #define Q6_Vh_prefixsum_Q __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vprefixqh)
4190 #endif /* __HEXAGON_ARCH___ >= 65 */
4191 
4192 #if __HVX_ARCH__ >= 65
4193 /* ==========================================================================
4194    Assembly Syntax:       Vd32.w=prefixsum(Qv4)
4195    C Intrinsic Prototype: HVX_Vector Q6_Vw_prefixsum_Q(HVX_VectorPred Qv)
4196    Instruction Type:      CVI_VS
4197    Execution Slots:       SLOT0123
4198    ========================================================================== */
4199 
4200 #define Q6_Vw_prefixsum_Q __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vprefixqw)
4201 #endif /* __HEXAGON_ARCH___ >= 65 */
4202 
4203 #if __HVX_ARCH__ >= 65
4204 /* ==========================================================================
4205    Assembly Syntax:       vscatter(Rt32,Mu2,Vv32.h).h=Vw32
4206    C Intrinsic Prototype: void Q6_vscatter_RMVhV(Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
4207    Instruction Type:      CVI_SCATTER
4208    Execution Slots:       SLOT0
4209    ========================================================================== */
4210 
4211 #define Q6_vscatter_RMVhV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermh)
4212 #endif /* __HEXAGON_ARCH___ >= 65 */
4213 
4214 #if __HVX_ARCH__ >= 65
4215 /* ==========================================================================
4216    Assembly Syntax:       vscatter(Rt32,Mu2,Vv32.h).h+=Vw32
4217    C Intrinsic Prototype: void Q6_vscatteracc_RMVhV(Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
4218    Instruction Type:      CVI_SCATTER
4219    Execution Slots:       SLOT0
4220    ========================================================================== */
4221 
4222 #define Q6_vscatteracc_RMVhV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermh_add)
4223 #endif /* __HEXAGON_ARCH___ >= 65 */
4224 
4225 #if __HVX_ARCH__ >= 65
4226 /* ==========================================================================
4227    Assembly Syntax:       if (Qs4) vscatter(Rt32,Mu2,Vv32.h).h=Vw32
4228    C Intrinsic Prototype: void Q6_vscatter_QRMVhV(HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
4229    Instruction Type:      CVI_SCATTER
4230    Execution Slots:       SLOT0
4231    ========================================================================== */
4232 
4233 #define Q6_vscatter_QRMVhV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhq)
4234 #endif /* __HEXAGON_ARCH___ >= 65 */
4235 
4236 #if __HVX_ARCH__ >= 65
4237 /* ==========================================================================
4238    Assembly Syntax:       vscatter(Rt32,Mu2,Vvv32.w).h=Vw32
4239    C Intrinsic Prototype: void Q6_vscatter_RMWwV(Word32 Rt, Word32 Mu, HVX_VectorPair Vvv, HVX_Vector Vw)
4240    Instruction Type:      CVI_SCATTER_DV
4241    Execution Slots:       SLOT0
4242    ========================================================================== */
4243 
4244 #define Q6_vscatter_RMWwV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhw)
4245 #endif /* __HEXAGON_ARCH___ >= 65 */
4246 
4247 #if __HVX_ARCH__ >= 65
4248 /* ==========================================================================
4249    Assembly Syntax:       vscatter(Rt32,Mu2,Vvv32.w).h+=Vw32
4250    C Intrinsic Prototype: void Q6_vscatteracc_RMWwV(Word32 Rt, Word32 Mu, HVX_VectorPair Vvv, HVX_Vector Vw)
4251    Instruction Type:      CVI_SCATTER_DV
4252    Execution Slots:       SLOT0
4253    ========================================================================== */
4254 
4255 #define Q6_vscatteracc_RMWwV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhw_add)
4256 #endif /* __HEXAGON_ARCH___ >= 65 */
4257 
4258 #if __HVX_ARCH__ >= 65
4259 /* ==========================================================================
4260    Assembly Syntax:       if (Qs4) vscatter(Rt32,Mu2,Vvv32.w).h=Vw32
4261    C Intrinsic Prototype: void Q6_vscatter_QRMWwV(HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_VectorPair Vvv, HVX_Vector Vw)
4262    Instruction Type:      CVI_SCATTER_DV
4263    Execution Slots:       SLOT0
4264    ========================================================================== */
4265 
4266 #define Q6_vscatter_QRMWwV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhwq)
4267 #endif /* __HEXAGON_ARCH___ >= 65 */
4268 
4269 #if __HVX_ARCH__ >= 65
4270 /* ==========================================================================
4271    Assembly Syntax:       vscatter(Rt32,Mu2,Vv32.w).w=Vw32
4272    C Intrinsic Prototype: void Q6_vscatter_RMVwV(Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
4273    Instruction Type:      CVI_SCATTER
4274    Execution Slots:       SLOT0
4275    ========================================================================== */
4276 
4277 #define Q6_vscatter_RMVwV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermw)
4278 #endif /* __HEXAGON_ARCH___ >= 65 */
4279 
4280 #if __HVX_ARCH__ >= 65
4281 /* ==========================================================================
4282    Assembly Syntax:       vscatter(Rt32,Mu2,Vv32.w).w+=Vw32
4283    C Intrinsic Prototype: void Q6_vscatteracc_RMVwV(Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
4284    Instruction Type:      CVI_SCATTER
4285    Execution Slots:       SLOT0
4286    ========================================================================== */
4287 
4288 #define Q6_vscatteracc_RMVwV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermw_add)
4289 #endif /* __HEXAGON_ARCH___ >= 65 */
4290 
4291 #if __HVX_ARCH__ >= 65
4292 /* ==========================================================================
4293    Assembly Syntax:       if (Qs4) vscatter(Rt32,Mu2,Vv32.w).w=Vw32
4294    C Intrinsic Prototype: void Q6_vscatter_QRMVwV(HVX_VectorPred Qs, Word32 Rt, Word32 Mu, HVX_Vector Vv, HVX_Vector Vw)
4295    Instruction Type:      CVI_SCATTER
4296    Execution Slots:       SLOT0
4297    ========================================================================== */
4298 
4299 #define Q6_vscatter_QRMVwV __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermwq)
4300 #endif /* __HEXAGON_ARCH___ >= 65 */
4301 
4302 #if __HVX_ARCH__ >= 66
4303 /* ==========================================================================
4304    Assembly Syntax:       Vd32.w=vadd(Vu32.w,Vv32.w,Qs4):carry:sat
4305    C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_VwVwQ_carry_sat(HVX_Vector Vu, HVX_Vector Vv, HVX_VectorPred Qs)
4306    Instruction Type:      CVI_VA
4307    Execution Slots:       SLOT0123
4308    ========================================================================== */
4309 
4310 #define Q6_Vw_vadd_VwVwQ_carry_sat __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddcarrysat)
4311 #endif /* __HEXAGON_ARCH___ >= 66 */
4312 
4313 #if __HVX_ARCH__ >= 66
4314 /* ==========================================================================
4315    Assembly Syntax:       Vxx32.w=vasrinto(Vu32.w,Vv32.w)
4316    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vasrinto_WwVwVw(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
4317    Instruction Type:      CVI_VP_VS
4318    Execution Slots:       SLOT0123
4319    ========================================================================== */
4320 
4321 #define Q6_Ww_vasrinto_WwVwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasr_into)
4322 #endif /* __HEXAGON_ARCH___ >= 66 */
4323 
4324 #if __HVX_ARCH__ >= 66
4325 /* ==========================================================================
4326    Assembly Syntax:       Vd32.uw=vrotr(Vu32.uw,Vv32.uw)
4327    C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrotr_VuwVuw(HVX_Vector Vu, HVX_Vector Vv)
4328    Instruction Type:      CVI_VS
4329    Execution Slots:       SLOT0123
4330    ========================================================================== */
4331 
4332 #define Q6_Vuw_vrotr_VuwVuw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrotr)
4333 #endif /* __HEXAGON_ARCH___ >= 66 */
4334 
4335 #if __HVX_ARCH__ >= 66
4336 /* ==========================================================================
4337    Assembly Syntax:       Vd32.w=vsatdw(Vu32.w,Vv32.w)
4338    C Intrinsic Prototype: HVX_Vector Q6_Vw_vsatdw_VwVw(HVX_Vector Vu, HVX_Vector Vv)
4339    Instruction Type:      CVI_VA
4340    Execution Slots:       SLOT0123
4341    ========================================================================== */
4342 
4343 #define Q6_Vw_vsatdw_VwVw __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsatdw)
4344 #endif /* __HEXAGON_ARCH___ >= 66 */
4345 
4346 #if __HVX_ARCH__ >= 68
4347 /* ==========================================================================
4348    Assembly Syntax:       Vdd32.w=v6mpy(Vuu32.ub,Vvv32.b,#u2):h
4349    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_v6mpy_WubWbI_h(HVX_VectorPair Vuu, HVX_VectorPair Vvv, Word32 Iu2)
4350    Instruction Type:      CVI_VX_DV
4351    Execution Slots:       SLOT23
4352    ========================================================================== */
4353 
4354 #define Q6_Ww_v6mpy_WubWbI_h __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyhubs10)
4355 #endif /* __HEXAGON_ARCH___ >= 68 */
4356 
4357 #if __HVX_ARCH__ >= 68
4358 /* ==========================================================================
4359    Assembly Syntax:       Vxx32.w+=v6mpy(Vuu32.ub,Vvv32.b,#u2):h
4360    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_v6mpyacc_WwWubWbI_h(HVX_VectorPair Vxx, HVX_VectorPair Vuu, HVX_VectorPair Vvv, Word32 Iu2)
4361    Instruction Type:      CVI_VX_DV
4362    Execution Slots:       SLOT23
4363    ========================================================================== */
4364 
4365 #define Q6_Ww_v6mpyacc_WwWubWbI_h __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyhubs10_vxx)
4366 #endif /* __HEXAGON_ARCH___ >= 68 */
4367 
4368 #if __HVX_ARCH__ >= 68
4369 /* ==========================================================================
4370    Assembly Syntax:       Vdd32.w=v6mpy(Vuu32.ub,Vvv32.b,#u2):v
4371    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_v6mpy_WubWbI_v(HVX_VectorPair Vuu, HVX_VectorPair Vvv, Word32 Iu2)
4372    Instruction Type:      CVI_VX_DV
4373    Execution Slots:       SLOT23
4374    ========================================================================== */
4375 
4376 #define Q6_Ww_v6mpy_WubWbI_v __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyvubs10)
4377 #endif /* __HEXAGON_ARCH___ >= 68 */
4378 
4379 #if __HVX_ARCH__ >= 68
4380 /* ==========================================================================
4381    Assembly Syntax:       Vxx32.w+=v6mpy(Vuu32.ub,Vvv32.b,#u2):v
4382    C Intrinsic Prototype: HVX_VectorPair Q6_Ww_v6mpyacc_WwWubWbI_v(HVX_VectorPair Vxx, HVX_VectorPair Vuu, HVX_VectorPair Vvv, Word32 Iu2)
4383    Instruction Type:      CVI_VX_DV
4384    Execution Slots:       SLOT23
4385    ========================================================================== */
4386 
4387 #define Q6_Ww_v6mpyacc_WwWubWbI_v __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyvubs10_vxx)
4388 #endif /* __HEXAGON_ARCH___ >= 68 */
4389 
4390 #endif /* __HVX__ */
4391 
4392 #endif
4393