@cpp-linter/clang-tidy-linux-arm64 12.0.1 → 13.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_device_functions.h +174 -102
  4. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_runtime_wrapper.h +7 -6
  5. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_hip_cmath.h +272 -94
  6. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_hip_libdevice_declares.h +24 -12
  7. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_hip_math.h +48 -2
  8. package/lib/clang/13.0.1/include/__clang_hip_runtime_wrapper.h +124 -0
  9. package/lib/clang/{12.0.1 → 13.0.1}/include/altivec.h +1165 -423
  10. package/lib/clang/{12.0.1 → 13.0.1}/include/amxintrin.h +234 -19
  11. package/lib/clang/{12.0.1 → 13.0.1}/include/arm_acle.h +55 -0
  12. package/lib/clang/{12.0.1 → 13.0.1}/include/arm_neon.h +1077 -165
  13. package/lib/clang/{12.0.1 → 13.0.1}/include/arm_sve.h +11791 -5896
  14. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512fintrin.h +177 -37
  15. package/lib/clang/13.0.1/include/builtins.h +16 -0
  16. package/lib/clang/{12.0.1 → 13.0.1}/include/cuda_wrappers/complex +8 -0
  17. package/lib/clang/13.0.1/include/hexagon_circ_brev_intrinsics.h +298 -0
  18. package/lib/clang/13.0.1/include/hexagon_protos.h +8450 -0
  19. package/lib/clang/13.0.1/include/hexagon_types.h +2653 -0
  20. package/lib/clang/13.0.1/include/hvx_hexagon_protos.h +4392 -0
  21. package/lib/clang/{12.0.1 → 13.0.1}/include/intrin.h +44 -8
  22. package/lib/clang/{12.0.1 → 13.0.1}/include/keylockerintrin.h +30 -0
  23. package/lib/clang/{12.0.1 → 13.0.1}/include/opencl-c-base.h +144 -3
  24. package/lib/clang/{12.0.1 → 13.0.1}/include/opencl-c.h +505 -355
  25. package/lib/clang/13.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +106 -0
  26. package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/cmath +54 -0
  27. package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/complex +1 -7
  28. package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/complex.h +0 -1
  29. package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/math.h +10 -0
  30. package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/new +2 -24
  31. package/lib/clang/13.0.1/include/riscv_vector.h +123865 -0
  32. package/lib/clang/{12.0.1 → 13.0.1}/include/uintrintrin.h +7 -0
  33. package/lib/clang/{12.0.1 → 13.0.1}/include/vaesintrin.h +21 -20
  34. package/lib/clang/{12.0.1 → 13.0.1}/include/vecintrin.h +206 -77
  35. package/lib/clang/{12.0.1 → 13.0.1}/include/vpclmulqdqintrin.h +2 -0
  36. package/lib/clang/{12.0.1 → 13.0.1}/include/wasm_simd128.h +806 -239
  37. package/package.json +6 -6
  38. package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +0 -69
  39. package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -42
  40. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_builtin_vars.h +0 -0
  41. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_cmath.h +0 -0
  42. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_complex_builtins.h +0 -0
  43. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_intrinsics.h +0 -0
  44. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_libdevice_declares.h +0 -0
  45. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_math.h +2 -2
  46. package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_math_forward_declares.h +0 -0
  47. package/lib/clang/{12.0.1 → 13.0.1}/include/__stddef_max_align_t.h +0 -0
  48. package/lib/clang/{12.0.1 → 13.0.1}/include/__wmmintrin_aes.h +0 -0
  49. package/lib/clang/{12.0.1 → 13.0.1}/include/__wmmintrin_pclmul.h +0 -0
  50. package/lib/clang/{12.0.1 → 13.0.1}/include/adxintrin.h +0 -0
  51. package/lib/clang/{12.0.1 → 13.0.1}/include/ammintrin.h +0 -0
  52. package/lib/clang/{12.0.1 → 13.0.1}/include/arm64intr.h +0 -0
  53. package/lib/clang/{12.0.1 → 13.0.1}/include/arm_bf16.h +0 -0
  54. package/lib/clang/{12.0.1 → 13.0.1}/include/arm_cde.h +0 -0
  55. package/lib/clang/{12.0.1 → 13.0.1}/include/arm_cmse.h +0 -0
  56. package/lib/clang/{12.0.1 → 13.0.1}/include/arm_fp16.h +0 -0
  57. package/lib/clang/{12.0.1 → 13.0.1}/include/arm_mve.h +0 -0
  58. package/lib/clang/{12.0.1 → 13.0.1}/include/armintr.h +0 -0
  59. package/lib/clang/{12.0.1 → 13.0.1}/include/avx2intrin.h +0 -0
  60. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512bf16intrin.h +0 -0
  61. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512bitalgintrin.h +0 -0
  62. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512bwintrin.h +0 -0
  63. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512cdintrin.h +0 -0
  64. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512dqintrin.h +0 -0
  65. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512erintrin.h +0 -0
  66. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512ifmaintrin.h +0 -0
  67. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512ifmavlintrin.h +0 -0
  68. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512pfintrin.h +0 -0
  69. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vbmi2intrin.h +0 -0
  70. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vbmiintrin.h +0 -0
  71. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vbmivlintrin.h +0 -0
  72. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlbf16intrin.h +0 -0
  73. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlbitalgintrin.h +0 -0
  74. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlbwintrin.h +0 -0
  75. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlcdintrin.h +0 -0
  76. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vldqintrin.h +0 -0
  77. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlintrin.h +0 -0
  78. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlvbmi2intrin.h +0 -0
  79. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlvnniintrin.h +0 -0
  80. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlvp2intersectintrin.h +0 -0
  81. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vnniintrin.h +0 -0
  82. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vp2intersectintrin.h +0 -0
  83. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vpopcntdqintrin.h +0 -0
  84. package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vpopcntdqvlintrin.h +0 -0
  85. package/lib/clang/{12.0.1 → 13.0.1}/include/avxintrin.h +0 -0
  86. package/lib/clang/{12.0.1 → 13.0.1}/include/avxvnniintrin.h +0 -0
  87. package/lib/clang/{12.0.1 → 13.0.1}/include/bmi2intrin.h +0 -0
  88. package/lib/clang/{12.0.1 → 13.0.1}/include/bmiintrin.h +0 -0
  89. package/lib/clang/{12.0.1 → 13.0.1}/include/cet.h +0 -0
  90. package/lib/clang/{12.0.1 → 13.0.1}/include/cetintrin.h +0 -0
  91. package/lib/clang/{12.0.1 → 13.0.1}/include/cldemoteintrin.h +0 -0
  92. package/lib/clang/{12.0.1 → 13.0.1}/include/clflushoptintrin.h +0 -0
  93. package/lib/clang/{12.0.1 → 13.0.1}/include/clwbintrin.h +0 -0
  94. package/lib/clang/{12.0.1 → 13.0.1}/include/clzerointrin.h +0 -0
  95. package/lib/clang/{12.0.1 → 13.0.1}/include/cpuid.h +0 -0
  96. package/lib/clang/{12.0.1 → 13.0.1}/include/cuda_wrappers/algorithm +0 -0
  97. package/lib/clang/{12.0.1 → 13.0.1}/include/cuda_wrappers/new +0 -0
  98. package/lib/clang/{12.0.1 → 13.0.1}/include/emmintrin.h +0 -0
  99. package/lib/clang/{12.0.1 → 13.0.1}/include/enqcmdintrin.h +0 -0
  100. package/lib/clang/{12.0.1 → 13.0.1}/include/f16cintrin.h +0 -0
  101. package/lib/clang/{12.0.1 → 13.0.1}/include/float.h +0 -0
  102. package/lib/clang/{12.0.1 → 13.0.1}/include/fma4intrin.h +0 -0
  103. package/lib/clang/{12.0.1 → 13.0.1}/include/fmaintrin.h +0 -0
  104. package/lib/clang/{12.0.1 → 13.0.1}/include/fxsrintrin.h +0 -0
  105. package/lib/clang/{12.0.1 → 13.0.1}/include/gfniintrin.h +0 -0
  106. package/lib/clang/{12.0.1 → 13.0.1}/include/hresetintrin.h +0 -0
  107. package/lib/clang/{12.0.1 → 13.0.1}/include/htmintrin.h +0 -0
  108. package/lib/clang/{12.0.1 → 13.0.1}/include/htmxlintrin.h +0 -0
  109. package/lib/clang/{12.0.1 → 13.0.1}/include/ia32intrin.h +0 -0
  110. package/lib/clang/{12.0.1 → 13.0.1}/include/immintrin.h +5 -5
  111. /package/lib/clang/{12.0.1 → 13.0.1}/include/inttypes.h +0 -0
  112. /package/lib/clang/{12.0.1 → 13.0.1}/include/invpcidintrin.h +0 -0
  113. /package/lib/clang/{12.0.1 → 13.0.1}/include/iso646.h +0 -0
  114. /package/lib/clang/{12.0.1 → 13.0.1}/include/limits.h +0 -0
  115. /package/lib/clang/{12.0.1 → 13.0.1}/include/lwpintrin.h +0 -0
  116. /package/lib/clang/{12.0.1 → 13.0.1}/include/lzcntintrin.h +0 -0
  117. /package/lib/clang/{12.0.1 → 13.0.1}/include/mm3dnow.h +0 -0
  118. /package/lib/clang/{12.0.1 → 13.0.1}/include/mm_malloc.h +0 -0
  119. /package/lib/clang/{12.0.1 → 13.0.1}/include/mmintrin.h +0 -0
  120. /package/lib/clang/{12.0.1 → 13.0.1}/include/module.modulemap +0 -0
  121. /package/lib/clang/{12.0.1 → 13.0.1}/include/movdirintrin.h +0 -0
  122. /package/lib/clang/{12.0.1 → 13.0.1}/include/msa.h +0 -0
  123. /package/lib/clang/{12.0.1 → 13.0.1}/include/mwaitxintrin.h +0 -0
  124. /package/lib/clang/{12.0.1 → 13.0.1}/include/nmmintrin.h +0 -0
  125. /package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/complex_cmath.h +0 -0
  126. /package/lib/clang/{12.0.1 → 13.0.1}/include/pconfigintrin.h +0 -0
  127. /package/lib/clang/{12.0.1 → 13.0.1}/include/pkuintrin.h +0 -0
  128. /package/lib/clang/{12.0.1 → 13.0.1}/include/pmmintrin.h +0 -0
  129. /package/lib/clang/{12.0.1 → 13.0.1}/include/popcntintrin.h +0 -0
  130. /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/emmintrin.h +0 -0
  131. /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/mm_malloc.h +0 -0
  132. /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/mmintrin.h +0 -0
  133. /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/pmmintrin.h +0 -0
  134. /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/smmintrin.h +0 -0
  135. /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/tmmintrin.h +0 -0
  136. /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/xmmintrin.h +0 -0
  137. /package/lib/clang/{12.0.1 → 13.0.1}/include/prfchwintrin.h +0 -0
  138. /package/lib/clang/{12.0.1 → 13.0.1}/include/ptwriteintrin.h +0 -0
  139. /package/lib/clang/{12.0.1 → 13.0.1}/include/rdseedintrin.h +0 -0
  140. /package/lib/clang/{12.0.1 → 13.0.1}/include/rtmintrin.h +0 -0
  141. /package/lib/clang/{12.0.1 → 13.0.1}/include/s390intrin.h +0 -0
  142. /package/lib/clang/{12.0.1 → 13.0.1}/include/serializeintrin.h +0 -0
  143. /package/lib/clang/{12.0.1 → 13.0.1}/include/sgxintrin.h +0 -0
  144. /package/lib/clang/{12.0.1 → 13.0.1}/include/shaintrin.h +0 -0
  145. /package/lib/clang/{12.0.1 → 13.0.1}/include/smmintrin.h +0 -0
  146. /package/lib/clang/{12.0.1 → 13.0.1}/include/stdalign.h +0 -0
  147. /package/lib/clang/{12.0.1 → 13.0.1}/include/stdarg.h +0 -0
  148. /package/lib/clang/{12.0.1 → 13.0.1}/include/stdatomic.h +0 -0
  149. /package/lib/clang/{12.0.1 → 13.0.1}/include/stdbool.h +0 -0
  150. /package/lib/clang/{12.0.1 → 13.0.1}/include/stddef.h +0 -0
  151. /package/lib/clang/{12.0.1 → 13.0.1}/include/stdint.h +0 -0
  152. /package/lib/clang/{12.0.1 → 13.0.1}/include/stdnoreturn.h +0 -0
  153. /package/lib/clang/{12.0.1 → 13.0.1}/include/tbmintrin.h +0 -0
  154. /package/lib/clang/{12.0.1 → 13.0.1}/include/tgmath.h +0 -0
  155. /package/lib/clang/{12.0.1 → 13.0.1}/include/tmmintrin.h +0 -0
  156. /package/lib/clang/{12.0.1 → 13.0.1}/include/tsxldtrkintrin.h +0 -0
  157. /package/lib/clang/{12.0.1 → 13.0.1}/include/unwind.h +0 -0
  158. /package/lib/clang/{12.0.1 → 13.0.1}/include/vadefs.h +0 -0
  159. /package/lib/clang/{12.0.1 → 13.0.1}/include/varargs.h +0 -0
  160. /package/lib/clang/{12.0.1 → 13.0.1}/include/waitpkgintrin.h +0 -0
  161. /package/lib/clang/{12.0.1 → 13.0.1}/include/wbnoinvdintrin.h +0 -0
  162. /package/lib/clang/{12.0.1 → 13.0.1}/include/wmmintrin.h +0 -0
  163. /package/lib/clang/{12.0.1 → 13.0.1}/include/x86gprintrin.h +0 -0
  164. /package/lib/clang/{12.0.1 → 13.0.1}/include/x86intrin.h +0 -0
  165. /package/lib/clang/{12.0.1 → 13.0.1}/include/xmmintrin.h +0 -0
  166. /package/lib/clang/{12.0.1 → 13.0.1}/include/xopintrin.h +0 -0
  167. /package/lib/clang/{12.0.1 → 13.0.1}/include/xsavecintrin.h +0 -0
  168. /package/lib/clang/{12.0.1 → 13.0.1}/include/xsaveintrin.h +0 -0
  169. /package/lib/clang/{12.0.1 → 13.0.1}/include/xsaveoptintrin.h +0 -0
  170. /package/lib/clang/{12.0.1 → 13.0.1}/include/xsavesintrin.h +0 -0
  171. /package/lib/clang/{12.0.1 → 13.0.1}/include/xtestintrin.h +0 -0
@@ -0,0 +1,4392 @@
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