@cpp-linter/clang-tidy-darwin-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.
- package/README.md +2 -2
- package/bin/clang-tidy +2 -2
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_device_functions.h +174 -102
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_runtime_wrapper.h +7 -6
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_hip_cmath.h +272 -94
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_hip_libdevice_declares.h +24 -12
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_hip_math.h +48 -2
- package/lib/clang/13.0.1/include/__clang_hip_runtime_wrapper.h +124 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/altivec.h +1165 -423
- package/lib/clang/{12.0.1 → 13.0.1}/include/amxintrin.h +234 -19
- package/lib/clang/{12.0.1 → 13.0.1}/include/arm_acle.h +55 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/arm_neon.h +1077 -165
- package/lib/clang/{12.0.1 → 13.0.1}/include/arm_sve.h +11791 -5896
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512fintrin.h +177 -37
- package/lib/clang/13.0.1/include/builtins.h +16 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/cuda_wrappers/complex +8 -0
- package/lib/clang/13.0.1/include/hexagon_circ_brev_intrinsics.h +298 -0
- package/lib/clang/13.0.1/include/hexagon_protos.h +8450 -0
- package/lib/clang/13.0.1/include/hexagon_types.h +2653 -0
- package/lib/clang/13.0.1/include/hvx_hexagon_protos.h +4392 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/intrin.h +44 -8
- package/lib/clang/{12.0.1 → 13.0.1}/include/keylockerintrin.h +30 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/opencl-c-base.h +144 -3
- package/lib/clang/{12.0.1 → 13.0.1}/include/opencl-c.h +505 -355
- package/lib/clang/13.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +106 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/cmath +54 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/complex +1 -7
- package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/complex.h +0 -1
- package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/math.h +10 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/new +2 -24
- package/lib/clang/13.0.1/include/riscv_vector.h +123865 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/uintrintrin.h +7 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/vaesintrin.h +21 -20
- package/lib/clang/{12.0.1 → 13.0.1}/include/vecintrin.h +206 -77
- package/lib/clang/{12.0.1 → 13.0.1}/include/vpclmulqdqintrin.h +2 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/wasm_simd128.h +806 -239
- package/package.json +6 -6
- package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +0 -69
- package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -42
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_builtin_vars.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_cmath.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_complex_builtins.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_intrinsics.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_libdevice_declares.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_math.h +2 -2
- package/lib/clang/{12.0.1 → 13.0.1}/include/__clang_cuda_math_forward_declares.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/__stddef_max_align_t.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/__wmmintrin_aes.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/__wmmintrin_pclmul.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/adxintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/ammintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/arm64intr.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/arm_bf16.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/arm_cde.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/arm_cmse.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/arm_fp16.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/arm_mve.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/armintr.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx2intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512bf16intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512bitalgintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512bwintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512cdintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512dqintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512erintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512ifmaintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512ifmavlintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512pfintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vbmi2intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vbmiintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vbmivlintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlbf16intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlbitalgintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlbwintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlcdintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vldqintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlvbmi2intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlvnniintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vlvp2intersectintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vnniintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vp2intersectintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vpopcntdqintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avx512vpopcntdqvlintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avxintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/avxvnniintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/bmi2intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/bmiintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/cet.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/cetintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/cldemoteintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/clflushoptintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/clwbintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/clzerointrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/cpuid.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/cuda_wrappers/algorithm +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/cuda_wrappers/new +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/emmintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/enqcmdintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/f16cintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/float.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/fma4intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/fmaintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/fxsrintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/gfniintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/hresetintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/htmintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/htmxlintrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/ia32intrin.h +0 -0
- package/lib/clang/{12.0.1 → 13.0.1}/include/immintrin.h +5 -5
- /package/lib/clang/{12.0.1 → 13.0.1}/include/inttypes.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/iso646.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/limits.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/lwpintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/mm3dnow.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/mm_malloc.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/mmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/module.modulemap +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/movdirintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/msa.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/nmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/pkuintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/pmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/popcntintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/rtmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/s390intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/serializeintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/sgxintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/shaintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/smmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/stdalign.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/stdarg.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/stdatomic.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/stdbool.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/stddef.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/stdint.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/tbmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/tgmath.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/tmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/unwind.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/vadefs.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/varargs.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/wmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/x86gprintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/x86intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/xmmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/xopintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 13.0.1}/include/xsavesintrin.h +0 -0
- /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
|