@nativescript/ios 9.0.0-esm.3 → 9.0.0-napi-v8.0
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/framework/internal/XCFrameworks.zip +0 -0
- package/framework/internal/metadata-generator-arm64/bin/objc-metadata-generator +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/objc-metadata-generator +0 -0
- package/package.json +1 -1
- package/framework/.build_env_vars.sh +0 -591
- package/framework/__PROJECT_NAME__.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/framework/__PROJECT_NAME__.xcodeproj/project.xcworkspace/xcuserdata/nstudio.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_cuda_builtin_vars.h +0 -121
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_cuda_cmath.h +0 -512
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_cuda_complex_builtins.h +0 -285
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_cuda_device_functions.h +0 -1558
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_cuda_intrinsics.h +0 -709
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_cuda_libdevice_declares.h +0 -468
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_cuda_math.h +0 -348
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_cuda_math_forward_declares.h +0 -284
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_cuda_runtime_wrapper.h +0 -503
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_cuda_texture_intrinsics.h +0 -742
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_hip_cmath.h +0 -842
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_hip_libdevice_declares.h +0 -353
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_hip_math.h +0 -1303
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_hip_runtime_wrapper.h +0 -151
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__clang_hip_stdlib.h +0 -43
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stdarg___gnuc_va_list.h +0 -13
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stdarg___va_copy.h +0 -12
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stdarg_header_macro.h +0 -12
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stdarg_va_arg.h +0 -24
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stdarg_va_copy.h +0 -12
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stdarg_va_list.h +0 -13
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_header_macro.h +0 -12
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_max_align_t.h +0 -27
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_null.h +0 -29
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_nullptr_t.h +0 -31
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_offsetof.h +0 -17
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_ptrdiff_t.h +0 -20
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_rsize_t.h +0 -20
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_size_t.h +0 -20
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_unreachable.h +0 -21
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_wchar_t.h +0 -28
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__stddef_wint_t.h +0 -15
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__wmmintrin_aes.h +0 -140
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/__wmmintrin_pclmul.h +0 -48
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/adxintrin.h +0 -227
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/altivec.h +0 -19342
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ammintrin.h +0 -183
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/amxcomplexintrin.h +0 -169
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/amxfp16intrin.h +0 -58
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/amxintrin.h +0 -524
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm64intr.h +0 -35
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm_acle.h +0 -782
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm_bf16.h +0 -20
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm_cde.h +0 -410
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm_cmse.h +0 -217
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm_fp16.h +0 -596
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm_mve.h +0 -19187
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm_neon.h +0 -69885
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm_neon_sve_bridge.h +0 -182
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +0 -642
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/arm_sve.h +0 -23950
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/armintr.h +0 -31
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx2intrin.h +0 -5263
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512bf16intrin.h +0 -282
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512bitalgintrin.h +0 -83
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512bwintrin.h +0 -2024
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512cdintrin.h +0 -123
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512dqintrin.h +0 -1377
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512erintrin.h +0 -271
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512fintrin.h +0 -9775
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512fp16intrin.h +0 -3350
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512ifmaintrin.h +0 -68
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512ifmavlintrin.h +0 -105
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512pfintrin.h +0 -97
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vbmi2intrin.h +0 -357
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vbmiintrin.h +0 -105
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vbmivlintrin.h +0 -188
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vlbf16intrin.h +0 -515
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vlbitalgintrin.h +0 -145
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vlbwintrin.h +0 -3161
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vlcdintrin.h +0 -225
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vldqintrin.h +0 -1167
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vlfp16intrin.h +0 -2071
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vlintrin.h +0 -8431
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vlvbmi2intrin.h +0 -689
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vlvnniintrin.h +0 -304
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vlvp2intersectintrin.h +0 -121
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vnniintrin.h +0 -115
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vp2intersectintrin.h +0 -77
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vpopcntdqintrin.h +0 -54
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avx512vpopcntdqvlintrin.h +0 -91
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avxifmaintrin.h +0 -177
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avxintrin.h +0 -5108
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avxneconvertintrin.h +0 -484
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avxvnniint16intrin.h +0 -473
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avxvnniint8intrin.h +0 -471
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/avxvnniintrin.h +0 -225
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/bmi2intrin.h +0 -255
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/bmiintrin.h +0 -431
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/builtins.h +0 -16
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cet.h +0 -66
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cetintrin.h +0 -115
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cldemoteintrin.h +0 -36
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/clflushoptintrin.h +0 -36
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/clwbintrin.h +0 -38
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/clzerointrin.h +0 -38
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cmpccxaddintrin.h +0 -70
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cpuid.h +0 -331
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/crc32intrin.h +0 -100
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cuda_wrappers/algorithm +0 -116
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cuda_wrappers/bits/basic_string.h +0 -9
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cuda_wrappers/bits/basic_string.tcc +0 -9
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cuda_wrappers/bits/shared_ptr_base.h +0 -9
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cuda_wrappers/cmath +0 -90
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cuda_wrappers/complex +0 -90
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/cuda_wrappers/new +0 -106
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/emmintrin.h +0 -4775
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/enqcmdintrin.h +0 -63
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/f16cintrin.h +0 -162
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/float.h +0 -164
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/fma4intrin.h +0 -218
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/fmaintrin.h +0 -780
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/fxsrintrin.h +0 -91
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/gfniintrin.h +0 -194
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/hexagon_circ_brev_intrinsics.h +0 -298
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/hexagon_protos.h +0 -8439
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/hexagon_types.h +0 -2621
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/hresetintrin.h +0 -49
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/htmintrin.h +0 -212
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/htmxlintrin.h +0 -345
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/hvx_hexagon_protos.h +0 -5183
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ia32intrin.h +0 -441
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/immintrin.h +0 -758
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/intrin.h +0 -620
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/inttypes.h +0 -97
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/invpcidintrin.h +0 -23
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/iso646.h +0 -27
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/keylockerintrin.h +0 -530
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/larchintrin.h +0 -234
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/limits.h +0 -127
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/llvm_libc_wrappers/ctype.h +0 -85
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/llvm_libc_wrappers/inttypes.h +0 -34
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/llvm_libc_wrappers/stdio.h +0 -34
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/llvm_libc_wrappers/stdlib.h +0 -42
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/llvm_libc_wrappers/string.h +0 -37
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/lwpintrin.h +0 -136
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/lzcntintrin.h +0 -104
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/mm3dnow.h +0 -157
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/mm_malloc.h +0 -67
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/mmintrin.h +0 -1562
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/module.modulemap +0 -326
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/movdirintrin.h +0 -49
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/msa.h +0 -573
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/mwaitxintrin.h +0 -62
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/nmmintrin.h +0 -20
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/opencl-c-base.h +0 -820
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/opencl-c.h +0 -18356
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -105
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/openmp_wrappers/cmath +0 -132
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/openmp_wrappers/complex +0 -55
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/openmp_wrappers/complex.h +0 -35
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/openmp_wrappers/complex_cmath.h +0 -388
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/openmp_wrappers/math.h +0 -61
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/openmp_wrappers/new +0 -48
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/pconfigintrin.h +0 -40
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/pkuintrin.h +0 -34
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/pmmintrin.h +0 -300
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/popcntintrin.h +0 -59
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/bmi2intrin.h +0 -134
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/bmiintrin.h +0 -165
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/emmintrin.h +0 -2269
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/immintrin.h +0 -27
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/mm_malloc.h +0 -45
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/mmintrin.h +0 -1453
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/pmmintrin.h +0 -145
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/smmintrin.h +0 -663
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/tmmintrin.h +0 -453
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/x86gprintrin.h +0 -17
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/x86intrin.h +0 -28
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ppc_wrappers/xmmintrin.h +0 -1827
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/prfchiintrin.h +0 -61
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/prfchwintrin.h +0 -58
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ptrauth.h +0 -354
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/ptwriteintrin.h +0 -37
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/raointintrin.h +0 -203
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/rdpruintrin.h +0 -57
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/rdseedintrin.h +0 -105
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/riscv_ntlh.h +0 -28
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/riscv_vector.h +0 -400
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/rtmintrin.h +0 -45
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/s390intrin.h +0 -25
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/serializeintrin.h +0 -30
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/sgxintrin.h +0 -60
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/sha512intrin.h +0 -200
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/shaintrin.h +0 -189
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/sifive_vector.h +0 -16
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/sm3intrin.h +0 -238
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/sm4intrin.h +0 -269
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/smmintrin.h +0 -2328
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/stdalign.h +0 -26
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/stdarg.h +0 -63
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/stdatomic.h +0 -196
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/stdbool.h +0 -34
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/stddef.h +0 -116
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/stdint.h +0 -979
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/stdnoreturn.h +0 -29
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/tbmintrin.h +0 -140
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/tgmath.h +0 -1368
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/tmmintrin.h +0 -775
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/tsxldtrkintrin.h +0 -56
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/uintrintrin.h +0 -157
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/unwind.h +0 -332
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/vadefs.h +0 -51
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/vaesintrin.h +0 -85
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/varargs.h +0 -12
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/vecintrin.h +0 -11127
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/velintrin.h +0 -71
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/velintrin_approx.h +0 -120
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/velintrin_gen.h +0 -1257
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/vpclmulqdqintrin.h +0 -30
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/waitpkgintrin.h +0 -42
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/wasm_simd128.h +0 -1997
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/wbnoinvdintrin.h +0 -24
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/wmmintrin.h +0 -23
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/x86gprintrin.h +0 -65
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/x86intrin.h +0 -67
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/xmmintrin.h +0 -3017
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/xopintrin.h +0 -770
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/xsavecintrin.h +0 -84
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/xsaveintrin.h +0 -63
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/xsaveoptintrin.h +0 -34
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/xsavesintrin.h +0 -44
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/xtestintrin.h +0 -27
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_cuda_builtin_vars.h +0 -121
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_cuda_cmath.h +0 -512
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_cuda_complex_builtins.h +0 -285
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_cuda_device_functions.h +0 -1558
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_cuda_intrinsics.h +0 -709
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_cuda_libdevice_declares.h +0 -468
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_cuda_math.h +0 -348
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_cuda_math_forward_declares.h +0 -284
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_cuda_runtime_wrapper.h +0 -503
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_cuda_texture_intrinsics.h +0 -742
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_hip_cmath.h +0 -842
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_hip_libdevice_declares.h +0 -353
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_hip_math.h +0 -1303
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_hip_runtime_wrapper.h +0 -151
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__clang_hip_stdlib.h +0 -43
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stdarg___gnuc_va_list.h +0 -13
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stdarg___va_copy.h +0 -12
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stdarg_header_macro.h +0 -12
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stdarg_va_arg.h +0 -24
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stdarg_va_copy.h +0 -12
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stdarg_va_list.h +0 -13
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_header_macro.h +0 -12
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_max_align_t.h +0 -27
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_null.h +0 -29
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_nullptr_t.h +0 -31
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_offsetof.h +0 -17
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_ptrdiff_t.h +0 -20
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_rsize_t.h +0 -20
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_size_t.h +0 -20
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_unreachable.h +0 -21
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_wchar_t.h +0 -28
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__stddef_wint_t.h +0 -15
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__wmmintrin_aes.h +0 -140
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/__wmmintrin_pclmul.h +0 -48
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/adxintrin.h +0 -227
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/altivec.h +0 -19342
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ammintrin.h +0 -183
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/amxcomplexintrin.h +0 -169
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/amxfp16intrin.h +0 -58
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/amxintrin.h +0 -524
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm64intr.h +0 -35
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm_acle.h +0 -782
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm_bf16.h +0 -20
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm_cde.h +0 -410
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm_cmse.h +0 -217
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm_fp16.h +0 -596
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm_mve.h +0 -19187
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm_neon.h +0 -69885
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm_neon_sve_bridge.h +0 -182
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +0 -642
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/arm_sve.h +0 -23950
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/armintr.h +0 -31
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx2intrin.h +0 -5263
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512bf16intrin.h +0 -282
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512bitalgintrin.h +0 -83
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512bwintrin.h +0 -2024
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512cdintrin.h +0 -123
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512dqintrin.h +0 -1377
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512erintrin.h +0 -271
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512fintrin.h +0 -9775
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512fp16intrin.h +0 -3350
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512ifmaintrin.h +0 -68
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512ifmavlintrin.h +0 -105
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512pfintrin.h +0 -97
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vbmi2intrin.h +0 -357
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vbmiintrin.h +0 -105
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vbmivlintrin.h +0 -188
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vlbf16intrin.h +0 -515
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vlbitalgintrin.h +0 -145
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vlbwintrin.h +0 -3161
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vlcdintrin.h +0 -225
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vldqintrin.h +0 -1167
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vlfp16intrin.h +0 -2071
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vlintrin.h +0 -8431
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vlvbmi2intrin.h +0 -689
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vlvnniintrin.h +0 -304
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vlvp2intersectintrin.h +0 -121
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vnniintrin.h +0 -115
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vp2intersectintrin.h +0 -77
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vpopcntdqintrin.h +0 -54
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avx512vpopcntdqvlintrin.h +0 -91
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avxifmaintrin.h +0 -177
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avxintrin.h +0 -5108
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avxneconvertintrin.h +0 -484
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avxvnniint16intrin.h +0 -473
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avxvnniint8intrin.h +0 -471
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/avxvnniintrin.h +0 -225
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/bmi2intrin.h +0 -255
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/bmiintrin.h +0 -431
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/builtins.h +0 -16
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cet.h +0 -66
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cetintrin.h +0 -115
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cldemoteintrin.h +0 -36
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/clflushoptintrin.h +0 -36
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/clwbintrin.h +0 -38
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/clzerointrin.h +0 -38
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cmpccxaddintrin.h +0 -70
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cpuid.h +0 -331
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/crc32intrin.h +0 -100
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cuda_wrappers/algorithm +0 -116
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cuda_wrappers/bits/basic_string.h +0 -9
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cuda_wrappers/bits/basic_string.tcc +0 -9
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cuda_wrappers/bits/shared_ptr_base.h +0 -9
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cuda_wrappers/cmath +0 -90
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cuda_wrappers/complex +0 -90
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/cuda_wrappers/new +0 -106
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/emmintrin.h +0 -4775
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/enqcmdintrin.h +0 -63
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/f16cintrin.h +0 -162
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/float.h +0 -164
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/fma4intrin.h +0 -218
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/fmaintrin.h +0 -780
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/fxsrintrin.h +0 -91
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/gfniintrin.h +0 -194
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/hexagon_circ_brev_intrinsics.h +0 -298
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/hexagon_protos.h +0 -8439
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/hexagon_types.h +0 -2621
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/hresetintrin.h +0 -49
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/htmintrin.h +0 -212
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/htmxlintrin.h +0 -345
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/hvx_hexagon_protos.h +0 -5183
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ia32intrin.h +0 -441
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/immintrin.h +0 -758
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/intrin.h +0 -620
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/inttypes.h +0 -97
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/invpcidintrin.h +0 -23
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/iso646.h +0 -27
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/keylockerintrin.h +0 -530
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/larchintrin.h +0 -234
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/limits.h +0 -127
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/llvm_libc_wrappers/ctype.h +0 -85
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/llvm_libc_wrappers/inttypes.h +0 -34
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/llvm_libc_wrappers/stdio.h +0 -34
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/llvm_libc_wrappers/stdlib.h +0 -42
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/llvm_libc_wrappers/string.h +0 -37
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/lwpintrin.h +0 -136
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/lzcntintrin.h +0 -104
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/mm3dnow.h +0 -157
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/mm_malloc.h +0 -67
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/mmintrin.h +0 -1562
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/module.modulemap +0 -326
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/movdirintrin.h +0 -49
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/msa.h +0 -573
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/mwaitxintrin.h +0 -62
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/nmmintrin.h +0 -20
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/opencl-c-base.h +0 -820
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/opencl-c.h +0 -18356
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -105
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/openmp_wrappers/cmath +0 -132
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/openmp_wrappers/complex +0 -55
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/openmp_wrappers/complex.h +0 -35
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/openmp_wrappers/complex_cmath.h +0 -388
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/openmp_wrappers/math.h +0 -61
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/openmp_wrappers/new +0 -48
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/pconfigintrin.h +0 -40
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/pkuintrin.h +0 -34
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/pmmintrin.h +0 -300
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/popcntintrin.h +0 -59
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/bmi2intrin.h +0 -134
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/bmiintrin.h +0 -165
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/emmintrin.h +0 -2269
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/immintrin.h +0 -27
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/mm_malloc.h +0 -45
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/mmintrin.h +0 -1453
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/pmmintrin.h +0 -145
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/smmintrin.h +0 -663
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/tmmintrin.h +0 -453
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/x86gprintrin.h +0 -17
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/x86intrin.h +0 -28
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ppc_wrappers/xmmintrin.h +0 -1827
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/prfchiintrin.h +0 -61
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/prfchwintrin.h +0 -58
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ptrauth.h +0 -354
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/ptwriteintrin.h +0 -37
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/raointintrin.h +0 -203
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/rdpruintrin.h +0 -57
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/rdseedintrin.h +0 -105
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/riscv_ntlh.h +0 -28
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/riscv_vector.h +0 -400
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/rtmintrin.h +0 -45
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/s390intrin.h +0 -25
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/serializeintrin.h +0 -30
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/sgxintrin.h +0 -60
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/sha512intrin.h +0 -200
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/shaintrin.h +0 -189
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/sifive_vector.h +0 -16
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/sm3intrin.h +0 -238
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/sm4intrin.h +0 -269
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/smmintrin.h +0 -2328
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/stdalign.h +0 -26
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/stdarg.h +0 -63
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/stdatomic.h +0 -196
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/stdbool.h +0 -34
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/stddef.h +0 -116
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/stdint.h +0 -979
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/stdnoreturn.h +0 -29
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/tbmintrin.h +0 -140
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/tgmath.h +0 -1368
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/tmmintrin.h +0 -775
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/tsxldtrkintrin.h +0 -56
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/uintrintrin.h +0 -157
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/unwind.h +0 -332
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/vadefs.h +0 -51
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/vaesintrin.h +0 -85
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/varargs.h +0 -12
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/vecintrin.h +0 -11127
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/velintrin.h +0 -71
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/velintrin_approx.h +0 -120
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/velintrin_gen.h +0 -1257
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/vpclmulqdqintrin.h +0 -30
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/waitpkgintrin.h +0 -42
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/wasm_simd128.h +0 -1997
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/wbnoinvdintrin.h +0 -24
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/wmmintrin.h +0 -23
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/x86gprintrin.h +0 -65
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/x86intrin.h +0 -67
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/xmmintrin.h +0 -3017
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/xopintrin.h +0 -770
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/xsavecintrin.h +0 -84
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/xsaveintrin.h +0 -63
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/xsaveoptintrin.h +0 -34
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/xsavesintrin.h +0 -44
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/17/include/xtestintrin.h +0 -27
package/framework/internal/metadata-generator-arm64/bin/lib/clang/17/include/hexagon_types.h
DELETED
|
@@ -1,2621 +0,0 @@
|
|
|
1
|
-
/******************************************************************************/
|
|
2
|
-
/* (c) 2020 Qualcomm Innovation Center, Inc. All rights reserved. */
|
|
3
|
-
/* */
|
|
4
|
-
/******************************************************************************/
|
|
5
|
-
#ifndef HEXAGON_TYPES_H
|
|
6
|
-
#define HEXAGON_TYPES_H
|
|
7
|
-
|
|
8
|
-
#include <hexagon_protos.h>
|
|
9
|
-
|
|
10
|
-
/* Hexagon names */
|
|
11
|
-
#define HEXAGON_Vect HEXAGON_Vect64
|
|
12
|
-
#define HEXAGON_V_GET_D HEXAGON_V64_GET_D
|
|
13
|
-
#define HEXAGON_V_GET_UD HEXAGON_V64_GET_UD
|
|
14
|
-
#define HEXAGON_V_GET_W0 HEXAGON_V64_GET_W0
|
|
15
|
-
#define HEXAGON_V_GET_W1 HEXAGON_V64_GET_W1
|
|
16
|
-
#define HEXAGON_V_GET_UW0 HEXAGON_V64_GET_UW0
|
|
17
|
-
#define HEXAGON_V_GET_UW1 HEXAGON_V64_GET_UW1
|
|
18
|
-
#define HEXAGON_V_GET_H0 HEXAGON_V64_GET_H0
|
|
19
|
-
#define HEXAGON_V_GET_H1 HEXAGON_V64_GET_H1
|
|
20
|
-
#define HEXAGON_V_GET_H2 HEXAGON_V64_GET_H2
|
|
21
|
-
#define HEXAGON_V_GET_H3 HEXAGON_V64_GET_H3
|
|
22
|
-
#define HEXAGON_V_GET_UH0 HEXAGON_V64_GET_UH0
|
|
23
|
-
#define HEXAGON_V_GET_UH1 HEXAGON_V64_GET_UH1
|
|
24
|
-
#define HEXAGON_V_GET_UH2 HEXAGON_V64_GET_UH2
|
|
25
|
-
#define HEXAGON_V_GET_UH3 HEXAGON_V64_GET_UH3
|
|
26
|
-
#define HEXAGON_V_GET_B0 HEXAGON_V64_GET_B0
|
|
27
|
-
#define HEXAGON_V_GET_B1 HEXAGON_V64_GET_B1
|
|
28
|
-
#define HEXAGON_V_GET_B2 HEXAGON_V64_GET_B2
|
|
29
|
-
#define HEXAGON_V_GET_B3 HEXAGON_V64_GET_B3
|
|
30
|
-
#define HEXAGON_V_GET_B4 HEXAGON_V64_GET_B4
|
|
31
|
-
#define HEXAGON_V_GET_B5 HEXAGON_V64_GET_B5
|
|
32
|
-
#define HEXAGON_V_GET_B6 HEXAGON_V64_GET_B6
|
|
33
|
-
#define HEXAGON_V_GET_B7 HEXAGON_V64_GET_B7
|
|
34
|
-
#define HEXAGON_V_GET_UB0 HEXAGON_V64_GET_UB0
|
|
35
|
-
#define HEXAGON_V_GET_UB1 HEXAGON_V64_GET_UB1
|
|
36
|
-
#define HEXAGON_V_GET_UB2 HEXAGON_V64_GET_UB2
|
|
37
|
-
#define HEXAGON_V_GET_UB3 HEXAGON_V64_GET_UB3
|
|
38
|
-
#define HEXAGON_V_GET_UB4 HEXAGON_V64_GET_UB4
|
|
39
|
-
#define HEXAGON_V_GET_UB5 HEXAGON_V64_GET_UB5
|
|
40
|
-
#define HEXAGON_V_GET_UB6 HEXAGON_V64_GET_UB6
|
|
41
|
-
#define HEXAGON_V_GET_UB7 HEXAGON_V64_GET_UB7
|
|
42
|
-
#define HEXAGON_V_PUT_D HEXAGON_V64_PUT_D
|
|
43
|
-
#define HEXAGON_V_PUT_W0 HEXAGON_V64_PUT_W0
|
|
44
|
-
#define HEXAGON_V_PUT_W1 HEXAGON_V64_PUT_W1
|
|
45
|
-
#define HEXAGON_V_PUT_H0 HEXAGON_V64_PUT_H0
|
|
46
|
-
#define HEXAGON_V_PUT_H1 HEXAGON_V64_PUT_H1
|
|
47
|
-
#define HEXAGON_V_PUT_H2 HEXAGON_V64_PUT_H2
|
|
48
|
-
#define HEXAGON_V_PUT_H3 HEXAGON_V64_PUT_H3
|
|
49
|
-
#define HEXAGON_V_PUT_B0 HEXAGON_V64_PUT_B0
|
|
50
|
-
#define HEXAGON_V_PUT_B1 HEXAGON_V64_PUT_B1
|
|
51
|
-
#define HEXAGON_V_PUT_B2 HEXAGON_V64_PUT_B2
|
|
52
|
-
#define HEXAGON_V_PUT_B3 HEXAGON_V64_PUT_B3
|
|
53
|
-
#define HEXAGON_V_PUT_B4 HEXAGON_V64_PUT_B4
|
|
54
|
-
#define HEXAGON_V_PUT_B5 HEXAGON_V64_PUT_B5
|
|
55
|
-
#define HEXAGON_V_PUT_B6 HEXAGON_V64_PUT_B6
|
|
56
|
-
#define HEXAGON_V_PUT_B7 HEXAGON_V64_PUT_B7
|
|
57
|
-
#define HEXAGON_V_CREATE_D HEXAGON_V64_CREATE_D
|
|
58
|
-
#define HEXAGON_V_CREATE_W HEXAGON_V64_CREATE_W
|
|
59
|
-
#define HEXAGON_V_CREATE_H HEXAGON_V64_CREATE_H
|
|
60
|
-
#define HEXAGON_V_CREATE_B HEXAGON_V64_CREATE_B
|
|
61
|
-
|
|
62
|
-
#ifdef __cplusplus
|
|
63
|
-
#define HEXAGON_VectC HEXAGON_Vect64C
|
|
64
|
-
#endif /* __cplusplus */
|
|
65
|
-
|
|
66
|
-
/* 64 Bit Vectors */
|
|
67
|
-
|
|
68
|
-
typedef long long __attribute__((__may_alias__)) HEXAGON_Vect64;
|
|
69
|
-
|
|
70
|
-
/* Extract doubleword macros */
|
|
71
|
-
|
|
72
|
-
#define HEXAGON_V64_GET_D(v) (v)
|
|
73
|
-
#define HEXAGON_V64_GET_UD(v) ((unsigned long long)(v))
|
|
74
|
-
|
|
75
|
-
/* Extract word macros */
|
|
76
|
-
|
|
77
|
-
#define HEXAGON_V64_GET_W0(v) \
|
|
78
|
-
__extension__({ \
|
|
79
|
-
union { \
|
|
80
|
-
long long d; \
|
|
81
|
-
int w[2]; \
|
|
82
|
-
} _HEXAGON_V64_internal_union; \
|
|
83
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
84
|
-
_HEXAGON_V64_internal_union.w[0]; \
|
|
85
|
-
})
|
|
86
|
-
#define HEXAGON_V64_GET_W1(v) \
|
|
87
|
-
__extension__({ \
|
|
88
|
-
union { \
|
|
89
|
-
long long d; \
|
|
90
|
-
int w[2]; \
|
|
91
|
-
} _HEXAGON_V64_internal_union; \
|
|
92
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
93
|
-
_HEXAGON_V64_internal_union.w[1]; \
|
|
94
|
-
})
|
|
95
|
-
#define HEXAGON_V64_GET_UW0(v) \
|
|
96
|
-
__extension__({ \
|
|
97
|
-
union { \
|
|
98
|
-
long long d; \
|
|
99
|
-
unsigned int uw[2]; \
|
|
100
|
-
} _HEXAGON_V64_internal_union; \
|
|
101
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
102
|
-
_HEXAGON_V64_internal_union.uw[0]; \
|
|
103
|
-
})
|
|
104
|
-
#define HEXAGON_V64_GET_UW1(v) \
|
|
105
|
-
__extension__({ \
|
|
106
|
-
union { \
|
|
107
|
-
long long d; \
|
|
108
|
-
unsigned int uw[2]; \
|
|
109
|
-
} _HEXAGON_V64_internal_union; \
|
|
110
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
111
|
-
_HEXAGON_V64_internal_union.uw[1]; \
|
|
112
|
-
})
|
|
113
|
-
|
|
114
|
-
/* Extract half word macros */
|
|
115
|
-
|
|
116
|
-
#define HEXAGON_V64_GET_H0(v) \
|
|
117
|
-
__extension__({ \
|
|
118
|
-
union { \
|
|
119
|
-
long long d; \
|
|
120
|
-
short h[4]; \
|
|
121
|
-
} _HEXAGON_V64_internal_union; \
|
|
122
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
123
|
-
_HEXAGON_V64_internal_union.h[0]; \
|
|
124
|
-
})
|
|
125
|
-
#define HEXAGON_V64_GET_H1(v) \
|
|
126
|
-
__extension__({ \
|
|
127
|
-
union { \
|
|
128
|
-
long long d; \
|
|
129
|
-
short h[4]; \
|
|
130
|
-
} _HEXAGON_V64_internal_union; \
|
|
131
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
132
|
-
_HEXAGON_V64_internal_union.h[1]; \
|
|
133
|
-
})
|
|
134
|
-
#define HEXAGON_V64_GET_H2(v) \
|
|
135
|
-
__extension__({ \
|
|
136
|
-
union { \
|
|
137
|
-
long long d; \
|
|
138
|
-
short h[4]; \
|
|
139
|
-
} _HEXAGON_V64_internal_union; \
|
|
140
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
141
|
-
_HEXAGON_V64_internal_union.h[2]; \
|
|
142
|
-
})
|
|
143
|
-
#define HEXAGON_V64_GET_H3(v) \
|
|
144
|
-
__extension__({ \
|
|
145
|
-
union { \
|
|
146
|
-
long long d; \
|
|
147
|
-
short h[4]; \
|
|
148
|
-
} _HEXAGON_V64_internal_union; \
|
|
149
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
150
|
-
_HEXAGON_V64_internal_union.h[3]; \
|
|
151
|
-
})
|
|
152
|
-
#define HEXAGON_V64_GET_UH0(v) \
|
|
153
|
-
__extension__({ \
|
|
154
|
-
union { \
|
|
155
|
-
long long d; \
|
|
156
|
-
unsigned short uh[4]; \
|
|
157
|
-
} _HEXAGON_V64_internal_union; \
|
|
158
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
159
|
-
_HEXAGON_V64_internal_union.uh[0]; \
|
|
160
|
-
})
|
|
161
|
-
#define HEXAGON_V64_GET_UH1(v) \
|
|
162
|
-
__extension__({ \
|
|
163
|
-
union { \
|
|
164
|
-
long long d; \
|
|
165
|
-
unsigned short uh[4]; \
|
|
166
|
-
} _HEXAGON_V64_internal_union; \
|
|
167
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
168
|
-
_HEXAGON_V64_internal_union.uh[1]; \
|
|
169
|
-
})
|
|
170
|
-
#define HEXAGON_V64_GET_UH2(v) \
|
|
171
|
-
__extension__({ \
|
|
172
|
-
union { \
|
|
173
|
-
long long d; \
|
|
174
|
-
unsigned short uh[4]; \
|
|
175
|
-
} _HEXAGON_V64_internal_union; \
|
|
176
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
177
|
-
_HEXAGON_V64_internal_union.uh[2]; \
|
|
178
|
-
})
|
|
179
|
-
#define HEXAGON_V64_GET_UH3(v) \
|
|
180
|
-
__extension__({ \
|
|
181
|
-
union { \
|
|
182
|
-
long long d; \
|
|
183
|
-
unsigned short uh[4]; \
|
|
184
|
-
} _HEXAGON_V64_internal_union; \
|
|
185
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
186
|
-
_HEXAGON_V64_internal_union.uh[3]; \
|
|
187
|
-
})
|
|
188
|
-
|
|
189
|
-
/* Extract byte macros */
|
|
190
|
-
|
|
191
|
-
#define HEXAGON_V64_GET_B0(v) \
|
|
192
|
-
__extension__({ \
|
|
193
|
-
union { \
|
|
194
|
-
long long d; \
|
|
195
|
-
signed char b[8]; \
|
|
196
|
-
} _HEXAGON_V64_internal_union; \
|
|
197
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
198
|
-
_HEXAGON_V64_internal_union.b[0]; \
|
|
199
|
-
})
|
|
200
|
-
#define HEXAGON_V64_GET_B1(v) \
|
|
201
|
-
__extension__({ \
|
|
202
|
-
union { \
|
|
203
|
-
long long d; \
|
|
204
|
-
signed char b[8]; \
|
|
205
|
-
} _HEXAGON_V64_internal_union; \
|
|
206
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
207
|
-
_HEXAGON_V64_internal_union.b[1]; \
|
|
208
|
-
})
|
|
209
|
-
#define HEXAGON_V64_GET_B2(v) \
|
|
210
|
-
__extension__({ \
|
|
211
|
-
union { \
|
|
212
|
-
long long d; \
|
|
213
|
-
signed char b[8]; \
|
|
214
|
-
} _HEXAGON_V64_internal_union; \
|
|
215
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
216
|
-
_HEXAGON_V64_internal_union.b[2]; \
|
|
217
|
-
})
|
|
218
|
-
#define HEXAGON_V64_GET_B3(v) \
|
|
219
|
-
__extension__({ \
|
|
220
|
-
union { \
|
|
221
|
-
long long d; \
|
|
222
|
-
signed char b[8]; \
|
|
223
|
-
} _HEXAGON_V64_internal_union; \
|
|
224
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
225
|
-
_HEXAGON_V64_internal_union.b[3]; \
|
|
226
|
-
})
|
|
227
|
-
#define HEXAGON_V64_GET_B4(v) \
|
|
228
|
-
__extension__({ \
|
|
229
|
-
union { \
|
|
230
|
-
long long d; \
|
|
231
|
-
signed char b[8]; \
|
|
232
|
-
} _HEXAGON_V64_internal_union; \
|
|
233
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
234
|
-
_HEXAGON_V64_internal_union.b[4]; \
|
|
235
|
-
})
|
|
236
|
-
#define HEXAGON_V64_GET_B5(v) \
|
|
237
|
-
__extension__({ \
|
|
238
|
-
union { \
|
|
239
|
-
long long d; \
|
|
240
|
-
signed char b[8]; \
|
|
241
|
-
} _HEXAGON_V64_internal_union; \
|
|
242
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
243
|
-
_HEXAGON_V64_internal_union.b[5]; \
|
|
244
|
-
})
|
|
245
|
-
#define HEXAGON_V64_GET_B6(v) \
|
|
246
|
-
__extension__({ \
|
|
247
|
-
union { \
|
|
248
|
-
long long d; \
|
|
249
|
-
signed char b[8]; \
|
|
250
|
-
} _HEXAGON_V64_internal_union; \
|
|
251
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
252
|
-
_HEXAGON_V64_internal_union.b[6]; \
|
|
253
|
-
})
|
|
254
|
-
#define HEXAGON_V64_GET_B7(v) \
|
|
255
|
-
__extension__({ \
|
|
256
|
-
union { \
|
|
257
|
-
long long d; \
|
|
258
|
-
signed char b[8]; \
|
|
259
|
-
} _HEXAGON_V64_internal_union; \
|
|
260
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
261
|
-
_HEXAGON_V64_internal_union.b[7]; \
|
|
262
|
-
})
|
|
263
|
-
#define HEXAGON_V64_GET_UB0(v) \
|
|
264
|
-
__extension__({ \
|
|
265
|
-
union { \
|
|
266
|
-
long long d; \
|
|
267
|
-
unsigned char ub[8]; \
|
|
268
|
-
} _HEXAGON_V64_internal_union; \
|
|
269
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
270
|
-
_HEXAGON_V64_internal_union.ub[0]; \
|
|
271
|
-
})
|
|
272
|
-
#define HEXAGON_V64_GET_UB1(v) \
|
|
273
|
-
__extension__({ \
|
|
274
|
-
union { \
|
|
275
|
-
long long d; \
|
|
276
|
-
unsigned char ub[8]; \
|
|
277
|
-
} _HEXAGON_V64_internal_union; \
|
|
278
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
279
|
-
_HEXAGON_V64_internal_union.ub[1]; \
|
|
280
|
-
})
|
|
281
|
-
#define HEXAGON_V64_GET_UB2(v) \
|
|
282
|
-
__extension__({ \
|
|
283
|
-
union { \
|
|
284
|
-
long long d; \
|
|
285
|
-
unsigned char ub[8]; \
|
|
286
|
-
} _HEXAGON_V64_internal_union; \
|
|
287
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
288
|
-
_HEXAGON_V64_internal_union.ub[2]; \
|
|
289
|
-
})
|
|
290
|
-
#define HEXAGON_V64_GET_UB3(v) \
|
|
291
|
-
__extension__({ \
|
|
292
|
-
union { \
|
|
293
|
-
long long d; \
|
|
294
|
-
unsigned char ub[8]; \
|
|
295
|
-
} _HEXAGON_V64_internal_union; \
|
|
296
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
297
|
-
_HEXAGON_V64_internal_union.ub[3]; \
|
|
298
|
-
})
|
|
299
|
-
#define HEXAGON_V64_GET_UB4(v) \
|
|
300
|
-
__extension__({ \
|
|
301
|
-
union { \
|
|
302
|
-
long long d; \
|
|
303
|
-
unsigned char ub[8]; \
|
|
304
|
-
} _HEXAGON_V64_internal_union; \
|
|
305
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
306
|
-
_HEXAGON_V64_internal_union.ub[4]; \
|
|
307
|
-
})
|
|
308
|
-
#define HEXAGON_V64_GET_UB5(v) \
|
|
309
|
-
__extension__({ \
|
|
310
|
-
union { \
|
|
311
|
-
long long d; \
|
|
312
|
-
unsigned char ub[8]; \
|
|
313
|
-
} _HEXAGON_V64_internal_union; \
|
|
314
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
315
|
-
_HEXAGON_V64_internal_union.ub[5]; \
|
|
316
|
-
})
|
|
317
|
-
#define HEXAGON_V64_GET_UB6(v) \
|
|
318
|
-
__extension__({ \
|
|
319
|
-
union { \
|
|
320
|
-
long long d; \
|
|
321
|
-
unsigned char ub[8]; \
|
|
322
|
-
} _HEXAGON_V64_internal_union; \
|
|
323
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
324
|
-
_HEXAGON_V64_internal_union.ub[6]; \
|
|
325
|
-
})
|
|
326
|
-
#define HEXAGON_V64_GET_UB7(v) \
|
|
327
|
-
__extension__({ \
|
|
328
|
-
union { \
|
|
329
|
-
long long d; \
|
|
330
|
-
unsigned char ub[8]; \
|
|
331
|
-
} _HEXAGON_V64_internal_union; \
|
|
332
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
333
|
-
_HEXAGON_V64_internal_union.ub[7]; \
|
|
334
|
-
})
|
|
335
|
-
|
|
336
|
-
/* NOTE: All set macros return a HEXAGON_Vect64 type */
|
|
337
|
-
|
|
338
|
-
/* Set doubleword macro */
|
|
339
|
-
|
|
340
|
-
#define HEXAGON_V64_PUT_D(v, new) (new)
|
|
341
|
-
|
|
342
|
-
/* Set word macros */
|
|
343
|
-
|
|
344
|
-
#ifdef __hexagon__
|
|
345
|
-
|
|
346
|
-
#define HEXAGON_V64_PUT_W0(v, new) \
|
|
347
|
-
__extension__({ \
|
|
348
|
-
union { \
|
|
349
|
-
long long d; \
|
|
350
|
-
int w[2]; \
|
|
351
|
-
} _HEXAGON_V64_internal_union; \
|
|
352
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
353
|
-
_HEXAGON_V64_internal_union.w[0] = (new); \
|
|
354
|
-
_HEXAGON_V64_internal_union.d; \
|
|
355
|
-
})
|
|
356
|
-
#define HEXAGON_V64_PUT_W1(v, new) \
|
|
357
|
-
__extension__({ \
|
|
358
|
-
union { \
|
|
359
|
-
long long d; \
|
|
360
|
-
int w[2]; \
|
|
361
|
-
} _HEXAGON_V64_internal_union; \
|
|
362
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
363
|
-
_HEXAGON_V64_internal_union.w[1] = (new); \
|
|
364
|
-
_HEXAGON_V64_internal_union.d; \
|
|
365
|
-
})
|
|
366
|
-
|
|
367
|
-
#else /* !__hexagon__ */
|
|
368
|
-
|
|
369
|
-
#define HEXAGON_V64_PUT_W0(v, new) \
|
|
370
|
-
(((v) & 0xffffffff00000000LL) | ((HEXAGON_Vect64)((unsigned int)(new))))
|
|
371
|
-
#define HEXAGON_V64_PUT_W1(v, new) \
|
|
372
|
-
(((v) & 0x00000000ffffffffLL) | (((HEXAGON_Vect64)(new)) << 32LL))
|
|
373
|
-
|
|
374
|
-
#endif /* !__hexagon__ */
|
|
375
|
-
|
|
376
|
-
/* Set half word macros */
|
|
377
|
-
|
|
378
|
-
#ifdef __hexagon__
|
|
379
|
-
|
|
380
|
-
#define HEXAGON_V64_PUT_H0(v, new) \
|
|
381
|
-
__extension__({ \
|
|
382
|
-
union { \
|
|
383
|
-
long long d; \
|
|
384
|
-
short h[4]; \
|
|
385
|
-
} _HEXAGON_V64_internal_union; \
|
|
386
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
387
|
-
_HEXAGON_V64_internal_union.h[0] = (new); \
|
|
388
|
-
_HEXAGON_V64_internal_union.d; \
|
|
389
|
-
})
|
|
390
|
-
#define HEXAGON_V64_PUT_H1(v, new) \
|
|
391
|
-
__extension__({ \
|
|
392
|
-
union { \
|
|
393
|
-
long long d; \
|
|
394
|
-
short h[4]; \
|
|
395
|
-
} _HEXAGON_V64_internal_union; \
|
|
396
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
397
|
-
_HEXAGON_V64_internal_union.h[1] = (new); \
|
|
398
|
-
_HEXAGON_V64_internal_union.d; \
|
|
399
|
-
})
|
|
400
|
-
#define HEXAGON_V64_PUT_H2(v, new) \
|
|
401
|
-
__extension__({ \
|
|
402
|
-
union { \
|
|
403
|
-
long long d; \
|
|
404
|
-
short h[4]; \
|
|
405
|
-
} _HEXAGON_V64_internal_union; \
|
|
406
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
407
|
-
_HEXAGON_V64_internal_union.h[2] = (new); \
|
|
408
|
-
_HEXAGON_V64_internal_union.d; \
|
|
409
|
-
})
|
|
410
|
-
#define HEXAGON_V64_PUT_H3(v, new) \
|
|
411
|
-
__extension__({ \
|
|
412
|
-
union { \
|
|
413
|
-
long long d; \
|
|
414
|
-
short h[4]; \
|
|
415
|
-
} _HEXAGON_V64_internal_union; \
|
|
416
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
417
|
-
_HEXAGON_V64_internal_union.h[3] = (new); \
|
|
418
|
-
_HEXAGON_V64_internal_union.d; \
|
|
419
|
-
})
|
|
420
|
-
|
|
421
|
-
#else /* !__hexagon__ */
|
|
422
|
-
|
|
423
|
-
#define HEXAGON_V64_PUT_H0(v, new) \
|
|
424
|
-
(((v) & 0xffffffffffff0000LL) | ((HEXAGON_Vect64)((unsigned short)(new))))
|
|
425
|
-
#define HEXAGON_V64_PUT_H1(v, new) \
|
|
426
|
-
(((v) & 0xffffffff0000ffffLL) | (((HEXAGON_Vect64)((unsigned short)(new))) << 16LL))
|
|
427
|
-
#define HEXAGON_V64_PUT_H2(v, new) \
|
|
428
|
-
(((v) & 0xffff0000ffffffffLL) | (((HEXAGON_Vect64)((unsigned short)(new))) << 32LL))
|
|
429
|
-
#define HEXAGON_V64_PUT_H3(v, new) \
|
|
430
|
-
(((v) & 0x0000ffffffffffffLL) | (((HEXAGON_Vect64)(new)) << 48LL))
|
|
431
|
-
|
|
432
|
-
#endif /* !__hexagon__ */
|
|
433
|
-
|
|
434
|
-
/* Set byte macros */
|
|
435
|
-
|
|
436
|
-
#ifdef __hexagon__
|
|
437
|
-
|
|
438
|
-
#define HEXAGON_V64_PUT_B0(v, new) \
|
|
439
|
-
__extension__({ \
|
|
440
|
-
union { \
|
|
441
|
-
long long d; \
|
|
442
|
-
char b[8]; \
|
|
443
|
-
} _HEXAGON_V64_internal_union; \
|
|
444
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
445
|
-
_HEXAGON_V64_internal_union.b[0] = (new); \
|
|
446
|
-
_HEXAGON_V64_internal_union.d; \
|
|
447
|
-
})
|
|
448
|
-
#define HEXAGON_V64_PUT_B1(v, new) \
|
|
449
|
-
__extension__({ \
|
|
450
|
-
union { \
|
|
451
|
-
long long d; \
|
|
452
|
-
char b[8]; \
|
|
453
|
-
} _HEXAGON_V64_internal_union; \
|
|
454
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
455
|
-
_HEXAGON_V64_internal_union.b[1] = (new); \
|
|
456
|
-
_HEXAGON_V64_internal_union.d; \
|
|
457
|
-
})
|
|
458
|
-
#define HEXAGON_V64_PUT_B2(v, new) \
|
|
459
|
-
__extension__({ \
|
|
460
|
-
union { \
|
|
461
|
-
long long d; \
|
|
462
|
-
char b[8]; \
|
|
463
|
-
} _HEXAGON_V64_internal_union; \
|
|
464
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
465
|
-
_HEXAGON_V64_internal_union.b[2] = (new); \
|
|
466
|
-
_HEXAGON_V64_internal_union.d; \
|
|
467
|
-
})
|
|
468
|
-
#define HEXAGON_V64_PUT_B3(v, new) \
|
|
469
|
-
__extension__({ \
|
|
470
|
-
union { \
|
|
471
|
-
long long d; \
|
|
472
|
-
char b[8]; \
|
|
473
|
-
} _HEXAGON_V64_internal_union; \
|
|
474
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
475
|
-
_HEXAGON_V64_internal_union.b[3] = (new); \
|
|
476
|
-
_HEXAGON_V64_internal_union.d; \
|
|
477
|
-
})
|
|
478
|
-
#define HEXAGON_V64_PUT_B4(v, new) \
|
|
479
|
-
__extension__({ \
|
|
480
|
-
union { \
|
|
481
|
-
long long d; \
|
|
482
|
-
char b[8]; \
|
|
483
|
-
} _HEXAGON_V64_internal_union; \
|
|
484
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
485
|
-
_HEXAGON_V64_internal_union.b[4] = (new); \
|
|
486
|
-
_HEXAGON_V64_internal_union.d; \
|
|
487
|
-
})
|
|
488
|
-
#define HEXAGON_V64_PUT_B5(v, new) \
|
|
489
|
-
__extension__({ \
|
|
490
|
-
union { \
|
|
491
|
-
long long d; \
|
|
492
|
-
char b[8]; \
|
|
493
|
-
} _HEXAGON_V64_internal_union; \
|
|
494
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
495
|
-
_HEXAGON_V64_internal_union.b[5] = (new); \
|
|
496
|
-
_HEXAGON_V64_internal_union.d; \
|
|
497
|
-
})
|
|
498
|
-
#define HEXAGON_V64_PUT_B6(v, new) \
|
|
499
|
-
__extension__({ \
|
|
500
|
-
union { \
|
|
501
|
-
long long d; \
|
|
502
|
-
char b[8]; \
|
|
503
|
-
} _HEXAGON_V64_internal_union; \
|
|
504
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
505
|
-
_HEXAGON_V64_internal_union.b[6] = (new); \
|
|
506
|
-
_HEXAGON_V64_internal_union.d; \
|
|
507
|
-
})
|
|
508
|
-
#define HEXAGON_V64_PUT_B7(v, new) \
|
|
509
|
-
__extension__({ \
|
|
510
|
-
union { \
|
|
511
|
-
long long d; \
|
|
512
|
-
char b[8]; \
|
|
513
|
-
} _HEXAGON_V64_internal_union; \
|
|
514
|
-
_HEXAGON_V64_internal_union.d = (v); \
|
|
515
|
-
_HEXAGON_V64_internal_union.b[7] = (new); \
|
|
516
|
-
_HEXAGON_V64_internal_union.d; \
|
|
517
|
-
})
|
|
518
|
-
|
|
519
|
-
#else /* !__hexagon__ */
|
|
520
|
-
|
|
521
|
-
#define HEXAGON_V64_PUT_B0(v, new) \
|
|
522
|
-
(((v) & 0xffffffffffffff00LL) | ((HEXAGON_Vect64)((unsigned char)(new))))
|
|
523
|
-
#define HEXAGON_V64_PUT_B1(v, new) \
|
|
524
|
-
(((v) & 0xffffffffffff00ffLL) | (((HEXAGON_Vect64)((unsigned char)(new))) << 8LL))
|
|
525
|
-
#define HEXAGON_V64_PUT_B2(v, new) \
|
|
526
|
-
(((v) & 0xffffffffff00ffffLL) | (((HEXAGON_Vect64)((unsigned char)(new))) << 16LL))
|
|
527
|
-
#define HEXAGON_V64_PUT_B3(v, new) \
|
|
528
|
-
(((v) & 0xffffffff00ffffffLL) | (((HEXAGON_Vect64)((unsigned char)(new))) << 24LL))
|
|
529
|
-
#define HEXAGON_V64_PUT_B4(v, new) \
|
|
530
|
-
(((v) & 0xffffff00ffffffffLL) | (((HEXAGON_Vect64)((unsigned char)(new))) << 32LL))
|
|
531
|
-
#define HEXAGON_V64_PUT_B5(v, new) \
|
|
532
|
-
(((v) & 0xffff00ffffffffffLL) | (((HEXAGON_Vect64)((unsigned char)(new))) << 40LL))
|
|
533
|
-
#define HEXAGON_V64_PUT_B6(v, new) \
|
|
534
|
-
(((v) & 0xff00ffffffffffffLL) | (((HEXAGON_Vect64)((unsigned char)(new))) << 48LL))
|
|
535
|
-
#define HEXAGON_V64_PUT_B7(v, new) \
|
|
536
|
-
(((v) & 0x00ffffffffffffffLL) | (((HEXAGON_Vect64)(new)) << 56LL))
|
|
537
|
-
|
|
538
|
-
#endif /* !__hexagon__ */
|
|
539
|
-
|
|
540
|
-
/* NOTE: All create macros return a HEXAGON_Vect64 type */
|
|
541
|
-
|
|
542
|
-
/* Create from a doubleword */
|
|
543
|
-
|
|
544
|
-
#define HEXAGON_V64_CREATE_D(d) (d)
|
|
545
|
-
|
|
546
|
-
/* Create from words */
|
|
547
|
-
|
|
548
|
-
#ifdef __hexagon__
|
|
549
|
-
|
|
550
|
-
#define HEXAGON_V64_CREATE_W(w1, w0) \
|
|
551
|
-
__extension__({ \
|
|
552
|
-
union { \
|
|
553
|
-
long long d; \
|
|
554
|
-
int w[2]; \
|
|
555
|
-
} _HEXAGON_V64_internal_union; \
|
|
556
|
-
_HEXAGON_V64_internal_union.w[0] = (w0); \
|
|
557
|
-
_HEXAGON_V64_internal_union.w[1] = (w1); \
|
|
558
|
-
_HEXAGON_V64_internal_union.d; \
|
|
559
|
-
})
|
|
560
|
-
|
|
561
|
-
#else /* !__hexagon__ */
|
|
562
|
-
|
|
563
|
-
#define HEXAGON_V64_CREATE_W(w1, w0) \
|
|
564
|
-
((((HEXAGON_Vect64)(w1)) << 32LL) | ((HEXAGON_Vect64)((w0) & 0xffffffff)))
|
|
565
|
-
|
|
566
|
-
#endif /* !__hexagon__ */
|
|
567
|
-
|
|
568
|
-
/* Create from half words */
|
|
569
|
-
|
|
570
|
-
#ifdef __hexagon__
|
|
571
|
-
|
|
572
|
-
#define HEXAGON_V64_CREATE_H(h3, h2, h1, h0) \
|
|
573
|
-
__extension__({ \
|
|
574
|
-
union { \
|
|
575
|
-
long long d; \
|
|
576
|
-
short h[4]; \
|
|
577
|
-
} _HEXAGON_V64_internal_union; \
|
|
578
|
-
_HEXAGON_V64_internal_union.h[0] = (h0); \
|
|
579
|
-
_HEXAGON_V64_internal_union.h[1] = (h1); \
|
|
580
|
-
_HEXAGON_V64_internal_union.h[2] = (h2); \
|
|
581
|
-
_HEXAGON_V64_internal_union.h[3] = (h3); \
|
|
582
|
-
_HEXAGON_V64_internal_union.d; \
|
|
583
|
-
})
|
|
584
|
-
|
|
585
|
-
#else /* !__hexagon__ */
|
|
586
|
-
|
|
587
|
-
#define HEXAGON_V64_CREATE_H(h3, h2, h1, h0) \
|
|
588
|
-
((((HEXAGON_Vect64)(h3)) << 48LL) | (((HEXAGON_Vect64)((h2) & 0xffff)) << 32LL) | \
|
|
589
|
-
(((HEXAGON_Vect64)((h1) & 0xffff)) << 16LL) | ((HEXAGON_Vect64)((h0) & 0xffff)))
|
|
590
|
-
|
|
591
|
-
#endif /* !__hexagon__ */
|
|
592
|
-
|
|
593
|
-
/* Create from bytes */
|
|
594
|
-
|
|
595
|
-
#ifdef __hexagon__
|
|
596
|
-
|
|
597
|
-
#define HEXAGON_V64_CREATE_B(b7, b6, b5, b4, b3, b2, b1, b0) \
|
|
598
|
-
__extension__({ \
|
|
599
|
-
union { \
|
|
600
|
-
long long d; \
|
|
601
|
-
char b[8]; \
|
|
602
|
-
} _HEXAGON_V64_internal_union; \
|
|
603
|
-
_HEXAGON_V64_internal_union.b[0] = (b0); \
|
|
604
|
-
_HEXAGON_V64_internal_union.b[1] = (b1); \
|
|
605
|
-
_HEXAGON_V64_internal_union.b[2] = (b2); \
|
|
606
|
-
_HEXAGON_V64_internal_union.b[3] = (b3); \
|
|
607
|
-
_HEXAGON_V64_internal_union.b[4] = (b4); \
|
|
608
|
-
_HEXAGON_V64_internal_union.b[5] = (b5); \
|
|
609
|
-
_HEXAGON_V64_internal_union.b[6] = (b6); \
|
|
610
|
-
_HEXAGON_V64_internal_union.b[7] = (b7); \
|
|
611
|
-
_HEXAGON_V64_internal_union.d; \
|
|
612
|
-
})
|
|
613
|
-
|
|
614
|
-
#else /* !__hexagon__ */
|
|
615
|
-
|
|
616
|
-
#define HEXAGON_V64_CREATE_B(b7, b6, b5, b4, b3, b2, b1, b0) \
|
|
617
|
-
((((HEXAGON_Vect64)(b7)) << 56LL) | (((HEXAGON_Vect64)((b6) & 0xff)) << 48LL) | \
|
|
618
|
-
(((HEXAGON_Vect64)((b5) & 0xff)) << 40LL) | (((HEXAGON_Vect64)((b4) & 0xff)) << 32LL) | \
|
|
619
|
-
(((HEXAGON_Vect64)((b3) & 0xff)) << 24LL) | (((HEXAGON_Vect64)((b2) & 0xff)) << 16LL) | \
|
|
620
|
-
(((HEXAGON_Vect64)((b1) & 0xff)) << 8LL) | ((HEXAGON_Vect64)((b0) & 0xff)))
|
|
621
|
-
|
|
622
|
-
#endif /* !__hexagon__ */
|
|
623
|
-
|
|
624
|
-
#ifdef __cplusplus
|
|
625
|
-
|
|
626
|
-
class HEXAGON_Vect64C {
|
|
627
|
-
public:
|
|
628
|
-
// Constructors
|
|
629
|
-
HEXAGON_Vect64C(long long d = 0) : data(d) {};
|
|
630
|
-
HEXAGON_Vect64C(int w1, int w0) : data(HEXAGON_V64_CREATE_W(w1, w0)) {};
|
|
631
|
-
HEXAGON_Vect64C(short h3, short h2, short h1, short h0)
|
|
632
|
-
: data(HEXAGON_V64_CREATE_H(h3, h2, h1, h0)) {};
|
|
633
|
-
HEXAGON_Vect64C(signed char b7, signed char b6, signed char b5, signed char b4,
|
|
634
|
-
signed char b3, signed char b2, signed char b1, signed char b0)
|
|
635
|
-
: data(HEXAGON_V64_CREATE_B(b7, b6, b5, b4, b3, b2, b1, b0)) {};
|
|
636
|
-
HEXAGON_Vect64C(const HEXAGON_Vect64C &v) : data(v.data) {};
|
|
637
|
-
|
|
638
|
-
HEXAGON_Vect64C &operator=(const HEXAGON_Vect64C &v) {
|
|
639
|
-
data = v.data;
|
|
640
|
-
return *this;
|
|
641
|
-
};
|
|
642
|
-
|
|
643
|
-
operator long long() {
|
|
644
|
-
return data;
|
|
645
|
-
};
|
|
646
|
-
|
|
647
|
-
// Extract doubleword methods
|
|
648
|
-
long long D(void) {
|
|
649
|
-
return HEXAGON_V64_GET_D(data);
|
|
650
|
-
};
|
|
651
|
-
unsigned long long UD(void) {
|
|
652
|
-
return HEXAGON_V64_GET_UD(data);
|
|
653
|
-
};
|
|
654
|
-
|
|
655
|
-
// Extract word methods
|
|
656
|
-
int W0(void) {
|
|
657
|
-
return HEXAGON_V64_GET_W0(data);
|
|
658
|
-
};
|
|
659
|
-
int W1(void) {
|
|
660
|
-
return HEXAGON_V64_GET_W1(data);
|
|
661
|
-
};
|
|
662
|
-
unsigned int UW0(void) {
|
|
663
|
-
return HEXAGON_V64_GET_UW0(data);
|
|
664
|
-
};
|
|
665
|
-
unsigned int UW1(void) {
|
|
666
|
-
return HEXAGON_V64_GET_UW1(data);
|
|
667
|
-
};
|
|
668
|
-
|
|
669
|
-
// Extract half word methods
|
|
670
|
-
short H0(void) {
|
|
671
|
-
return HEXAGON_V64_GET_H0(data);
|
|
672
|
-
};
|
|
673
|
-
short H1(void) {
|
|
674
|
-
return HEXAGON_V64_GET_H1(data);
|
|
675
|
-
};
|
|
676
|
-
short H2(void) {
|
|
677
|
-
return HEXAGON_V64_GET_H2(data);
|
|
678
|
-
};
|
|
679
|
-
short H3(void) {
|
|
680
|
-
return HEXAGON_V64_GET_H3(data);
|
|
681
|
-
};
|
|
682
|
-
unsigned short UH0(void) {
|
|
683
|
-
return HEXAGON_V64_GET_UH0(data);
|
|
684
|
-
};
|
|
685
|
-
unsigned short UH1(void) {
|
|
686
|
-
return HEXAGON_V64_GET_UH1(data);
|
|
687
|
-
};
|
|
688
|
-
unsigned short UH2(void) {
|
|
689
|
-
return HEXAGON_V64_GET_UH2(data);
|
|
690
|
-
};
|
|
691
|
-
unsigned short UH3(void) {
|
|
692
|
-
return HEXAGON_V64_GET_UH3(data);
|
|
693
|
-
};
|
|
694
|
-
|
|
695
|
-
// Extract byte methods
|
|
696
|
-
signed char B0(void) {
|
|
697
|
-
return HEXAGON_V64_GET_B0(data);
|
|
698
|
-
};
|
|
699
|
-
signed char B1(void) {
|
|
700
|
-
return HEXAGON_V64_GET_B1(data);
|
|
701
|
-
};
|
|
702
|
-
signed char B2(void) {
|
|
703
|
-
return HEXAGON_V64_GET_B2(data);
|
|
704
|
-
};
|
|
705
|
-
signed char B3(void) {
|
|
706
|
-
return HEXAGON_V64_GET_B3(data);
|
|
707
|
-
};
|
|
708
|
-
signed char B4(void) {
|
|
709
|
-
return HEXAGON_V64_GET_B4(data);
|
|
710
|
-
};
|
|
711
|
-
signed char B5(void) {
|
|
712
|
-
return HEXAGON_V64_GET_B5(data);
|
|
713
|
-
};
|
|
714
|
-
signed char B6(void) {
|
|
715
|
-
return HEXAGON_V64_GET_B6(data);
|
|
716
|
-
};
|
|
717
|
-
signed char B7(void) {
|
|
718
|
-
return HEXAGON_V64_GET_B7(data);
|
|
719
|
-
};
|
|
720
|
-
unsigned char UB0(void) {
|
|
721
|
-
return HEXAGON_V64_GET_UB0(data);
|
|
722
|
-
};
|
|
723
|
-
unsigned char UB1(void) {
|
|
724
|
-
return HEXAGON_V64_GET_UB1(data);
|
|
725
|
-
};
|
|
726
|
-
unsigned char UB2(void) {
|
|
727
|
-
return HEXAGON_V64_GET_UB2(data);
|
|
728
|
-
};
|
|
729
|
-
unsigned char UB3(void) {
|
|
730
|
-
return HEXAGON_V64_GET_UB3(data);
|
|
731
|
-
};
|
|
732
|
-
unsigned char UB4(void) {
|
|
733
|
-
return HEXAGON_V64_GET_UB4(data);
|
|
734
|
-
};
|
|
735
|
-
unsigned char UB5(void) {
|
|
736
|
-
return HEXAGON_V64_GET_UB5(data);
|
|
737
|
-
};
|
|
738
|
-
unsigned char UB6(void) {
|
|
739
|
-
return HEXAGON_V64_GET_UB6(data);
|
|
740
|
-
};
|
|
741
|
-
unsigned char UB7(void) {
|
|
742
|
-
return HEXAGON_V64_GET_UB7(data);
|
|
743
|
-
};
|
|
744
|
-
|
|
745
|
-
// NOTE: All set methods return a HEXAGON_Vect64C type
|
|
746
|
-
|
|
747
|
-
// Set doubleword method
|
|
748
|
-
HEXAGON_Vect64C D(long long d) {
|
|
749
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_D(data, d));
|
|
750
|
-
};
|
|
751
|
-
|
|
752
|
-
// Set word methods
|
|
753
|
-
HEXAGON_Vect64C W0(int w) {
|
|
754
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_W0(data, w));
|
|
755
|
-
};
|
|
756
|
-
HEXAGON_Vect64C W1(int w) {
|
|
757
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_W1(data, w));
|
|
758
|
-
};
|
|
759
|
-
|
|
760
|
-
// Set half word methods
|
|
761
|
-
HEXAGON_Vect64C H0(short h) {
|
|
762
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_H0(data, h));
|
|
763
|
-
};
|
|
764
|
-
HEXAGON_Vect64C H1(short h) {
|
|
765
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_H1(data, h));
|
|
766
|
-
};
|
|
767
|
-
HEXAGON_Vect64C H2(short h) {
|
|
768
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_H2(data, h));
|
|
769
|
-
};
|
|
770
|
-
HEXAGON_Vect64C H3(short h) {
|
|
771
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_H3(data, h));
|
|
772
|
-
};
|
|
773
|
-
|
|
774
|
-
// Set byte methods
|
|
775
|
-
HEXAGON_Vect64C B0(signed char b) {
|
|
776
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_B0(data, b));
|
|
777
|
-
};
|
|
778
|
-
HEXAGON_Vect64C B1(signed char b) {
|
|
779
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_B1(data, b));
|
|
780
|
-
};
|
|
781
|
-
HEXAGON_Vect64C B2(signed char b) {
|
|
782
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_B2(data, b));
|
|
783
|
-
};
|
|
784
|
-
HEXAGON_Vect64C B3(signed char b) {
|
|
785
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_B3(data, b));
|
|
786
|
-
};
|
|
787
|
-
HEXAGON_Vect64C B4(signed char b) {
|
|
788
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_B4(data, b));
|
|
789
|
-
};
|
|
790
|
-
HEXAGON_Vect64C B5(signed char b) {
|
|
791
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_B5(data, b));
|
|
792
|
-
};
|
|
793
|
-
HEXAGON_Vect64C B6(signed char b) {
|
|
794
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_B6(data, b));
|
|
795
|
-
};
|
|
796
|
-
HEXAGON_Vect64C B7(signed char b) {
|
|
797
|
-
return HEXAGON_Vect64C(HEXAGON_V64_PUT_B7(data, b));
|
|
798
|
-
};
|
|
799
|
-
|
|
800
|
-
private:
|
|
801
|
-
long long data;
|
|
802
|
-
};
|
|
803
|
-
|
|
804
|
-
#endif /* __cplusplus */
|
|
805
|
-
|
|
806
|
-
/* 32 Bit Vectors */
|
|
807
|
-
|
|
808
|
-
typedef int HEXAGON_Vect32;
|
|
809
|
-
|
|
810
|
-
/* Extract word macros */
|
|
811
|
-
|
|
812
|
-
#define HEXAGON_V32_GET_W(v) (v)
|
|
813
|
-
#define HEXAGON_V32_GET_UW(v) ((unsigned int)(v))
|
|
814
|
-
|
|
815
|
-
/* Extract half word macros */
|
|
816
|
-
|
|
817
|
-
#define HEXAGON_V32_GET_H0(v) \
|
|
818
|
-
__extension__({ \
|
|
819
|
-
union { \
|
|
820
|
-
int w; \
|
|
821
|
-
short h[2]; \
|
|
822
|
-
} _HEXAGON_V32_internal_union; \
|
|
823
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
824
|
-
_HEXAGON_V32_internal_union.h[0]; \
|
|
825
|
-
})
|
|
826
|
-
#define HEXAGON_V32_GET_H1(v) \
|
|
827
|
-
__extension__({ \
|
|
828
|
-
union { \
|
|
829
|
-
int w; \
|
|
830
|
-
short h[2]; \
|
|
831
|
-
} _HEXAGON_V32_internal_union; \
|
|
832
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
833
|
-
_HEXAGON_V32_internal_union.h[1]; \
|
|
834
|
-
})
|
|
835
|
-
#define HEXAGON_V32_GET_UH0(v) \
|
|
836
|
-
__extension__({ \
|
|
837
|
-
union { \
|
|
838
|
-
int w; \
|
|
839
|
-
unsigned short uh[2]; \
|
|
840
|
-
} _HEXAGON_V32_internal_union; \
|
|
841
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
842
|
-
_HEXAGON_V32_internal_union.uh[0]; \
|
|
843
|
-
})
|
|
844
|
-
#define HEXAGON_V32_GET_UH1(v) \
|
|
845
|
-
__extension__({ \
|
|
846
|
-
union { \
|
|
847
|
-
int w; \
|
|
848
|
-
unsigned short uh[2]; \
|
|
849
|
-
} _HEXAGON_V32_internal_union; \
|
|
850
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
851
|
-
_HEXAGON_V32_internal_union.uh[1]; \
|
|
852
|
-
})
|
|
853
|
-
|
|
854
|
-
/* Extract byte macros */
|
|
855
|
-
|
|
856
|
-
#define HEXAGON_V32_GET_B0(v) \
|
|
857
|
-
__extension__({ \
|
|
858
|
-
union { \
|
|
859
|
-
int w; \
|
|
860
|
-
signed char b[4]; \
|
|
861
|
-
} _HEXAGON_V32_internal_union; \
|
|
862
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
863
|
-
_HEXAGON_V32_internal_union.b[0]; \
|
|
864
|
-
})
|
|
865
|
-
#define HEXAGON_V32_GET_B1(v) \
|
|
866
|
-
__extension__({ \
|
|
867
|
-
union { \
|
|
868
|
-
int w; \
|
|
869
|
-
signed char b[4]; \
|
|
870
|
-
} _HEXAGON_V32_internal_union; \
|
|
871
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
872
|
-
_HEXAGON_V32_internal_union.b[1]; \
|
|
873
|
-
})
|
|
874
|
-
#define HEXAGON_V32_GET_B2(v) \
|
|
875
|
-
__extension__({ \
|
|
876
|
-
union { \
|
|
877
|
-
int w; \
|
|
878
|
-
signed char b[4]; \
|
|
879
|
-
} _HEXAGON_V32_internal_union; \
|
|
880
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
881
|
-
_HEXAGON_V32_internal_union.b[2]; \
|
|
882
|
-
})
|
|
883
|
-
#define HEXAGON_V32_GET_B3(v) \
|
|
884
|
-
__extension__({ \
|
|
885
|
-
union { \
|
|
886
|
-
int w; \
|
|
887
|
-
signed char b[4]; \
|
|
888
|
-
} _HEXAGON_V32_internal_union; \
|
|
889
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
890
|
-
_HEXAGON_V32_internal_union.b[3]; \
|
|
891
|
-
})
|
|
892
|
-
#define HEXAGON_V32_GET_UB0(v) \
|
|
893
|
-
__extension__({ \
|
|
894
|
-
union { \
|
|
895
|
-
int w; \
|
|
896
|
-
unsigned char ub[4]; \
|
|
897
|
-
} _HEXAGON_V32_internal_union; \
|
|
898
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
899
|
-
_HEXAGON_V32_internal_union.ub[0]; \
|
|
900
|
-
})
|
|
901
|
-
#define HEXAGON_V32_GET_UB1(v) \
|
|
902
|
-
__extension__({ \
|
|
903
|
-
union { \
|
|
904
|
-
int w; \
|
|
905
|
-
unsigned char ub[4]; \
|
|
906
|
-
} _HEXAGON_V32_internal_union; \
|
|
907
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
908
|
-
_HEXAGON_V32_internal_union.ub[1]; \
|
|
909
|
-
})
|
|
910
|
-
#define HEXAGON_V32_GET_UB2(v) \
|
|
911
|
-
__extension__({ \
|
|
912
|
-
union { \
|
|
913
|
-
int w; \
|
|
914
|
-
unsigned char ub[4]; \
|
|
915
|
-
} _HEXAGON_V32_internal_union; \
|
|
916
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
917
|
-
_HEXAGON_V32_internal_union.ub[2]; \
|
|
918
|
-
})
|
|
919
|
-
#define HEXAGON_V32_GET_UB3(v) \
|
|
920
|
-
__extension__({ \
|
|
921
|
-
union { \
|
|
922
|
-
int w; \
|
|
923
|
-
unsigned char ub[4]; \
|
|
924
|
-
} _HEXAGON_V32_internal_union; \
|
|
925
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
926
|
-
_HEXAGON_V32_internal_union.ub[3]; \
|
|
927
|
-
})
|
|
928
|
-
|
|
929
|
-
/* NOTE: All set macros return a HEXAGON_Vect32 type */
|
|
930
|
-
|
|
931
|
-
/* Set word macro */
|
|
932
|
-
|
|
933
|
-
#define HEXAGON_V32_PUT_W(v, new) (new)
|
|
934
|
-
|
|
935
|
-
/* Set half word macros */
|
|
936
|
-
|
|
937
|
-
#ifdef __hexagon__
|
|
938
|
-
|
|
939
|
-
#define HEXAGON_V32_PUT_H0(v, new) \
|
|
940
|
-
__extension__({ \
|
|
941
|
-
union { \
|
|
942
|
-
int w; \
|
|
943
|
-
short h[2]; \
|
|
944
|
-
} _HEXAGON_V32_internal_union; \
|
|
945
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
946
|
-
_HEXAGON_V32_internal_union.h[0] = (new); \
|
|
947
|
-
_HEXAGON_V32_internal_union.w; \
|
|
948
|
-
})
|
|
949
|
-
#define HEXAGON_V32_PUT_H1(v, new) \
|
|
950
|
-
__extension__({ \
|
|
951
|
-
union { \
|
|
952
|
-
int w; \
|
|
953
|
-
short h[2]; \
|
|
954
|
-
} _HEXAGON_V32_internal_union; \
|
|
955
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
956
|
-
_HEXAGON_V32_internal_union.h[1] = (new); \
|
|
957
|
-
_HEXAGON_V32_internal_union.w; \
|
|
958
|
-
})
|
|
959
|
-
|
|
960
|
-
#else /* !__hexagon__ */
|
|
961
|
-
|
|
962
|
-
#define HEXAGON_V32_PUT_H0(v, new) \
|
|
963
|
-
(((v) & 0xffff0000) | ((HEXAGON_Vect32)((unsigned short)(new))))
|
|
964
|
-
#define HEXAGON_V32_PUT_H1(v, new) (((v) & 0x0000ffff) | (((HEXAGON_Vect32)(new)) << 16))
|
|
965
|
-
|
|
966
|
-
#endif /* !__hexagon__ */
|
|
967
|
-
|
|
968
|
-
/* Set byte macros */
|
|
969
|
-
|
|
970
|
-
#ifdef __hexagon__
|
|
971
|
-
|
|
972
|
-
#define HEXAGON_V32_PUT_B0(v, new) \
|
|
973
|
-
__extension__({ \
|
|
974
|
-
union { \
|
|
975
|
-
int w; \
|
|
976
|
-
char b[4]; \
|
|
977
|
-
} _HEXAGON_V32_internal_union; \
|
|
978
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
979
|
-
_HEXAGON_V32_internal_union.b[0] = (new); \
|
|
980
|
-
_HEXAGON_V32_internal_union.w; \
|
|
981
|
-
})
|
|
982
|
-
#define HEXAGON_V32_PUT_B1(v, new) \
|
|
983
|
-
__extension__({ \
|
|
984
|
-
union { \
|
|
985
|
-
int w; \
|
|
986
|
-
char b[4]; \
|
|
987
|
-
} _HEXAGON_V32_internal_union; \
|
|
988
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
989
|
-
_HEXAGON_V32_internal_union.b[1] = (new); \
|
|
990
|
-
_HEXAGON_V32_internal_union.w; \
|
|
991
|
-
})
|
|
992
|
-
#define HEXAGON_V32_PUT_B2(v, new) \
|
|
993
|
-
__extension__({ \
|
|
994
|
-
union { \
|
|
995
|
-
int w; \
|
|
996
|
-
char b[4]; \
|
|
997
|
-
} _HEXAGON_V32_internal_union; \
|
|
998
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
999
|
-
_HEXAGON_V32_internal_union.b[2] = (new); \
|
|
1000
|
-
_HEXAGON_V32_internal_union.w; \
|
|
1001
|
-
})
|
|
1002
|
-
#define HEXAGON_V32_PUT_B3(v, new) \
|
|
1003
|
-
__extension__({ \
|
|
1004
|
-
union { \
|
|
1005
|
-
int w; \
|
|
1006
|
-
char b[4]; \
|
|
1007
|
-
} _HEXAGON_V32_internal_union; \
|
|
1008
|
-
_HEXAGON_V32_internal_union.w = (v); \
|
|
1009
|
-
_HEXAGON_V32_internal_union.b[3] = (new); \
|
|
1010
|
-
_HEXAGON_V32_internal_union.w; \
|
|
1011
|
-
})
|
|
1012
|
-
|
|
1013
|
-
#else /* !__hexagon__ */
|
|
1014
|
-
|
|
1015
|
-
#define HEXAGON_V32_PUT_B0(v, new) \
|
|
1016
|
-
(((v) & 0xffffff00) | ((HEXAGON_Vect32)((unsigned char)(new))))
|
|
1017
|
-
#define HEXAGON_V32_PUT_B1(v, new) \
|
|
1018
|
-
(((v) & 0xffff00ff) | (((HEXAGON_Vect32)((unsigned char)(new))) << 8))
|
|
1019
|
-
#define HEXAGON_V32_PUT_B2(v, new) \
|
|
1020
|
-
(((v) & 0xff00ffff) | (((HEXAGON_Vect32)((unsigned char)(new))) << 16))
|
|
1021
|
-
#define HEXAGON_V32_PUT_B3(v, new) (((v) & 0x00ffffff) | (((HEXAGON_Vect32)(new)) << 24))
|
|
1022
|
-
|
|
1023
|
-
#endif /* !__hexagon__ */
|
|
1024
|
-
|
|
1025
|
-
/* NOTE: All create macros return a HEXAGON_Vect32 type */
|
|
1026
|
-
|
|
1027
|
-
/* Create from a word */
|
|
1028
|
-
|
|
1029
|
-
#define HEXAGON_V32_CREATE_W(w) (w)
|
|
1030
|
-
|
|
1031
|
-
/* Create from half words */
|
|
1032
|
-
|
|
1033
|
-
#ifdef __hexagon__
|
|
1034
|
-
|
|
1035
|
-
#define HEXAGON_V32_CREATE_H(h1, h0) \
|
|
1036
|
-
__extension__({ \
|
|
1037
|
-
union { \
|
|
1038
|
-
long long d; \
|
|
1039
|
-
short h[2]; \
|
|
1040
|
-
} _HEXAGON_V32_internal_union; \
|
|
1041
|
-
_HEXAGON_V32_internal_union.h[0] = (h0); \
|
|
1042
|
-
_HEXAGON_V32_internal_union.h[1] = (h1); \
|
|
1043
|
-
_HEXAGON_V32_internal_union.d; \
|
|
1044
|
-
})
|
|
1045
|
-
|
|
1046
|
-
#else /* !__hexagon__ */
|
|
1047
|
-
|
|
1048
|
-
#define HEXAGON_V32_CREATE_H(h1, h0) \
|
|
1049
|
-
((((HEXAGON_Vect32)(h1)) << 16) | ((HEXAGON_Vect32)((h0) & 0xffff)))
|
|
1050
|
-
|
|
1051
|
-
#endif /* !__hexagon__ */
|
|
1052
|
-
|
|
1053
|
-
/* Create from bytes */
|
|
1054
|
-
#ifdef __hexagon__
|
|
1055
|
-
|
|
1056
|
-
#define HEXAGON_V32_CREATE_B(b3, b2, b1, b0) \
|
|
1057
|
-
__extension__({ \
|
|
1058
|
-
union { \
|
|
1059
|
-
long long d; \
|
|
1060
|
-
char b[4]; \
|
|
1061
|
-
} _HEXAGON_V32_internal_union; \
|
|
1062
|
-
_HEXAGON_V32_internal_union.b[0] = (b0); \
|
|
1063
|
-
_HEXAGON_V32_internal_union.b[1] = (b1); \
|
|
1064
|
-
_HEXAGON_V32_internal_union.b[2] = (b2); \
|
|
1065
|
-
_HEXAGON_V32_internal_union.b[3] = (b3); \
|
|
1066
|
-
_HEXAGON_V32_internal_union.d; \
|
|
1067
|
-
})
|
|
1068
|
-
|
|
1069
|
-
#else /* !__hexagon__ */
|
|
1070
|
-
|
|
1071
|
-
#define HEXAGON_V32_CREATE_B(b3, b2, b1, b0) \
|
|
1072
|
-
((((HEXAGON_Vect32)(b3)) << 24) | (((HEXAGON_Vect32)((b2) & 0xff)) << 16) | \
|
|
1073
|
-
(((HEXAGON_Vect32)((b1) & 0xff)) << 8) | ((HEXAGON_Vect32)((b0) & 0xff)))
|
|
1074
|
-
|
|
1075
|
-
#endif /* !__hexagon__ */
|
|
1076
|
-
|
|
1077
|
-
#ifdef __cplusplus
|
|
1078
|
-
|
|
1079
|
-
class HEXAGON_Vect32C {
|
|
1080
|
-
public:
|
|
1081
|
-
// Constructors
|
|
1082
|
-
HEXAGON_Vect32C(int w = 0) : data(w) {};
|
|
1083
|
-
HEXAGON_Vect32C(short h1, short h0) : data(HEXAGON_V32_CREATE_H(h1, h0)) {};
|
|
1084
|
-
HEXAGON_Vect32C(signed char b3, signed char b2, signed char b1, signed char b0)
|
|
1085
|
-
: data(HEXAGON_V32_CREATE_B(b3, b2, b1, b0)) {};
|
|
1086
|
-
HEXAGON_Vect32C(const HEXAGON_Vect32C &v) : data(v.data) {};
|
|
1087
|
-
|
|
1088
|
-
HEXAGON_Vect32C &operator=(const HEXAGON_Vect32C &v) {
|
|
1089
|
-
data = v.data;
|
|
1090
|
-
return *this;
|
|
1091
|
-
};
|
|
1092
|
-
|
|
1093
|
-
operator int() {
|
|
1094
|
-
return data;
|
|
1095
|
-
};
|
|
1096
|
-
|
|
1097
|
-
// Extract word methods
|
|
1098
|
-
int W(void) {
|
|
1099
|
-
return HEXAGON_V32_GET_W(data);
|
|
1100
|
-
};
|
|
1101
|
-
unsigned int UW(void) {
|
|
1102
|
-
return HEXAGON_V32_GET_UW(data);
|
|
1103
|
-
};
|
|
1104
|
-
|
|
1105
|
-
// Extract half word methods
|
|
1106
|
-
short H0(void) {
|
|
1107
|
-
return HEXAGON_V32_GET_H0(data);
|
|
1108
|
-
};
|
|
1109
|
-
short H1(void) {
|
|
1110
|
-
return HEXAGON_V32_GET_H1(data);
|
|
1111
|
-
};
|
|
1112
|
-
unsigned short UH0(void) {
|
|
1113
|
-
return HEXAGON_V32_GET_UH0(data);
|
|
1114
|
-
};
|
|
1115
|
-
unsigned short UH1(void) {
|
|
1116
|
-
return HEXAGON_V32_GET_UH1(data);
|
|
1117
|
-
};
|
|
1118
|
-
|
|
1119
|
-
// Extract byte methods
|
|
1120
|
-
signed char B0(void) {
|
|
1121
|
-
return HEXAGON_V32_GET_B0(data);
|
|
1122
|
-
};
|
|
1123
|
-
signed char B1(void) {
|
|
1124
|
-
return HEXAGON_V32_GET_B1(data);
|
|
1125
|
-
};
|
|
1126
|
-
signed char B2(void) {
|
|
1127
|
-
return HEXAGON_V32_GET_B2(data);
|
|
1128
|
-
};
|
|
1129
|
-
signed char B3(void) {
|
|
1130
|
-
return HEXAGON_V32_GET_B3(data);
|
|
1131
|
-
};
|
|
1132
|
-
unsigned char UB0(void) {
|
|
1133
|
-
return HEXAGON_V32_GET_UB0(data);
|
|
1134
|
-
};
|
|
1135
|
-
unsigned char UB1(void) {
|
|
1136
|
-
return HEXAGON_V32_GET_UB1(data);
|
|
1137
|
-
};
|
|
1138
|
-
unsigned char UB2(void) {
|
|
1139
|
-
return HEXAGON_V32_GET_UB2(data);
|
|
1140
|
-
};
|
|
1141
|
-
unsigned char UB3(void) {
|
|
1142
|
-
return HEXAGON_V32_GET_UB3(data);
|
|
1143
|
-
};
|
|
1144
|
-
|
|
1145
|
-
// NOTE: All set methods return a HEXAGON_Vect32C type
|
|
1146
|
-
|
|
1147
|
-
// Set word method
|
|
1148
|
-
HEXAGON_Vect32C W(int w) {
|
|
1149
|
-
return HEXAGON_Vect32C(HEXAGON_V32_PUT_W(data, w));
|
|
1150
|
-
};
|
|
1151
|
-
|
|
1152
|
-
// Set half word methods
|
|
1153
|
-
HEXAGON_Vect32C H0(short h) {
|
|
1154
|
-
return HEXAGON_Vect32C(HEXAGON_V32_PUT_H0(data, h));
|
|
1155
|
-
};
|
|
1156
|
-
HEXAGON_Vect32C H1(short h) {
|
|
1157
|
-
return HEXAGON_Vect32C(HEXAGON_V32_PUT_H1(data, h));
|
|
1158
|
-
};
|
|
1159
|
-
|
|
1160
|
-
// Set byte methods
|
|
1161
|
-
HEXAGON_Vect32C B0(signed char b) {
|
|
1162
|
-
return HEXAGON_Vect32C(HEXAGON_V32_PUT_B0(data, b));
|
|
1163
|
-
};
|
|
1164
|
-
HEXAGON_Vect32C B1(signed char b) {
|
|
1165
|
-
return HEXAGON_Vect32C(HEXAGON_V32_PUT_B1(data, b));
|
|
1166
|
-
};
|
|
1167
|
-
HEXAGON_Vect32C B2(signed char b) {
|
|
1168
|
-
return HEXAGON_Vect32C(HEXAGON_V32_PUT_B2(data, b));
|
|
1169
|
-
};
|
|
1170
|
-
HEXAGON_Vect32C B3(signed char b) {
|
|
1171
|
-
return HEXAGON_Vect32C(HEXAGON_V32_PUT_B3(data, b));
|
|
1172
|
-
};
|
|
1173
|
-
|
|
1174
|
-
private:
|
|
1175
|
-
int data;
|
|
1176
|
-
};
|
|
1177
|
-
|
|
1178
|
-
#endif /* __cplusplus */
|
|
1179
|
-
|
|
1180
|
-
// V65 Vector types
|
|
1181
|
-
#if __HVX_ARCH__ >= 65
|
|
1182
|
-
#if defined __HVX__ && (__HVX_LENGTH__ == 128)
|
|
1183
|
-
typedef long HEXAGON_VecPred128 __attribute__((__vector_size__(128)))
|
|
1184
|
-
__attribute__((aligned(128)));
|
|
1185
|
-
|
|
1186
|
-
typedef long HEXAGON_Vect1024 __attribute__((__vector_size__(128)))
|
|
1187
|
-
__attribute__((aligned(128)));
|
|
1188
|
-
|
|
1189
|
-
typedef long HEXAGON_Vect2048 __attribute__((__vector_size__(256)))
|
|
1190
|
-
__attribute__((aligned(256)));
|
|
1191
|
-
|
|
1192
|
-
typedef long HEXAGON_UVect1024 __attribute__((__vector_size__(128)))
|
|
1193
|
-
__attribute__((aligned(4)));
|
|
1194
|
-
|
|
1195
|
-
typedef long HEXAGON_UVect2048 __attribute__((__vector_size__(256)))
|
|
1196
|
-
__attribute__((aligned(4)));
|
|
1197
|
-
|
|
1198
|
-
#define HVX_VectorPred HEXAGON_VecPred128
|
|
1199
|
-
#define HVX_Vector HEXAGON_Vect1024
|
|
1200
|
-
#define HVX_VectorPair HEXAGON_Vect2048
|
|
1201
|
-
#define HVX_UVector HEXAGON_UVect1024
|
|
1202
|
-
#define HVX_UVectorPair HEXAGON_UVect2048
|
|
1203
|
-
#else /* defined __HVX__ && (__HVX_LENGTH__ == 128) */
|
|
1204
|
-
#if defined __HVX__ && (__HVX_LENGTH__ == 64)
|
|
1205
|
-
typedef long HEXAGON_VecPred64 __attribute__((__vector_size__(64)))
|
|
1206
|
-
__attribute__((aligned(64)));
|
|
1207
|
-
|
|
1208
|
-
typedef long HEXAGON_Vect512 __attribute__((__vector_size__(64)))
|
|
1209
|
-
__attribute__((aligned(64)));
|
|
1210
|
-
|
|
1211
|
-
typedef long HEXAGON_Vect1024 __attribute__((__vector_size__(128)))
|
|
1212
|
-
__attribute__((aligned(128)));
|
|
1213
|
-
|
|
1214
|
-
typedef long HEXAGON_UVect512 __attribute__((__vector_size__(64)))
|
|
1215
|
-
__attribute__((aligned(4)));
|
|
1216
|
-
|
|
1217
|
-
typedef long HEXAGON_UVect1024 __attribute__((__vector_size__(128)))
|
|
1218
|
-
__attribute__((aligned(4)));
|
|
1219
|
-
|
|
1220
|
-
#define HVX_VectorPred HEXAGON_VecPred64
|
|
1221
|
-
#define HVX_Vector HEXAGON_Vect512
|
|
1222
|
-
#define HVX_VectorPair HEXAGON_Vect1024
|
|
1223
|
-
#define HVX_UVector HEXAGON_UVect512
|
|
1224
|
-
#define HVX_UVectorPair HEXAGON_UVect1024
|
|
1225
|
-
#endif /* defined __HVX__ && (__HVX_LENGTH__ == 64) */
|
|
1226
|
-
#endif /* defined __HVX__ && (__HVX_LENGTH__ == 128) */
|
|
1227
|
-
#endif /* __HVX_ARCH__ >= 65 */
|
|
1228
|
-
|
|
1229
|
-
/* Predicates */
|
|
1230
|
-
|
|
1231
|
-
typedef int HEXAGON_Pred;
|
|
1232
|
-
|
|
1233
|
-
/***
|
|
1234
|
-
*** backward compatibility aliases
|
|
1235
|
-
***/
|
|
1236
|
-
|
|
1237
|
-
/* Old names */
|
|
1238
|
-
#define Q6Vect Q6Vect64
|
|
1239
|
-
#define Q6V_GET_D Q6V64_GET_D
|
|
1240
|
-
#define Q6V_GET_UD Q6V64_GET_UD
|
|
1241
|
-
#define Q6V_GET_W0 Q6V64_GET_W0
|
|
1242
|
-
#define Q6V_GET_W1 Q6V64_GET_W1
|
|
1243
|
-
#define Q6V_GET_UW0 Q6V64_GET_UW0
|
|
1244
|
-
#define Q6V_GET_UW1 Q6V64_GET_UW1
|
|
1245
|
-
#define Q6V_GET_H0 Q6V64_GET_H0
|
|
1246
|
-
#define Q6V_GET_H1 Q6V64_GET_H1
|
|
1247
|
-
#define Q6V_GET_H2 Q6V64_GET_H2
|
|
1248
|
-
#define Q6V_GET_H3 Q6V64_GET_H3
|
|
1249
|
-
#define Q6V_GET_UH0 Q6V64_GET_UH0
|
|
1250
|
-
#define Q6V_GET_UH1 Q6V64_GET_UH1
|
|
1251
|
-
#define Q6V_GET_UH2 Q6V64_GET_UH2
|
|
1252
|
-
#define Q6V_GET_UH3 Q6V64_GET_UH3
|
|
1253
|
-
#define Q6V_GET_B0 Q6V64_GET_B0
|
|
1254
|
-
#define Q6V_GET_B1 Q6V64_GET_B1
|
|
1255
|
-
#define Q6V_GET_B2 Q6V64_GET_B2
|
|
1256
|
-
#define Q6V_GET_B3 Q6V64_GET_B3
|
|
1257
|
-
#define Q6V_GET_B4 Q6V64_GET_B4
|
|
1258
|
-
#define Q6V_GET_B5 Q6V64_GET_B5
|
|
1259
|
-
#define Q6V_GET_B6 Q6V64_GET_B6
|
|
1260
|
-
#define Q6V_GET_B7 Q6V64_GET_B7
|
|
1261
|
-
#define Q6V_GET_UB0 Q6V64_GET_UB0
|
|
1262
|
-
#define Q6V_GET_UB1 Q6V64_GET_UB1
|
|
1263
|
-
#define Q6V_GET_UB2 Q6V64_GET_UB2
|
|
1264
|
-
#define Q6V_GET_UB3 Q6V64_GET_UB3
|
|
1265
|
-
#define Q6V_GET_UB4 Q6V64_GET_UB4
|
|
1266
|
-
#define Q6V_GET_UB5 Q6V64_GET_UB5
|
|
1267
|
-
#define Q6V_GET_UB6 Q6V64_GET_UB6
|
|
1268
|
-
#define Q6V_GET_UB7 Q6V64_GET_UB7
|
|
1269
|
-
#define Q6V_PUT_D Q6V64_PUT_D
|
|
1270
|
-
#define Q6V_PUT_W0 Q6V64_PUT_W0
|
|
1271
|
-
#define Q6V_PUT_W1 Q6V64_PUT_W1
|
|
1272
|
-
#define Q6V_PUT_H0 Q6V64_PUT_H0
|
|
1273
|
-
#define Q6V_PUT_H1 Q6V64_PUT_H1
|
|
1274
|
-
#define Q6V_PUT_H2 Q6V64_PUT_H2
|
|
1275
|
-
#define Q6V_PUT_H3 Q6V64_PUT_H3
|
|
1276
|
-
#define Q6V_PUT_B0 Q6V64_PUT_B0
|
|
1277
|
-
#define Q6V_PUT_B1 Q6V64_PUT_B1
|
|
1278
|
-
#define Q6V_PUT_B2 Q6V64_PUT_B2
|
|
1279
|
-
#define Q6V_PUT_B3 Q6V64_PUT_B3
|
|
1280
|
-
#define Q6V_PUT_B4 Q6V64_PUT_B4
|
|
1281
|
-
#define Q6V_PUT_B5 Q6V64_PUT_B5
|
|
1282
|
-
#define Q6V_PUT_B6 Q6V64_PUT_B6
|
|
1283
|
-
#define Q6V_PUT_B7 Q6V64_PUT_B7
|
|
1284
|
-
#define Q6V_CREATE_D Q6V64_CREATE_D
|
|
1285
|
-
#define Q6V_CREATE_W Q6V64_CREATE_W
|
|
1286
|
-
#define Q6V_CREATE_H Q6V64_CREATE_H
|
|
1287
|
-
#define Q6V_CREATE_B Q6V64_CREATE_B
|
|
1288
|
-
|
|
1289
|
-
#ifdef __cplusplus
|
|
1290
|
-
#define Q6VectC Q6Vect64C
|
|
1291
|
-
#endif /* __cplusplus */
|
|
1292
|
-
|
|
1293
|
-
/* 64 Bit Vectors */
|
|
1294
|
-
|
|
1295
|
-
typedef long long __attribute__((__may_alias__)) Q6Vect64;
|
|
1296
|
-
|
|
1297
|
-
/* Extract doubleword macros */
|
|
1298
|
-
|
|
1299
|
-
#define Q6V64_GET_D(v) (v)
|
|
1300
|
-
#define Q6V64_GET_UD(v) ((unsigned long long)(v))
|
|
1301
|
-
|
|
1302
|
-
/* Extract word macros */
|
|
1303
|
-
|
|
1304
|
-
#define Q6V64_GET_W0(v) \
|
|
1305
|
-
__extension__({ \
|
|
1306
|
-
union { \
|
|
1307
|
-
long long d; \
|
|
1308
|
-
int w[2]; \
|
|
1309
|
-
} _Q6V64_internal_union; \
|
|
1310
|
-
_Q6V64_internal_union.d = (v); \
|
|
1311
|
-
_Q6V64_internal_union.w[0]; \
|
|
1312
|
-
})
|
|
1313
|
-
#define Q6V64_GET_W1(v) \
|
|
1314
|
-
__extension__({ \
|
|
1315
|
-
union { \
|
|
1316
|
-
long long d; \
|
|
1317
|
-
int w[2]; \
|
|
1318
|
-
} _Q6V64_internal_union; \
|
|
1319
|
-
_Q6V64_internal_union.d = (v); \
|
|
1320
|
-
_Q6V64_internal_union.w[1]; \
|
|
1321
|
-
})
|
|
1322
|
-
#define Q6V64_GET_UW0(v) \
|
|
1323
|
-
__extension__({ \
|
|
1324
|
-
union { \
|
|
1325
|
-
long long d; \
|
|
1326
|
-
unsigned int uw[2]; \
|
|
1327
|
-
} _Q6V64_internal_union; \
|
|
1328
|
-
_Q6V64_internal_union.d = (v); \
|
|
1329
|
-
_Q6V64_internal_union.uw[0]; \
|
|
1330
|
-
})
|
|
1331
|
-
#define Q6V64_GET_UW1(v) \
|
|
1332
|
-
__extension__({ \
|
|
1333
|
-
union { \
|
|
1334
|
-
long long d; \
|
|
1335
|
-
unsigned int uw[2]; \
|
|
1336
|
-
} _Q6V64_internal_union; \
|
|
1337
|
-
_Q6V64_internal_union.d = (v); \
|
|
1338
|
-
_Q6V64_internal_union.uw[1]; \
|
|
1339
|
-
})
|
|
1340
|
-
|
|
1341
|
-
/* Extract half word macros */
|
|
1342
|
-
|
|
1343
|
-
#define Q6V64_GET_H0(v) \
|
|
1344
|
-
__extension__({ \
|
|
1345
|
-
union { \
|
|
1346
|
-
long long d; \
|
|
1347
|
-
short h[4]; \
|
|
1348
|
-
} _Q6V64_internal_union; \
|
|
1349
|
-
_Q6V64_internal_union.d = (v); \
|
|
1350
|
-
_Q6V64_internal_union.h[0]; \
|
|
1351
|
-
})
|
|
1352
|
-
#define Q6V64_GET_H1(v) \
|
|
1353
|
-
__extension__({ \
|
|
1354
|
-
union { \
|
|
1355
|
-
long long d; \
|
|
1356
|
-
short h[4]; \
|
|
1357
|
-
} _Q6V64_internal_union; \
|
|
1358
|
-
_Q6V64_internal_union.d = (v); \
|
|
1359
|
-
_Q6V64_internal_union.h[1]; \
|
|
1360
|
-
})
|
|
1361
|
-
#define Q6V64_GET_H2(v) \
|
|
1362
|
-
__extension__({ \
|
|
1363
|
-
union { \
|
|
1364
|
-
long long d; \
|
|
1365
|
-
short h[4]; \
|
|
1366
|
-
} _Q6V64_internal_union; \
|
|
1367
|
-
_Q6V64_internal_union.d = (v); \
|
|
1368
|
-
_Q6V64_internal_union.h[2]; \
|
|
1369
|
-
})
|
|
1370
|
-
#define Q6V64_GET_H3(v) \
|
|
1371
|
-
__extension__({ \
|
|
1372
|
-
union { \
|
|
1373
|
-
long long d; \
|
|
1374
|
-
short h[4]; \
|
|
1375
|
-
} _Q6V64_internal_union; \
|
|
1376
|
-
_Q6V64_internal_union.d = (v); \
|
|
1377
|
-
_Q6V64_internal_union.h[3]; \
|
|
1378
|
-
})
|
|
1379
|
-
#define Q6V64_GET_UH0(v) \
|
|
1380
|
-
__extension__({ \
|
|
1381
|
-
union { \
|
|
1382
|
-
long long d; \
|
|
1383
|
-
unsigned short uh[4]; \
|
|
1384
|
-
} _Q6V64_internal_union; \
|
|
1385
|
-
_Q6V64_internal_union.d = (v); \
|
|
1386
|
-
_Q6V64_internal_union.uh[0]; \
|
|
1387
|
-
})
|
|
1388
|
-
#define Q6V64_GET_UH1(v) \
|
|
1389
|
-
__extension__({ \
|
|
1390
|
-
union { \
|
|
1391
|
-
long long d; \
|
|
1392
|
-
unsigned short uh[4]; \
|
|
1393
|
-
} _Q6V64_internal_union; \
|
|
1394
|
-
_Q6V64_internal_union.d = (v); \
|
|
1395
|
-
_Q6V64_internal_union.uh[1]; \
|
|
1396
|
-
})
|
|
1397
|
-
#define Q6V64_GET_UH2(v) \
|
|
1398
|
-
__extension__({ \
|
|
1399
|
-
union { \
|
|
1400
|
-
long long d; \
|
|
1401
|
-
unsigned short uh[4]; \
|
|
1402
|
-
} _Q6V64_internal_union; \
|
|
1403
|
-
_Q6V64_internal_union.d = (v); \
|
|
1404
|
-
_Q6V64_internal_union.uh[2]; \
|
|
1405
|
-
})
|
|
1406
|
-
#define Q6V64_GET_UH3(v) \
|
|
1407
|
-
__extension__({ \
|
|
1408
|
-
union { \
|
|
1409
|
-
long long d; \
|
|
1410
|
-
unsigned short uh[4]; \
|
|
1411
|
-
} _Q6V64_internal_union; \
|
|
1412
|
-
_Q6V64_internal_union.d = (v); \
|
|
1413
|
-
_Q6V64_internal_union.uh[3]; \
|
|
1414
|
-
})
|
|
1415
|
-
|
|
1416
|
-
/* Extract byte macros */
|
|
1417
|
-
|
|
1418
|
-
#define Q6V64_GET_B0(v) \
|
|
1419
|
-
__extension__({ \
|
|
1420
|
-
union { \
|
|
1421
|
-
long long d; \
|
|
1422
|
-
signed char b[8]; \
|
|
1423
|
-
} _Q6V64_internal_union; \
|
|
1424
|
-
_Q6V64_internal_union.d = (v); \
|
|
1425
|
-
_Q6V64_internal_union.b[0]; \
|
|
1426
|
-
})
|
|
1427
|
-
#define Q6V64_GET_B1(v) \
|
|
1428
|
-
__extension__({ \
|
|
1429
|
-
union { \
|
|
1430
|
-
long long d; \
|
|
1431
|
-
signed char b[8]; \
|
|
1432
|
-
} _Q6V64_internal_union; \
|
|
1433
|
-
_Q6V64_internal_union.d = (v); \
|
|
1434
|
-
_Q6V64_internal_union.b[1]; \
|
|
1435
|
-
})
|
|
1436
|
-
#define Q6V64_GET_B2(v) \
|
|
1437
|
-
__extension__({ \
|
|
1438
|
-
union { \
|
|
1439
|
-
long long d; \
|
|
1440
|
-
signed char b[8]; \
|
|
1441
|
-
} _Q6V64_internal_union; \
|
|
1442
|
-
_Q6V64_internal_union.d = (v); \
|
|
1443
|
-
_Q6V64_internal_union.b[2]; \
|
|
1444
|
-
})
|
|
1445
|
-
#define Q6V64_GET_B3(v) \
|
|
1446
|
-
__extension__({ \
|
|
1447
|
-
union { \
|
|
1448
|
-
long long d; \
|
|
1449
|
-
signed char b[8]; \
|
|
1450
|
-
} _Q6V64_internal_union; \
|
|
1451
|
-
_Q6V64_internal_union.d = (v); \
|
|
1452
|
-
_Q6V64_internal_union.b[3]; \
|
|
1453
|
-
})
|
|
1454
|
-
#define Q6V64_GET_B4(v) \
|
|
1455
|
-
__extension__({ \
|
|
1456
|
-
union { \
|
|
1457
|
-
long long d; \
|
|
1458
|
-
signed char b[8]; \
|
|
1459
|
-
} _Q6V64_internal_union; \
|
|
1460
|
-
_Q6V64_internal_union.d = (v); \
|
|
1461
|
-
_Q6V64_internal_union.b[4]; \
|
|
1462
|
-
})
|
|
1463
|
-
#define Q6V64_GET_B5(v) \
|
|
1464
|
-
__extension__({ \
|
|
1465
|
-
union { \
|
|
1466
|
-
long long d; \
|
|
1467
|
-
signed char b[8]; \
|
|
1468
|
-
} _Q6V64_internal_union; \
|
|
1469
|
-
_Q6V64_internal_union.d = (v); \
|
|
1470
|
-
_Q6V64_internal_union.b[5]; \
|
|
1471
|
-
})
|
|
1472
|
-
#define Q6V64_GET_B6(v) \
|
|
1473
|
-
__extension__({ \
|
|
1474
|
-
union { \
|
|
1475
|
-
long long d; \
|
|
1476
|
-
signed char b[8]; \
|
|
1477
|
-
} _Q6V64_internal_union; \
|
|
1478
|
-
_Q6V64_internal_union.d = (v); \
|
|
1479
|
-
_Q6V64_internal_union.b[6]; \
|
|
1480
|
-
})
|
|
1481
|
-
#define Q6V64_GET_B7(v) \
|
|
1482
|
-
__extension__({ \
|
|
1483
|
-
union { \
|
|
1484
|
-
long long d; \
|
|
1485
|
-
signed char b[8]; \
|
|
1486
|
-
} _Q6V64_internal_union; \
|
|
1487
|
-
_Q6V64_internal_union.d = (v); \
|
|
1488
|
-
_Q6V64_internal_union.b[7]; \
|
|
1489
|
-
})
|
|
1490
|
-
#define Q6V64_GET_UB0(v) \
|
|
1491
|
-
__extension__({ \
|
|
1492
|
-
union { \
|
|
1493
|
-
long long d; \
|
|
1494
|
-
unsigned char ub[8]; \
|
|
1495
|
-
} _Q6V64_internal_union; \
|
|
1496
|
-
_Q6V64_internal_union.d = (v); \
|
|
1497
|
-
_Q6V64_internal_union.ub[0]; \
|
|
1498
|
-
})
|
|
1499
|
-
#define Q6V64_GET_UB1(v) \
|
|
1500
|
-
__extension__({ \
|
|
1501
|
-
union { \
|
|
1502
|
-
long long d; \
|
|
1503
|
-
unsigned char ub[8]; \
|
|
1504
|
-
} _Q6V64_internal_union; \
|
|
1505
|
-
_Q6V64_internal_union.d = (v); \
|
|
1506
|
-
_Q6V64_internal_union.ub[1]; \
|
|
1507
|
-
})
|
|
1508
|
-
#define Q6V64_GET_UB2(v) \
|
|
1509
|
-
__extension__({ \
|
|
1510
|
-
union { \
|
|
1511
|
-
long long d; \
|
|
1512
|
-
unsigned char ub[8]; \
|
|
1513
|
-
} _Q6V64_internal_union; \
|
|
1514
|
-
_Q6V64_internal_union.d = (v); \
|
|
1515
|
-
_Q6V64_internal_union.ub[2]; \
|
|
1516
|
-
})
|
|
1517
|
-
#define Q6V64_GET_UB3(v) \
|
|
1518
|
-
__extension__({ \
|
|
1519
|
-
union { \
|
|
1520
|
-
long long d; \
|
|
1521
|
-
unsigned char ub[8]; \
|
|
1522
|
-
} _Q6V64_internal_union; \
|
|
1523
|
-
_Q6V64_internal_union.d = (v); \
|
|
1524
|
-
_Q6V64_internal_union.ub[3]; \
|
|
1525
|
-
})
|
|
1526
|
-
#define Q6V64_GET_UB4(v) \
|
|
1527
|
-
__extension__({ \
|
|
1528
|
-
union { \
|
|
1529
|
-
long long d; \
|
|
1530
|
-
unsigned char ub[8]; \
|
|
1531
|
-
} _Q6V64_internal_union; \
|
|
1532
|
-
_Q6V64_internal_union.d = (v); \
|
|
1533
|
-
_Q6V64_internal_union.ub[4]; \
|
|
1534
|
-
})
|
|
1535
|
-
#define Q6V64_GET_UB5(v) \
|
|
1536
|
-
__extension__({ \
|
|
1537
|
-
union { \
|
|
1538
|
-
long long d; \
|
|
1539
|
-
unsigned char ub[8]; \
|
|
1540
|
-
} _Q6V64_internal_union; \
|
|
1541
|
-
_Q6V64_internal_union.d = (v); \
|
|
1542
|
-
_Q6V64_internal_union.ub[5]; \
|
|
1543
|
-
})
|
|
1544
|
-
#define Q6V64_GET_UB6(v) \
|
|
1545
|
-
__extension__({ \
|
|
1546
|
-
union { \
|
|
1547
|
-
long long d; \
|
|
1548
|
-
unsigned char ub[8]; \
|
|
1549
|
-
} _Q6V64_internal_union; \
|
|
1550
|
-
_Q6V64_internal_union.d = (v); \
|
|
1551
|
-
_Q6V64_internal_union.ub[6]; \
|
|
1552
|
-
})
|
|
1553
|
-
#define Q6V64_GET_UB7(v) \
|
|
1554
|
-
__extension__({ \
|
|
1555
|
-
union { \
|
|
1556
|
-
long long d; \
|
|
1557
|
-
unsigned char ub[8]; \
|
|
1558
|
-
} _Q6V64_internal_union; \
|
|
1559
|
-
_Q6V64_internal_union.d = (v); \
|
|
1560
|
-
_Q6V64_internal_union.ub[7]; \
|
|
1561
|
-
})
|
|
1562
|
-
|
|
1563
|
-
/* NOTE: All set macros return a Q6Vect64 type */
|
|
1564
|
-
|
|
1565
|
-
/* Set doubleword macro */
|
|
1566
|
-
|
|
1567
|
-
#define Q6V64_PUT_D(v, new) (new)
|
|
1568
|
-
|
|
1569
|
-
/* Set word macros */
|
|
1570
|
-
|
|
1571
|
-
#ifdef __qdsp6__
|
|
1572
|
-
|
|
1573
|
-
#define Q6V64_PUT_W0(v, new) \
|
|
1574
|
-
__extension__({ \
|
|
1575
|
-
union { \
|
|
1576
|
-
long long d; \
|
|
1577
|
-
int w[2]; \
|
|
1578
|
-
} _Q6V64_internal_union; \
|
|
1579
|
-
_Q6V64_internal_union.d = (v); \
|
|
1580
|
-
_Q6V64_internal_union.w[0] = (new); \
|
|
1581
|
-
_Q6V64_internal_union.d; \
|
|
1582
|
-
})
|
|
1583
|
-
#define Q6V64_PUT_W1(v, new) \
|
|
1584
|
-
__extension__({ \
|
|
1585
|
-
union { \
|
|
1586
|
-
long long d; \
|
|
1587
|
-
int w[2]; \
|
|
1588
|
-
} _Q6V64_internal_union; \
|
|
1589
|
-
_Q6V64_internal_union.d = (v); \
|
|
1590
|
-
_Q6V64_internal_union.w[1] = (new); \
|
|
1591
|
-
_Q6V64_internal_union.d; \
|
|
1592
|
-
})
|
|
1593
|
-
|
|
1594
|
-
#else /* !__qdsp6__ */
|
|
1595
|
-
|
|
1596
|
-
#define Q6V64_PUT_W0(v, new) \
|
|
1597
|
-
(((v) & 0xffffffff00000000LL) | ((Q6Vect64)((unsigned int)(new))))
|
|
1598
|
-
#define Q6V64_PUT_W1(v, new) \
|
|
1599
|
-
(((v) & 0x00000000ffffffffLL) | (((Q6Vect64)(new)) << 32LL))
|
|
1600
|
-
|
|
1601
|
-
#endif /* !__qdsp6__ */
|
|
1602
|
-
|
|
1603
|
-
/* Set half word macros */
|
|
1604
|
-
|
|
1605
|
-
#ifdef __qdsp6__
|
|
1606
|
-
|
|
1607
|
-
#define Q6V64_PUT_H0(v, new) \
|
|
1608
|
-
__extension__({ \
|
|
1609
|
-
union { \
|
|
1610
|
-
long long d; \
|
|
1611
|
-
short h[4]; \
|
|
1612
|
-
} _Q6V64_internal_union; \
|
|
1613
|
-
_Q6V64_internal_union.d = (v); \
|
|
1614
|
-
_Q6V64_internal_union.h[0] = (new); \
|
|
1615
|
-
_Q6V64_internal_union.d; \
|
|
1616
|
-
})
|
|
1617
|
-
#define Q6V64_PUT_H1(v, new) \
|
|
1618
|
-
__extension__({ \
|
|
1619
|
-
union { \
|
|
1620
|
-
long long d; \
|
|
1621
|
-
short h[4]; \
|
|
1622
|
-
} _Q6V64_internal_union; \
|
|
1623
|
-
_Q6V64_internal_union.d = (v); \
|
|
1624
|
-
_Q6V64_internal_union.h[1] = (new); \
|
|
1625
|
-
_Q6V64_internal_union.d; \
|
|
1626
|
-
})
|
|
1627
|
-
#define Q6V64_PUT_H2(v, new) \
|
|
1628
|
-
__extension__({ \
|
|
1629
|
-
union { \
|
|
1630
|
-
long long d; \
|
|
1631
|
-
short h[4]; \
|
|
1632
|
-
} _Q6V64_internal_union; \
|
|
1633
|
-
_Q6V64_internal_union.d = (v); \
|
|
1634
|
-
_Q6V64_internal_union.h[2] = (new); \
|
|
1635
|
-
_Q6V64_internal_union.d; \
|
|
1636
|
-
})
|
|
1637
|
-
#define Q6V64_PUT_H3(v, new) \
|
|
1638
|
-
__extension__({ \
|
|
1639
|
-
union { \
|
|
1640
|
-
long long d; \
|
|
1641
|
-
short h[4]; \
|
|
1642
|
-
} _Q6V64_internal_union; \
|
|
1643
|
-
_Q6V64_internal_union.d = (v); \
|
|
1644
|
-
_Q6V64_internal_union.h[3] = (new); \
|
|
1645
|
-
_Q6V64_internal_union.d; \
|
|
1646
|
-
})
|
|
1647
|
-
|
|
1648
|
-
#else /* !__qdsp6__ */
|
|
1649
|
-
|
|
1650
|
-
#define Q6V64_PUT_H0(v, new) \
|
|
1651
|
-
(((v) & 0xffffffffffff0000LL) | ((Q6Vect64)((unsigned short)(new))))
|
|
1652
|
-
#define Q6V64_PUT_H1(v, new) \
|
|
1653
|
-
(((v) & 0xffffffff0000ffffLL) | (((Q6Vect64)((unsigned short)(new))) << 16LL))
|
|
1654
|
-
#define Q6V64_PUT_H2(v, new) \
|
|
1655
|
-
(((v) & 0xffff0000ffffffffLL) | (((Q6Vect64)((unsigned short)(new))) << 32LL))
|
|
1656
|
-
#define Q6V64_PUT_H3(v, new) \
|
|
1657
|
-
(((v) & 0x0000ffffffffffffLL) | (((Q6Vect64)(new)) << 48LL))
|
|
1658
|
-
|
|
1659
|
-
#endif /* !__qdsp6__ */
|
|
1660
|
-
|
|
1661
|
-
/* Set byte macros */
|
|
1662
|
-
|
|
1663
|
-
#ifdef __qdsp6__
|
|
1664
|
-
|
|
1665
|
-
#define Q6V64_PUT_B0(v, new) \
|
|
1666
|
-
__extension__({ \
|
|
1667
|
-
union { \
|
|
1668
|
-
long long d; \
|
|
1669
|
-
char b[8]; \
|
|
1670
|
-
} _Q6V64_internal_union; \
|
|
1671
|
-
_Q6V64_internal_union.d = (v); \
|
|
1672
|
-
_Q6V64_internal_union.b[0] = (new); \
|
|
1673
|
-
_Q6V64_internal_union.d; \
|
|
1674
|
-
})
|
|
1675
|
-
#define Q6V64_PUT_B1(v, new) \
|
|
1676
|
-
__extension__({ \
|
|
1677
|
-
union { \
|
|
1678
|
-
long long d; \
|
|
1679
|
-
char b[8]; \
|
|
1680
|
-
} _Q6V64_internal_union; \
|
|
1681
|
-
_Q6V64_internal_union.d = (v); \
|
|
1682
|
-
_Q6V64_internal_union.b[1] = (new); \
|
|
1683
|
-
_Q6V64_internal_union.d; \
|
|
1684
|
-
})
|
|
1685
|
-
#define Q6V64_PUT_B2(v, new) \
|
|
1686
|
-
__extension__({ \
|
|
1687
|
-
union { \
|
|
1688
|
-
long long d; \
|
|
1689
|
-
char b[8]; \
|
|
1690
|
-
} _Q6V64_internal_union; \
|
|
1691
|
-
_Q6V64_internal_union.d = (v); \
|
|
1692
|
-
_Q6V64_internal_union.b[2] = (new); \
|
|
1693
|
-
_Q6V64_internal_union.d; \
|
|
1694
|
-
})
|
|
1695
|
-
#define Q6V64_PUT_B3(v, new) \
|
|
1696
|
-
__extension__({ \
|
|
1697
|
-
union { \
|
|
1698
|
-
long long d; \
|
|
1699
|
-
char b[8]; \
|
|
1700
|
-
} _Q6V64_internal_union; \
|
|
1701
|
-
_Q6V64_internal_union.d = (v); \
|
|
1702
|
-
_Q6V64_internal_union.b[3] = (new); \
|
|
1703
|
-
_Q6V64_internal_union.d; \
|
|
1704
|
-
})
|
|
1705
|
-
#define Q6V64_PUT_B4(v, new) \
|
|
1706
|
-
__extension__({ \
|
|
1707
|
-
union { \
|
|
1708
|
-
long long d; \
|
|
1709
|
-
char b[8]; \
|
|
1710
|
-
} _Q6V64_internal_union; \
|
|
1711
|
-
_Q6V64_internal_union.d = (v); \
|
|
1712
|
-
_Q6V64_internal_union.b[4] = (new); \
|
|
1713
|
-
_Q6V64_internal_union.d; \
|
|
1714
|
-
})
|
|
1715
|
-
#define Q6V64_PUT_B5(v, new) \
|
|
1716
|
-
__extension__({ \
|
|
1717
|
-
union { \
|
|
1718
|
-
long long d; \
|
|
1719
|
-
char b[8]; \
|
|
1720
|
-
} _Q6V64_internal_union; \
|
|
1721
|
-
_Q6V64_internal_union.d = (v); \
|
|
1722
|
-
_Q6V64_internal_union.b[5] = (new); \
|
|
1723
|
-
_Q6V64_internal_union.d; \
|
|
1724
|
-
})
|
|
1725
|
-
#define Q6V64_PUT_B6(v, new) \
|
|
1726
|
-
__extension__({ \
|
|
1727
|
-
union { \
|
|
1728
|
-
long long d; \
|
|
1729
|
-
char b[8]; \
|
|
1730
|
-
} _Q6V64_internal_union; \
|
|
1731
|
-
_Q6V64_internal_union.d = (v); \
|
|
1732
|
-
_Q6V64_internal_union.b[6] = (new); \
|
|
1733
|
-
_Q6V64_internal_union.d; \
|
|
1734
|
-
})
|
|
1735
|
-
#define Q6V64_PUT_B7(v, new) \
|
|
1736
|
-
__extension__({ \
|
|
1737
|
-
union { \
|
|
1738
|
-
long long d; \
|
|
1739
|
-
char b[8]; \
|
|
1740
|
-
} _Q6V64_internal_union; \
|
|
1741
|
-
_Q6V64_internal_union.d = (v); \
|
|
1742
|
-
_Q6V64_internal_union.b[7] = (new); \
|
|
1743
|
-
_Q6V64_internal_union.d; \
|
|
1744
|
-
})
|
|
1745
|
-
|
|
1746
|
-
#else /* !__qdsp6__ */
|
|
1747
|
-
|
|
1748
|
-
#define Q6V64_PUT_B0(v, new) \
|
|
1749
|
-
(((v) & 0xffffffffffffff00LL) | ((Q6Vect64)((unsigned char)(new))))
|
|
1750
|
-
#define Q6V64_PUT_B1(v, new) \
|
|
1751
|
-
(((v) & 0xffffffffffff00ffLL) | (((Q6Vect64)((unsigned char)(new))) << 8LL))
|
|
1752
|
-
#define Q6V64_PUT_B2(v, new) \
|
|
1753
|
-
(((v) & 0xffffffffff00ffffLL) | (((Q6Vect64)((unsigned char)(new))) << 16LL))
|
|
1754
|
-
#define Q6V64_PUT_B3(v, new) \
|
|
1755
|
-
(((v) & 0xffffffff00ffffffLL) | (((Q6Vect64)((unsigned char)(new))) << 24LL))
|
|
1756
|
-
#define Q6V64_PUT_B4(v, new) \
|
|
1757
|
-
(((v) & 0xffffff00ffffffffLL) | (((Q6Vect64)((unsigned char)(new))) << 32LL))
|
|
1758
|
-
#define Q6V64_PUT_B5(v, new) \
|
|
1759
|
-
(((v) & 0xffff00ffffffffffLL) | (((Q6Vect64)((unsigned char)(new))) << 40LL))
|
|
1760
|
-
#define Q6V64_PUT_B6(v, new) \
|
|
1761
|
-
(((v) & 0xff00ffffffffffffLL) | (((Q6Vect64)((unsigned char)(new))) << 48LL))
|
|
1762
|
-
#define Q6V64_PUT_B7(v, new) \
|
|
1763
|
-
(((v) & 0x00ffffffffffffffLL) | (((Q6Vect64)(new)) << 56LL))
|
|
1764
|
-
|
|
1765
|
-
#endif /* !__qdsp6__ */
|
|
1766
|
-
|
|
1767
|
-
/* NOTE: All create macros return a Q6Vect64 type */
|
|
1768
|
-
|
|
1769
|
-
/* Create from a doubleword */
|
|
1770
|
-
|
|
1771
|
-
#define Q6V64_CREATE_D(d) (d)
|
|
1772
|
-
|
|
1773
|
-
/* Create from words */
|
|
1774
|
-
|
|
1775
|
-
#ifdef __qdsp6__
|
|
1776
|
-
|
|
1777
|
-
#define Q6V64_CREATE_W(w1, w0) \
|
|
1778
|
-
__extension__({ \
|
|
1779
|
-
union { \
|
|
1780
|
-
long long d; \
|
|
1781
|
-
int w[2]; \
|
|
1782
|
-
} _Q6V64_internal_union; \
|
|
1783
|
-
_Q6V64_internal_union.w[0] = (w0); \
|
|
1784
|
-
_Q6V64_internal_union.w[1] = (w1); \
|
|
1785
|
-
_Q6V64_internal_union.d; \
|
|
1786
|
-
})
|
|
1787
|
-
|
|
1788
|
-
#else /* !__qdsp6__ */
|
|
1789
|
-
|
|
1790
|
-
#define Q6V64_CREATE_W(w1, w0) \
|
|
1791
|
-
((((Q6Vect64)(w1)) << 32LL) | ((Q6Vect64)((w0) & 0xffffffff)))
|
|
1792
|
-
|
|
1793
|
-
#endif /* !__qdsp6__ */
|
|
1794
|
-
|
|
1795
|
-
/* Create from half words */
|
|
1796
|
-
|
|
1797
|
-
#ifdef __qdsp6__
|
|
1798
|
-
|
|
1799
|
-
#define Q6V64_CREATE_H(h3, h2, h1, h0) \
|
|
1800
|
-
__extension__({ \
|
|
1801
|
-
union { \
|
|
1802
|
-
long long d; \
|
|
1803
|
-
short h[4]; \
|
|
1804
|
-
} _Q6V64_internal_union; \
|
|
1805
|
-
_Q6V64_internal_union.h[0] = (h0); \
|
|
1806
|
-
_Q6V64_internal_union.h[1] = (h1); \
|
|
1807
|
-
_Q6V64_internal_union.h[2] = (h2); \
|
|
1808
|
-
_Q6V64_internal_union.h[3] = (h3); \
|
|
1809
|
-
_Q6V64_internal_union.d; \
|
|
1810
|
-
})
|
|
1811
|
-
|
|
1812
|
-
#else /* !__qdsp6__ */
|
|
1813
|
-
|
|
1814
|
-
#define Q6V64_CREATE_H(h3, h2, h1, h0) \
|
|
1815
|
-
((((Q6Vect64)(h3)) << 48LL) | (((Q6Vect64)((h2) & 0xffff)) << 32LL) | \
|
|
1816
|
-
(((Q6Vect64)((h1) & 0xffff)) << 16LL) | ((Q6Vect64)((h0) & 0xffff)))
|
|
1817
|
-
|
|
1818
|
-
#endif /* !__qdsp6__ */
|
|
1819
|
-
|
|
1820
|
-
/* Create from bytes */
|
|
1821
|
-
|
|
1822
|
-
#ifdef __qdsp6__
|
|
1823
|
-
|
|
1824
|
-
#define Q6V64_CREATE_B(b7, b6, b5, b4, b3, b2, b1, b0) \
|
|
1825
|
-
__extension__({ \
|
|
1826
|
-
union { \
|
|
1827
|
-
long long d; \
|
|
1828
|
-
char b[8]; \
|
|
1829
|
-
} _Q6V64_internal_union; \
|
|
1830
|
-
_Q6V64_internal_union.b[0] = (b0); \
|
|
1831
|
-
_Q6V64_internal_union.b[1] = (b1); \
|
|
1832
|
-
_Q6V64_internal_union.b[2] = (b2); \
|
|
1833
|
-
_Q6V64_internal_union.b[3] = (b3); \
|
|
1834
|
-
_Q6V64_internal_union.b[4] = (b4); \
|
|
1835
|
-
_Q6V64_internal_union.b[5] = (b5); \
|
|
1836
|
-
_Q6V64_internal_union.b[6] = (b6); \
|
|
1837
|
-
_Q6V64_internal_union.b[7] = (b7); \
|
|
1838
|
-
_Q6V64_internal_union.d; \
|
|
1839
|
-
})
|
|
1840
|
-
|
|
1841
|
-
#else /* !__qdsp6__ */
|
|
1842
|
-
|
|
1843
|
-
#define Q6V64_CREATE_B(b7, b6, b5, b4, b3, b2, b1, b0) \
|
|
1844
|
-
((((Q6Vect64)(b7)) << 56LL) | (((Q6Vect64)((b6) & 0xff)) << 48LL) | \
|
|
1845
|
-
(((Q6Vect64)((b5) & 0xff)) << 40LL) | (((Q6Vect64)((b4) & 0xff)) << 32LL) | \
|
|
1846
|
-
(((Q6Vect64)((b3) & 0xff)) << 24LL) | (((Q6Vect64)((b2) & 0xff)) << 16LL) | \
|
|
1847
|
-
(((Q6Vect64)((b1) & 0xff)) << 8LL) | ((Q6Vect64)((b0) & 0xff)))
|
|
1848
|
-
|
|
1849
|
-
#endif /* !__qdsp6__ */
|
|
1850
|
-
|
|
1851
|
-
#ifdef __cplusplus
|
|
1852
|
-
|
|
1853
|
-
class Q6Vect64C {
|
|
1854
|
-
public:
|
|
1855
|
-
// Constructors
|
|
1856
|
-
Q6Vect64C(long long d = 0) : data(d) {};
|
|
1857
|
-
Q6Vect64C(int w1, int w0) : data(Q6V64_CREATE_W(w1, w0)) {};
|
|
1858
|
-
Q6Vect64C(short h3, short h2, short h1, short h0)
|
|
1859
|
-
: data(Q6V64_CREATE_H(h3, h2, h1, h0)) {};
|
|
1860
|
-
Q6Vect64C(signed char b7, signed char b6, signed char b5, signed char b4,
|
|
1861
|
-
signed char b3, signed char b2, signed char b1, signed char b0)
|
|
1862
|
-
: data(Q6V64_CREATE_B(b7, b6, b5, b4, b3, b2, b1, b0)) {};
|
|
1863
|
-
Q6Vect64C(const Q6Vect64C &v) : data(v.data) {};
|
|
1864
|
-
|
|
1865
|
-
Q6Vect64C &operator=(const Q6Vect64C &v) {
|
|
1866
|
-
data = v.data;
|
|
1867
|
-
return *this;
|
|
1868
|
-
};
|
|
1869
|
-
|
|
1870
|
-
operator long long() {
|
|
1871
|
-
return data;
|
|
1872
|
-
};
|
|
1873
|
-
|
|
1874
|
-
// Extract doubleword methods
|
|
1875
|
-
long long D(void) {
|
|
1876
|
-
return Q6V64_GET_D(data);
|
|
1877
|
-
};
|
|
1878
|
-
unsigned long long UD(void) {
|
|
1879
|
-
return Q6V64_GET_UD(data);
|
|
1880
|
-
};
|
|
1881
|
-
|
|
1882
|
-
// Extract word methods
|
|
1883
|
-
int W0(void) {
|
|
1884
|
-
return Q6V64_GET_W0(data);
|
|
1885
|
-
};
|
|
1886
|
-
int W1(void) {
|
|
1887
|
-
return Q6V64_GET_W1(data);
|
|
1888
|
-
};
|
|
1889
|
-
unsigned int UW0(void) {
|
|
1890
|
-
return Q6V64_GET_UW0(data);
|
|
1891
|
-
};
|
|
1892
|
-
unsigned int UW1(void) {
|
|
1893
|
-
return Q6V64_GET_UW1(data);
|
|
1894
|
-
};
|
|
1895
|
-
|
|
1896
|
-
// Extract half word methods
|
|
1897
|
-
short H0(void) {
|
|
1898
|
-
return Q6V64_GET_H0(data);
|
|
1899
|
-
};
|
|
1900
|
-
short H1(void) {
|
|
1901
|
-
return Q6V64_GET_H1(data);
|
|
1902
|
-
};
|
|
1903
|
-
short H2(void) {
|
|
1904
|
-
return Q6V64_GET_H2(data);
|
|
1905
|
-
};
|
|
1906
|
-
short H3(void) {
|
|
1907
|
-
return Q6V64_GET_H3(data);
|
|
1908
|
-
};
|
|
1909
|
-
unsigned short UH0(void) {
|
|
1910
|
-
return Q6V64_GET_UH0(data);
|
|
1911
|
-
};
|
|
1912
|
-
unsigned short UH1(void) {
|
|
1913
|
-
return Q6V64_GET_UH1(data);
|
|
1914
|
-
};
|
|
1915
|
-
unsigned short UH2(void) {
|
|
1916
|
-
return Q6V64_GET_UH2(data);
|
|
1917
|
-
};
|
|
1918
|
-
unsigned short UH3(void) {
|
|
1919
|
-
return Q6V64_GET_UH3(data);
|
|
1920
|
-
};
|
|
1921
|
-
|
|
1922
|
-
// Extract byte methods
|
|
1923
|
-
signed char B0(void) {
|
|
1924
|
-
return Q6V64_GET_B0(data);
|
|
1925
|
-
};
|
|
1926
|
-
signed char B1(void) {
|
|
1927
|
-
return Q6V64_GET_B1(data);
|
|
1928
|
-
};
|
|
1929
|
-
signed char B2(void) {
|
|
1930
|
-
return Q6V64_GET_B2(data);
|
|
1931
|
-
};
|
|
1932
|
-
signed char B3(void) {
|
|
1933
|
-
return Q6V64_GET_B3(data);
|
|
1934
|
-
};
|
|
1935
|
-
signed char B4(void) {
|
|
1936
|
-
return Q6V64_GET_B4(data);
|
|
1937
|
-
};
|
|
1938
|
-
signed char B5(void) {
|
|
1939
|
-
return Q6V64_GET_B5(data);
|
|
1940
|
-
};
|
|
1941
|
-
signed char B6(void) {
|
|
1942
|
-
return Q6V64_GET_B6(data);
|
|
1943
|
-
};
|
|
1944
|
-
signed char B7(void) {
|
|
1945
|
-
return Q6V64_GET_B7(data);
|
|
1946
|
-
};
|
|
1947
|
-
unsigned char UB0(void) {
|
|
1948
|
-
return Q6V64_GET_UB0(data);
|
|
1949
|
-
};
|
|
1950
|
-
unsigned char UB1(void) {
|
|
1951
|
-
return Q6V64_GET_UB1(data);
|
|
1952
|
-
};
|
|
1953
|
-
unsigned char UB2(void) {
|
|
1954
|
-
return Q6V64_GET_UB2(data);
|
|
1955
|
-
};
|
|
1956
|
-
unsigned char UB3(void) {
|
|
1957
|
-
return Q6V64_GET_UB3(data);
|
|
1958
|
-
};
|
|
1959
|
-
unsigned char UB4(void) {
|
|
1960
|
-
return Q6V64_GET_UB4(data);
|
|
1961
|
-
};
|
|
1962
|
-
unsigned char UB5(void) {
|
|
1963
|
-
return Q6V64_GET_UB5(data);
|
|
1964
|
-
};
|
|
1965
|
-
unsigned char UB6(void) {
|
|
1966
|
-
return Q6V64_GET_UB6(data);
|
|
1967
|
-
};
|
|
1968
|
-
unsigned char UB7(void) {
|
|
1969
|
-
return Q6V64_GET_UB7(data);
|
|
1970
|
-
};
|
|
1971
|
-
|
|
1972
|
-
// NOTE: All set methods return a Q6Vect64C type
|
|
1973
|
-
|
|
1974
|
-
// Set doubleword method
|
|
1975
|
-
Q6Vect64C D(long long d) {
|
|
1976
|
-
return Q6Vect64C(Q6V64_PUT_D(data, d));
|
|
1977
|
-
};
|
|
1978
|
-
|
|
1979
|
-
// Set word methods
|
|
1980
|
-
Q6Vect64C W0(int w) {
|
|
1981
|
-
return Q6Vect64C(Q6V64_PUT_W0(data, w));
|
|
1982
|
-
};
|
|
1983
|
-
Q6Vect64C W1(int w) {
|
|
1984
|
-
return Q6Vect64C(Q6V64_PUT_W1(data, w));
|
|
1985
|
-
};
|
|
1986
|
-
|
|
1987
|
-
// Set half word methods
|
|
1988
|
-
Q6Vect64C H0(short h) {
|
|
1989
|
-
return Q6Vect64C(Q6V64_PUT_H0(data, h));
|
|
1990
|
-
};
|
|
1991
|
-
Q6Vect64C H1(short h) {
|
|
1992
|
-
return Q6Vect64C(Q6V64_PUT_H1(data, h));
|
|
1993
|
-
};
|
|
1994
|
-
Q6Vect64C H2(short h) {
|
|
1995
|
-
return Q6Vect64C(Q6V64_PUT_H2(data, h));
|
|
1996
|
-
};
|
|
1997
|
-
Q6Vect64C H3(short h) {
|
|
1998
|
-
return Q6Vect64C(Q6V64_PUT_H3(data, h));
|
|
1999
|
-
};
|
|
2000
|
-
|
|
2001
|
-
// Set byte methods
|
|
2002
|
-
Q6Vect64C B0(signed char b) {
|
|
2003
|
-
return Q6Vect64C(Q6V64_PUT_B0(data, b));
|
|
2004
|
-
};
|
|
2005
|
-
Q6Vect64C B1(signed char b) {
|
|
2006
|
-
return Q6Vect64C(Q6V64_PUT_B1(data, b));
|
|
2007
|
-
};
|
|
2008
|
-
Q6Vect64C B2(signed char b) {
|
|
2009
|
-
return Q6Vect64C(Q6V64_PUT_B2(data, b));
|
|
2010
|
-
};
|
|
2011
|
-
Q6Vect64C B3(signed char b) {
|
|
2012
|
-
return Q6Vect64C(Q6V64_PUT_B3(data, b));
|
|
2013
|
-
};
|
|
2014
|
-
Q6Vect64C B4(signed char b) {
|
|
2015
|
-
return Q6Vect64C(Q6V64_PUT_B4(data, b));
|
|
2016
|
-
};
|
|
2017
|
-
Q6Vect64C B5(signed char b) {
|
|
2018
|
-
return Q6Vect64C(Q6V64_PUT_B5(data, b));
|
|
2019
|
-
};
|
|
2020
|
-
Q6Vect64C B6(signed char b) {
|
|
2021
|
-
return Q6Vect64C(Q6V64_PUT_B6(data, b));
|
|
2022
|
-
};
|
|
2023
|
-
Q6Vect64C B7(signed char b) {
|
|
2024
|
-
return Q6Vect64C(Q6V64_PUT_B7(data, b));
|
|
2025
|
-
};
|
|
2026
|
-
|
|
2027
|
-
private:
|
|
2028
|
-
long long data;
|
|
2029
|
-
};
|
|
2030
|
-
|
|
2031
|
-
#endif /* __cplusplus */
|
|
2032
|
-
|
|
2033
|
-
/* 32 Bit Vectors */
|
|
2034
|
-
|
|
2035
|
-
typedef int Q6Vect32;
|
|
2036
|
-
|
|
2037
|
-
/* Extract word macros */
|
|
2038
|
-
|
|
2039
|
-
#define Q6V32_GET_W(v) (v)
|
|
2040
|
-
#define Q6V32_GET_UW(v) ((unsigned int)(v))
|
|
2041
|
-
|
|
2042
|
-
/* Extract half word macros */
|
|
2043
|
-
|
|
2044
|
-
#define Q6V32_GET_H0(v) \
|
|
2045
|
-
__extension__({ \
|
|
2046
|
-
union { \
|
|
2047
|
-
int w; \
|
|
2048
|
-
short h[2]; \
|
|
2049
|
-
} _Q6V32_internal_union; \
|
|
2050
|
-
_Q6V32_internal_union.w = (v); \
|
|
2051
|
-
_Q6V32_internal_union.h[0]; \
|
|
2052
|
-
})
|
|
2053
|
-
#define Q6V32_GET_H1(v) \
|
|
2054
|
-
__extension__({ \
|
|
2055
|
-
union { \
|
|
2056
|
-
int w; \
|
|
2057
|
-
short h[2]; \
|
|
2058
|
-
} _Q6V32_internal_union; \
|
|
2059
|
-
_Q6V32_internal_union.w = (v); \
|
|
2060
|
-
_Q6V32_internal_union.h[1]; \
|
|
2061
|
-
})
|
|
2062
|
-
#define Q6V32_GET_UH0(v) \
|
|
2063
|
-
__extension__({ \
|
|
2064
|
-
union { \
|
|
2065
|
-
int w; \
|
|
2066
|
-
unsigned short uh[2]; \
|
|
2067
|
-
} _Q6V32_internal_union; \
|
|
2068
|
-
_Q6V32_internal_union.w = (v); \
|
|
2069
|
-
_Q6V32_internal_union.uh[0]; \
|
|
2070
|
-
})
|
|
2071
|
-
#define Q6V32_GET_UH1(v) \
|
|
2072
|
-
__extension__({ \
|
|
2073
|
-
union { \
|
|
2074
|
-
int w; \
|
|
2075
|
-
unsigned short uh[2]; \
|
|
2076
|
-
} _Q6V32_internal_union; \
|
|
2077
|
-
_Q6V32_internal_union.w = (v); \
|
|
2078
|
-
_Q6V32_internal_union.uh[1]; \
|
|
2079
|
-
})
|
|
2080
|
-
|
|
2081
|
-
/* Extract byte macros */
|
|
2082
|
-
|
|
2083
|
-
#define Q6V32_GET_B0(v) \
|
|
2084
|
-
__extension__({ \
|
|
2085
|
-
union { \
|
|
2086
|
-
int w; \
|
|
2087
|
-
signed char b[4]; \
|
|
2088
|
-
} _Q6V32_internal_union; \
|
|
2089
|
-
_Q6V32_internal_union.w = (v); \
|
|
2090
|
-
_Q6V32_internal_union.b[0]; \
|
|
2091
|
-
})
|
|
2092
|
-
#define Q6V32_GET_B1(v) \
|
|
2093
|
-
__extension__({ \
|
|
2094
|
-
union { \
|
|
2095
|
-
int w; \
|
|
2096
|
-
signed char b[4]; \
|
|
2097
|
-
} _Q6V32_internal_union; \
|
|
2098
|
-
_Q6V32_internal_union.w = (v); \
|
|
2099
|
-
_Q6V32_internal_union.b[1]; \
|
|
2100
|
-
})
|
|
2101
|
-
#define Q6V32_GET_B2(v) \
|
|
2102
|
-
__extension__({ \
|
|
2103
|
-
union { \
|
|
2104
|
-
int w; \
|
|
2105
|
-
signed char b[4]; \
|
|
2106
|
-
} _Q6V32_internal_union; \
|
|
2107
|
-
_Q6V32_internal_union.w = (v); \
|
|
2108
|
-
_Q6V32_internal_union.b[2]; \
|
|
2109
|
-
})
|
|
2110
|
-
#define Q6V32_GET_B3(v) \
|
|
2111
|
-
__extension__({ \
|
|
2112
|
-
union { \
|
|
2113
|
-
int w; \
|
|
2114
|
-
signed char b[4]; \
|
|
2115
|
-
} _Q6V32_internal_union; \
|
|
2116
|
-
_Q6V32_internal_union.w = (v); \
|
|
2117
|
-
_Q6V32_internal_union.b[3]; \
|
|
2118
|
-
})
|
|
2119
|
-
#define Q6V32_GET_UB0(v) \
|
|
2120
|
-
__extension__({ \
|
|
2121
|
-
union { \
|
|
2122
|
-
int w; \
|
|
2123
|
-
unsigned char ub[4]; \
|
|
2124
|
-
} _Q6V32_internal_union; \
|
|
2125
|
-
_Q6V32_internal_union.w = (v); \
|
|
2126
|
-
_Q6V32_internal_union.ub[0]; \
|
|
2127
|
-
})
|
|
2128
|
-
#define Q6V32_GET_UB1(v) \
|
|
2129
|
-
__extension__({ \
|
|
2130
|
-
union { \
|
|
2131
|
-
int w; \
|
|
2132
|
-
unsigned char ub[4]; \
|
|
2133
|
-
} _Q6V32_internal_union; \
|
|
2134
|
-
_Q6V32_internal_union.w = (v); \
|
|
2135
|
-
_Q6V32_internal_union.ub[1]; \
|
|
2136
|
-
})
|
|
2137
|
-
#define Q6V32_GET_UB2(v) \
|
|
2138
|
-
__extension__({ \
|
|
2139
|
-
union { \
|
|
2140
|
-
int w; \
|
|
2141
|
-
unsigned char ub[4]; \
|
|
2142
|
-
} _Q6V32_internal_union; \
|
|
2143
|
-
_Q6V32_internal_union.w = (v); \
|
|
2144
|
-
_Q6V32_internal_union.ub[2]; \
|
|
2145
|
-
})
|
|
2146
|
-
#define Q6V32_GET_UB3(v) \
|
|
2147
|
-
__extension__({ \
|
|
2148
|
-
union { \
|
|
2149
|
-
int w; \
|
|
2150
|
-
unsigned char ub[4]; \
|
|
2151
|
-
} _Q6V32_internal_union; \
|
|
2152
|
-
_Q6V32_internal_union.w = (v); \
|
|
2153
|
-
_Q6V32_internal_union.ub[3]; \
|
|
2154
|
-
})
|
|
2155
|
-
|
|
2156
|
-
/* NOTE: All set macros return a Q6Vect32 type */
|
|
2157
|
-
|
|
2158
|
-
/* Set word macro */
|
|
2159
|
-
|
|
2160
|
-
#define Q6V32_PUT_W(v, new) (new)
|
|
2161
|
-
|
|
2162
|
-
/* Set half word macros */
|
|
2163
|
-
|
|
2164
|
-
#ifdef __qdsp6__
|
|
2165
|
-
|
|
2166
|
-
#define Q6V32_PUT_H0(v, new) \
|
|
2167
|
-
__extension__({ \
|
|
2168
|
-
union { \
|
|
2169
|
-
int w; \
|
|
2170
|
-
short h[2]; \
|
|
2171
|
-
} _Q6V32_internal_union; \
|
|
2172
|
-
_Q6V32_internal_union.w = (v); \
|
|
2173
|
-
_Q6V32_internal_union.h[0] = (new); \
|
|
2174
|
-
_Q6V32_internal_union.w; \
|
|
2175
|
-
})
|
|
2176
|
-
#define Q6V32_PUT_H1(v, new) \
|
|
2177
|
-
__extension__({ \
|
|
2178
|
-
union { \
|
|
2179
|
-
int w; \
|
|
2180
|
-
short h[2]; \
|
|
2181
|
-
} _Q6V32_internal_union; \
|
|
2182
|
-
_Q6V32_internal_union.w = (v); \
|
|
2183
|
-
_Q6V32_internal_union.h[1] = (new); \
|
|
2184
|
-
_Q6V32_internal_union.w; \
|
|
2185
|
-
})
|
|
2186
|
-
|
|
2187
|
-
#else /* !__qdsp6__ */
|
|
2188
|
-
|
|
2189
|
-
#define Q6V32_PUT_H0(v, new) \
|
|
2190
|
-
(((v) & 0xffff0000) | ((Q6Vect32)((unsigned short)(new))))
|
|
2191
|
-
#define Q6V32_PUT_H1(v, new) (((v) & 0x0000ffff) | (((Q6Vect32)(new)) << 16))
|
|
2192
|
-
|
|
2193
|
-
#endif /* !__qdsp6__ */
|
|
2194
|
-
|
|
2195
|
-
/* Set byte macros */
|
|
2196
|
-
|
|
2197
|
-
#ifdef __qdsp6__
|
|
2198
|
-
|
|
2199
|
-
#define Q6V32_PUT_B0(v, new) \
|
|
2200
|
-
__extension__({ \
|
|
2201
|
-
union { \
|
|
2202
|
-
int w; \
|
|
2203
|
-
char b[4]; \
|
|
2204
|
-
} _Q6V32_internal_union; \
|
|
2205
|
-
_Q6V32_internal_union.w = (v); \
|
|
2206
|
-
_Q6V32_internal_union.b[0] = (new); \
|
|
2207
|
-
_Q6V32_internal_union.w; \
|
|
2208
|
-
})
|
|
2209
|
-
#define Q6V32_PUT_B1(v, new) \
|
|
2210
|
-
__extension__({ \
|
|
2211
|
-
union { \
|
|
2212
|
-
int w; \
|
|
2213
|
-
char b[4]; \
|
|
2214
|
-
} _Q6V32_internal_union; \
|
|
2215
|
-
_Q6V32_internal_union.w = (v); \
|
|
2216
|
-
_Q6V32_internal_union.b[1] = (new); \
|
|
2217
|
-
_Q6V32_internal_union.w; \
|
|
2218
|
-
})
|
|
2219
|
-
#define Q6V32_PUT_B2(v, new) \
|
|
2220
|
-
__extension__({ \
|
|
2221
|
-
union { \
|
|
2222
|
-
int w; \
|
|
2223
|
-
char b[4]; \
|
|
2224
|
-
} _Q6V32_internal_union; \
|
|
2225
|
-
_Q6V32_internal_union.w = (v); \
|
|
2226
|
-
_Q6V32_internal_union.b[2] = (new); \
|
|
2227
|
-
_Q6V32_internal_union.w; \
|
|
2228
|
-
})
|
|
2229
|
-
#define Q6V32_PUT_B3(v, new) \
|
|
2230
|
-
__extension__({ \
|
|
2231
|
-
union { \
|
|
2232
|
-
int w; \
|
|
2233
|
-
char b[4]; \
|
|
2234
|
-
} _Q6V32_internal_union; \
|
|
2235
|
-
_Q6V32_internal_union.w = (v); \
|
|
2236
|
-
_Q6V32_internal_union.b[3] = (new); \
|
|
2237
|
-
_Q6V32_internal_union.w; \
|
|
2238
|
-
})
|
|
2239
|
-
|
|
2240
|
-
#else /* !__qdsp6__ */
|
|
2241
|
-
|
|
2242
|
-
#define Q6V32_PUT_B0(v, new) \
|
|
2243
|
-
(((v) & 0xffffff00) | ((Q6Vect32)((unsigned char)(new))))
|
|
2244
|
-
#define Q6V32_PUT_B1(v, new) \
|
|
2245
|
-
(((v) & 0xffff00ff) | (((Q6Vect32)((unsigned char)(new))) << 8))
|
|
2246
|
-
#define Q6V32_PUT_B2(v, new) \
|
|
2247
|
-
(((v) & 0xff00ffff) | (((Q6Vect32)((unsigned char)(new))) << 16))
|
|
2248
|
-
#define Q6V32_PUT_B3(v, new) (((v) & 0x00ffffff) | (((Q6Vect32)(new)) << 24))
|
|
2249
|
-
|
|
2250
|
-
#endif /* !__qdsp6__ */
|
|
2251
|
-
|
|
2252
|
-
/* NOTE: All create macros return a Q6Vect32 type */
|
|
2253
|
-
|
|
2254
|
-
/* Create from a word */
|
|
2255
|
-
|
|
2256
|
-
#define Q6V32_CREATE_W(w) (w)
|
|
2257
|
-
|
|
2258
|
-
/* Create from half words */
|
|
2259
|
-
|
|
2260
|
-
#ifdef __qdsp6__
|
|
2261
|
-
|
|
2262
|
-
#define Q6V32_CREATE_H(h1, h0) \
|
|
2263
|
-
__extension__({ \
|
|
2264
|
-
union { \
|
|
2265
|
-
long long d; \
|
|
2266
|
-
short h[2]; \
|
|
2267
|
-
} _Q6V32_internal_union; \
|
|
2268
|
-
_Q6V32_internal_union.h[0] = (h0); \
|
|
2269
|
-
_Q6V32_internal_union.h[1] = (h1); \
|
|
2270
|
-
_Q6V32_internal_union.d; \
|
|
2271
|
-
})
|
|
2272
|
-
|
|
2273
|
-
#else /* !__qdsp6__ */
|
|
2274
|
-
|
|
2275
|
-
#define Q6V32_CREATE_H(h1, h0) \
|
|
2276
|
-
((((Q6Vect32)(h1)) << 16) | ((Q6Vect32)((h0) & 0xffff)))
|
|
2277
|
-
|
|
2278
|
-
#endif /* !__qdsp6__ */
|
|
2279
|
-
|
|
2280
|
-
/* Create from bytes */
|
|
2281
|
-
#ifdef __qdsp6__
|
|
2282
|
-
|
|
2283
|
-
#define Q6V32_CREATE_B(b3, b2, b1, b0) \
|
|
2284
|
-
__extension__({ \
|
|
2285
|
-
union { \
|
|
2286
|
-
long long d; \
|
|
2287
|
-
char b[4]; \
|
|
2288
|
-
} _Q6V32_internal_union; \
|
|
2289
|
-
_Q6V32_internal_union.b[0] = (b0); \
|
|
2290
|
-
_Q6V32_internal_union.b[1] = (b1); \
|
|
2291
|
-
_Q6V32_internal_union.b[2] = (b2); \
|
|
2292
|
-
_Q6V32_internal_union.b[3] = (b3); \
|
|
2293
|
-
_Q6V32_internal_union.d; \
|
|
2294
|
-
})
|
|
2295
|
-
|
|
2296
|
-
#else /* !__qdsp6__ */
|
|
2297
|
-
|
|
2298
|
-
#define Q6V32_CREATE_B(b3, b2, b1, b0) \
|
|
2299
|
-
((((Q6Vect32)(b3)) << 24) | (((Q6Vect32)((b2) & 0xff)) << 16) | \
|
|
2300
|
-
(((Q6Vect32)((b1) & 0xff)) << 8) | ((Q6Vect32)((b0) & 0xff)))
|
|
2301
|
-
|
|
2302
|
-
#endif /* !__qdsp6__ */
|
|
2303
|
-
|
|
2304
|
-
#ifdef __cplusplus
|
|
2305
|
-
|
|
2306
|
-
class Q6Vect32C {
|
|
2307
|
-
public:
|
|
2308
|
-
// Constructors
|
|
2309
|
-
Q6Vect32C(int w = 0) : data(w) {};
|
|
2310
|
-
Q6Vect32C(short h1, short h0) : data(Q6V32_CREATE_H(h1, h0)) {};
|
|
2311
|
-
Q6Vect32C(signed char b3, signed char b2, signed char b1, signed char b0)
|
|
2312
|
-
: data(Q6V32_CREATE_B(b3, b2, b1, b0)) {};
|
|
2313
|
-
Q6Vect32C(const Q6Vect32C &v) : data(v.data) {};
|
|
2314
|
-
|
|
2315
|
-
Q6Vect32C &operator=(const Q6Vect32C &v) {
|
|
2316
|
-
data = v.data;
|
|
2317
|
-
return *this;
|
|
2318
|
-
};
|
|
2319
|
-
|
|
2320
|
-
operator int() {
|
|
2321
|
-
return data;
|
|
2322
|
-
};
|
|
2323
|
-
|
|
2324
|
-
// Extract word methods
|
|
2325
|
-
int W(void) {
|
|
2326
|
-
return Q6V32_GET_W(data);
|
|
2327
|
-
};
|
|
2328
|
-
unsigned int UW(void) {
|
|
2329
|
-
return Q6V32_GET_UW(data);
|
|
2330
|
-
};
|
|
2331
|
-
|
|
2332
|
-
// Extract half word methods
|
|
2333
|
-
short H0(void) {
|
|
2334
|
-
return Q6V32_GET_H0(data);
|
|
2335
|
-
};
|
|
2336
|
-
short H1(void) {
|
|
2337
|
-
return Q6V32_GET_H1(data);
|
|
2338
|
-
};
|
|
2339
|
-
unsigned short UH0(void) {
|
|
2340
|
-
return Q6V32_GET_UH0(data);
|
|
2341
|
-
};
|
|
2342
|
-
unsigned short UH1(void) {
|
|
2343
|
-
return Q6V32_GET_UH1(data);
|
|
2344
|
-
};
|
|
2345
|
-
|
|
2346
|
-
// Extract byte methods
|
|
2347
|
-
signed char B0(void) {
|
|
2348
|
-
return Q6V32_GET_B0(data);
|
|
2349
|
-
};
|
|
2350
|
-
signed char B1(void) {
|
|
2351
|
-
return Q6V32_GET_B1(data);
|
|
2352
|
-
};
|
|
2353
|
-
signed char B2(void) {
|
|
2354
|
-
return Q6V32_GET_B2(data);
|
|
2355
|
-
};
|
|
2356
|
-
signed char B3(void) {
|
|
2357
|
-
return Q6V32_GET_B3(data);
|
|
2358
|
-
};
|
|
2359
|
-
unsigned char UB0(void) {
|
|
2360
|
-
return Q6V32_GET_UB0(data);
|
|
2361
|
-
};
|
|
2362
|
-
unsigned char UB1(void) {
|
|
2363
|
-
return Q6V32_GET_UB1(data);
|
|
2364
|
-
};
|
|
2365
|
-
unsigned char UB2(void) {
|
|
2366
|
-
return Q6V32_GET_UB2(data);
|
|
2367
|
-
};
|
|
2368
|
-
unsigned char UB3(void) {
|
|
2369
|
-
return Q6V32_GET_UB3(data);
|
|
2370
|
-
};
|
|
2371
|
-
|
|
2372
|
-
// NOTE: All set methods return a Q6Vect32C type
|
|
2373
|
-
|
|
2374
|
-
// Set word method
|
|
2375
|
-
Q6Vect32C W(int w) {
|
|
2376
|
-
return Q6Vect32C(Q6V32_PUT_W(data, w));
|
|
2377
|
-
};
|
|
2378
|
-
|
|
2379
|
-
// Set half word methods
|
|
2380
|
-
Q6Vect32C H0(short h) {
|
|
2381
|
-
return Q6Vect32C(Q6V32_PUT_H0(data, h));
|
|
2382
|
-
};
|
|
2383
|
-
Q6Vect32C H1(short h) {
|
|
2384
|
-
return Q6Vect32C(Q6V32_PUT_H1(data, h));
|
|
2385
|
-
};
|
|
2386
|
-
|
|
2387
|
-
// Set byte methods
|
|
2388
|
-
Q6Vect32C B0(signed char b) {
|
|
2389
|
-
return Q6Vect32C(Q6V32_PUT_B0(data, b));
|
|
2390
|
-
};
|
|
2391
|
-
Q6Vect32C B1(signed char b) {
|
|
2392
|
-
return Q6Vect32C(Q6V32_PUT_B1(data, b));
|
|
2393
|
-
};
|
|
2394
|
-
Q6Vect32C B2(signed char b) {
|
|
2395
|
-
return Q6Vect32C(Q6V32_PUT_B2(data, b));
|
|
2396
|
-
};
|
|
2397
|
-
Q6Vect32C B3(signed char b) {
|
|
2398
|
-
return Q6Vect32C(Q6V32_PUT_B3(data, b));
|
|
2399
|
-
};
|
|
2400
|
-
|
|
2401
|
-
private:
|
|
2402
|
-
int data;
|
|
2403
|
-
};
|
|
2404
|
-
|
|
2405
|
-
#endif /* __cplusplus */
|
|
2406
|
-
|
|
2407
|
-
// V65 Vector types
|
|
2408
|
-
#if __HVX_ARCH__ >= 65
|
|
2409
|
-
#if defined __HVX__ && (__HVX_LENGTH__ == 128)
|
|
2410
|
-
typedef long Q6VecPred128 __attribute__((__vector_size__(128)))
|
|
2411
|
-
__attribute__((aligned(128)));
|
|
2412
|
-
|
|
2413
|
-
typedef long Q6Vect1024 __attribute__((__vector_size__(128)))
|
|
2414
|
-
__attribute__((aligned(128)));
|
|
2415
|
-
|
|
2416
|
-
typedef long Q6Vect2048 __attribute__((__vector_size__(256)))
|
|
2417
|
-
__attribute__((aligned(256)));
|
|
2418
|
-
|
|
2419
|
-
#else /* defined __HVX__ && (__HVX_LENGTH__ == 128) */
|
|
2420
|
-
#if defined __HVX__ && (__HVX_LENGTH__ == 64)
|
|
2421
|
-
typedef long Q6VecPred64 __attribute__((__vector_size__(64)))
|
|
2422
|
-
__attribute__((aligned(64)));
|
|
2423
|
-
|
|
2424
|
-
typedef long Q6Vect512 __attribute__((__vector_size__(64)))
|
|
2425
|
-
__attribute__((aligned(64)));
|
|
2426
|
-
|
|
2427
|
-
typedef long Q6Vect1024 __attribute__((__vector_size__(128)))
|
|
2428
|
-
__attribute__((aligned(128)));
|
|
2429
|
-
|
|
2430
|
-
#endif /* defined __HVX__ && (__HVX_LENGTH__ == 64) */
|
|
2431
|
-
#endif /* defined __HVX__ && (__HVX_LENGTH__ == 128) */
|
|
2432
|
-
#endif /* __HVX_ARCH__ >= 65 */
|
|
2433
|
-
|
|
2434
|
-
/* Predicates */
|
|
2435
|
-
|
|
2436
|
-
typedef int Q6Pred;
|
|
2437
|
-
|
|
2438
|
-
|
|
2439
|
-
#ifdef __HVX__
|
|
2440
|
-
|
|
2441
|
-
// Extract HVX VectorPair macro.
|
|
2442
|
-
#define HEXAGON_HVX_GET_W(v) (v)
|
|
2443
|
-
|
|
2444
|
-
// Extract HVX Vector macros.
|
|
2445
|
-
#define HEXAGON_HVX_GET_V0(v) \
|
|
2446
|
-
__extension__({ \
|
|
2447
|
-
union { \
|
|
2448
|
-
HVX_VectorPair W; \
|
|
2449
|
-
HVX_Vector V[2]; \
|
|
2450
|
-
} _HEXAGON_HVX_internal_union; \
|
|
2451
|
-
_HEXAGON_HVX_internal_union.W = (v); \
|
|
2452
|
-
_HEXAGON_HVX_internal_union.V[0]; \
|
|
2453
|
-
})
|
|
2454
|
-
#define HEXAGON_HVX_GET_V1(v) \
|
|
2455
|
-
__extension__({ \
|
|
2456
|
-
union { \
|
|
2457
|
-
HVX_VectorPair W; \
|
|
2458
|
-
HVX_Vector V[2]; \
|
|
2459
|
-
} _HEXAGON_HVX_internal_union; \
|
|
2460
|
-
_HEXAGON_HVX_internal_union.W = (v); \
|
|
2461
|
-
_HEXAGON_HVX_internal_union.V[1]; \
|
|
2462
|
-
})
|
|
2463
|
-
#define HEXAGON_HVX_GET_P(v) \
|
|
2464
|
-
__extension__({ \
|
|
2465
|
-
union { \
|
|
2466
|
-
HVX_VectorPair W; \
|
|
2467
|
-
HVX_VectorPred P[2]; \
|
|
2468
|
-
} _HEXAGON_HVX_internal_union; \
|
|
2469
|
-
_HEXAGON_HVX_internal_union.W = (v); \
|
|
2470
|
-
_HEXAGON_HVX_internal_union.P[0]; \
|
|
2471
|
-
})
|
|
2472
|
-
|
|
2473
|
-
// Set HVX VectorPair macro.
|
|
2474
|
-
#define HEXAGON_HVX_PUT_W(v, new) (new)
|
|
2475
|
-
|
|
2476
|
-
// Set HVX Vector macros.
|
|
2477
|
-
#define HEXAGON_HVX_PUT_V0(v, new) \
|
|
2478
|
-
__extension__({ \
|
|
2479
|
-
union { \
|
|
2480
|
-
HVX_VectorPair W; \
|
|
2481
|
-
HVX_Vector V[2]; \
|
|
2482
|
-
} _HEXAGON_HVX_internal_union; \
|
|
2483
|
-
_HEXAGON_HVX_internal_union.W = (v); \
|
|
2484
|
-
_HEXAGON_HVX_internal_union.V[0] = (new); \
|
|
2485
|
-
_HEXAGON_HVX_internal_union.W; \
|
|
2486
|
-
})
|
|
2487
|
-
|
|
2488
|
-
#define HEXAGON_HVX_PUT_V1(v, new) \
|
|
2489
|
-
__extension__({ \
|
|
2490
|
-
union { \
|
|
2491
|
-
HVX_VectorPair W; \
|
|
2492
|
-
HVX_Vector V[2]; \
|
|
2493
|
-
} _HEXAGON_HVX_internal_union; \
|
|
2494
|
-
_HEXAGON_HVX_internal_union.W = (v); \
|
|
2495
|
-
_HEXAGON_HVX_internal_union.V[1] = (new); \
|
|
2496
|
-
_HEXAGON_HVX_internal_union.W; \
|
|
2497
|
-
})
|
|
2498
|
-
|
|
2499
|
-
#define HEXAGON_HVX_PUT_P(v, new) \
|
|
2500
|
-
__extension__({ \
|
|
2501
|
-
union { \
|
|
2502
|
-
HVX_VectorPair W; \
|
|
2503
|
-
HVX_VectorPred P[2]; \
|
|
2504
|
-
} _HEXAGON_HVX_internal_union; \
|
|
2505
|
-
_HEXAGON_HVX_internal_union.W = (v); \
|
|
2506
|
-
_HEXAGON_HVX_internal_union.P[0] = (new); \
|
|
2507
|
-
_HEXAGON_HVX_internal_union.W; \
|
|
2508
|
-
})
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
#define HEXAGON_HVX_CREATE_W(v1, v0) \
|
|
2512
|
-
__extension__({ \
|
|
2513
|
-
union { \
|
|
2514
|
-
HVX_VectorPair W; \
|
|
2515
|
-
HVX_Vector V[2]; \
|
|
2516
|
-
} _HEXAGON_HVX_internal_union; \
|
|
2517
|
-
_HEXAGON_HVX_internal_union.V[0] = (v0); \
|
|
2518
|
-
_HEXAGON_HVX_internal_union.V[1] = (v1); \
|
|
2519
|
-
_HEXAGON_HVX_internal_union.W; \
|
|
2520
|
-
})
|
|
2521
|
-
|
|
2522
|
-
#ifdef __cplusplus
|
|
2523
|
-
|
|
2524
|
-
class HVX_Vect {
|
|
2525
|
-
public:
|
|
2526
|
-
// Constructors.
|
|
2527
|
-
// Default.
|
|
2528
|
-
HVX_Vect() : data(Q6_W_vcombine_VV(Q6_V_vzero(), Q6_V_vzero())){};
|
|
2529
|
-
|
|
2530
|
-
// Custom constructors.
|
|
2531
|
-
HVX_Vect(HVX_VectorPair W) : data(W){};
|
|
2532
|
-
HVX_Vect(HVX_Vector v1, HVX_Vector v0) : data(HEXAGON_HVX_CREATE_W(v1, v0)){};
|
|
2533
|
-
|
|
2534
|
-
// Copy constructor.
|
|
2535
|
-
HVX_Vect(const HVX_Vect &W) = default;
|
|
2536
|
-
|
|
2537
|
-
// Move constructor.
|
|
2538
|
-
HVX_Vect(HVX_Vect &&W) = default;
|
|
2539
|
-
|
|
2540
|
-
// Assignment operator.
|
|
2541
|
-
HVX_Vect &operator=(const HVX_Vect &W) = default;
|
|
2542
|
-
|
|
2543
|
-
operator HVX_VectorPair() { return data; };
|
|
2544
|
-
|
|
2545
|
-
// Extract VectorPair method.
|
|
2546
|
-
HVX_VectorPair W(void) { return HEXAGON_HVX_GET_W(data); };
|
|
2547
|
-
|
|
2548
|
-
// Extract Vector methods.
|
|
2549
|
-
HVX_Vector V0(void) { return HEXAGON_HVX_GET_V0(data); };
|
|
2550
|
-
HVX_Vector V1(void) { return HEXAGON_HVX_GET_V1(data); };
|
|
2551
|
-
HVX_VectorPred P(void) { return HEXAGON_HVX_GET_P(data); };
|
|
2552
|
-
|
|
2553
|
-
// NOTE: All set methods return a HVX_Vect type.
|
|
2554
|
-
// Set HVX VectorPair method.
|
|
2555
|
-
HVX_Vect W(HVX_VectorPair w) { return HVX_Vect(HEXAGON_HVX_PUT_W(data, w)); };
|
|
2556
|
-
|
|
2557
|
-
// Set HVX Vector methods.
|
|
2558
|
-
HVX_Vect V0(HVX_Vector v) { return HVX_Vect(HEXAGON_HVX_PUT_V0(data, v)); };
|
|
2559
|
-
HVX_Vect V1(HVX_Vector v) { return HVX_Vect(HEXAGON_HVX_PUT_V1(data, v)); };
|
|
2560
|
-
HVX_Vect P(HVX_VectorPred p) { return HVX_Vect(HEXAGON_HVX_PUT_P(data, p)); };
|
|
2561
|
-
|
|
2562
|
-
private:
|
|
2563
|
-
HVX_VectorPair data;
|
|
2564
|
-
};
|
|
2565
|
-
|
|
2566
|
-
#endif /* __cplusplus */
|
|
2567
|
-
#endif /* __HVX__ */
|
|
2568
|
-
|
|
2569
|
-
#define HEXAGON_UDMA_DM0_STATUS_IDLE 0x00000000
|
|
2570
|
-
#define HEXAGON_UDMA_DM0_STATUS_RUN 0x00000001
|
|
2571
|
-
#define HEXAGON_UDMA_DM0_STATUS_ERROR 0x00000002
|
|
2572
|
-
#define HEXAGON_UDMA_DESC_DSTATE_INCOMPLETE 0
|
|
2573
|
-
#define HEXAGON_UDMA_DESC_DSTATE_COMPLETE 1
|
|
2574
|
-
#define HEXAGON_UDMA_DESC_ORDER_NOORDER 0
|
|
2575
|
-
#define HEXAGON_UDMA_DESC_ORDER_ORDER 1
|
|
2576
|
-
#define HEXAGON_UDMA_DESC_BYPASS_OFF 0
|
|
2577
|
-
#define HEXAGON_UDMA_DESC_BYPASS_ON 1
|
|
2578
|
-
#define HEXAGON_UDMA_DESC_COMP_NONE 0
|
|
2579
|
-
#define HEXAGON_UDMA_DESC_COMP_DLBC 1
|
|
2580
|
-
#define HEXAGON_UDMA_DESC_DESCTYPE_TYPE0 0
|
|
2581
|
-
#define HEXAGON_UDMA_DESC_DESCTYPE_TYPE1 1
|
|
2582
|
-
|
|
2583
|
-
typedef struct hexagon_udma_descriptor_type0_s
|
|
2584
|
-
{
|
|
2585
|
-
void *next;
|
|
2586
|
-
unsigned int length:24;
|
|
2587
|
-
unsigned int desctype:2;
|
|
2588
|
-
unsigned int dstcomp:1;
|
|
2589
|
-
unsigned int srccomp:1;
|
|
2590
|
-
unsigned int dstbypass:1;
|
|
2591
|
-
unsigned int srcbypass:1;
|
|
2592
|
-
unsigned int order:1;
|
|
2593
|
-
unsigned int dstate:1;
|
|
2594
|
-
void *src;
|
|
2595
|
-
void *dst;
|
|
2596
|
-
} hexagon_udma_descriptor_type0_t;
|
|
2597
|
-
|
|
2598
|
-
typedef struct hexagon_udma_descriptor_type1_s
|
|
2599
|
-
{
|
|
2600
|
-
void *next;
|
|
2601
|
-
unsigned int length:24;
|
|
2602
|
-
unsigned int desctype:2;
|
|
2603
|
-
unsigned int dstcomp:1;
|
|
2604
|
-
unsigned int srccomp:1;
|
|
2605
|
-
unsigned int dstbypass:1;
|
|
2606
|
-
unsigned int srcbypass:1;
|
|
2607
|
-
unsigned int order:1;
|
|
2608
|
-
unsigned int dstate:1;
|
|
2609
|
-
void *src;
|
|
2610
|
-
void *dst;
|
|
2611
|
-
unsigned int allocation:28;
|
|
2612
|
-
unsigned int padding:4;
|
|
2613
|
-
unsigned int roiwidth:16;
|
|
2614
|
-
unsigned int roiheight:16;
|
|
2615
|
-
unsigned int srcstride:16;
|
|
2616
|
-
unsigned int dststride:16;
|
|
2617
|
-
unsigned int srcwidthoffset:16;
|
|
2618
|
-
unsigned int dstwidthoffset:16;
|
|
2619
|
-
} hexagon_udma_descriptor_type1_t;
|
|
2620
|
-
|
|
2621
|
-
#endif /* !HEXAGON_TYPES_H */
|