@cpp-linter/clang-tidy-win32-x64 12.0.1 → 14.0.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/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_complex_builtins.h +3 -3
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_device_functions.h +174 -102
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_intrinsics.h +32 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_libdevice_declares.h +6 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_math.h +3 -3
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_runtime_wrapper.h +68 -8
- package/lib/clang/14.0.0/include/__clang_cuda_texture_intrinsics.h +740 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_hip_cmath.h +272 -94
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_hip_libdevice_declares.h +24 -12
- package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_hip_math.h +48 -2
- package/lib/clang/14.0.0/include/__clang_hip_runtime_wrapper.h +137 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/__wmmintrin_aes.h +1 -1
- package/lib/clang/{12.0.1 → 14.0.0}/include/altivec.h +1348 -496
- package/lib/clang/{12.0.1 → 14.0.0}/include/ammintrin.h +4 -0
- package/lib/clang/14.0.0/include/amxintrin.h +494 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/arm_acle.h +61 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/arm_neon.h +5544 -4634
- package/lib/clang/14.0.0/include/arm_neon_sve_bridge.h +184 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/arm_sve.h +11791 -5896
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx2intrin.h +181 -181
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512bf16intrin.h +3 -3
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512bwintrin.h +71 -71
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512dqintrin.h +365 -365
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512erintrin.h +102 -102
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512fintrin.h +1750 -1606
- package/lib/clang/14.0.0/include/avx512fp16intrin.h +3349 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vbmi2intrin.h +48 -48
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlbf16intrin.h +51 -3
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlbwintrin.h +94 -94
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vldqintrin.h +134 -134
- package/lib/clang/14.0.0/include/avx512vlfp16intrin.h +2068 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlintrin.h +563 -563
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlvbmi2intrin.h +96 -96
- package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlvnniintrin.h +8 -8
- package/lib/clang/{12.0.1 → 14.0.0}/include/avxintrin.h +189 -192
- package/lib/clang/14.0.0/include/builtins.h +16 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/cetintrin.h +10 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/cpuid.h +2 -1
- package/lib/clang/14.0.0/include/crc32intrin.h +100 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/cuda_wrappers/complex +8 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/emmintrin.h +21 -17
- package/lib/clang/{12.0.1 → 14.0.0}/include/f16cintrin.h +4 -4
- package/lib/clang/{12.0.1 → 14.0.0}/include/float.h +15 -6
- package/lib/clang/{12.0.1 → 14.0.0}/include/gfniintrin.h +47 -48
- package/lib/clang/14.0.0/include/hexagon_circ_brev_intrinsics.h +298 -0
- package/lib/clang/14.0.0/include/hexagon_protos.h +8439 -0
- package/lib/clang/14.0.0/include/hexagon_types.h +2621 -0
- package/lib/clang/14.0.0/include/hvx_hexagon_protos.h +5183 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/ia32intrin.h +6 -6
- package/lib/clang/{12.0.1 → 14.0.0}/include/immintrin.h +31 -13
- package/lib/clang/{12.0.1 → 14.0.0}/include/intrin.h +63 -19
- package/lib/clang/{12.0.1 → 14.0.0}/include/keylockerintrin.h +32 -8
- package/lib/clang/{12.0.1 → 14.0.0}/include/limits.h +20 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/mmintrin.h +4 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/nmmintrin.h +4 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/opencl-c-base.h +206 -7
- package/lib/clang/{12.0.1 → 14.0.0}/include/opencl-c.h +2187 -797
- package/lib/clang/14.0.0/include/openmp_wrappers/__clang_openmp_device_functions.h +106 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/cmath +54 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/complex +11 -8
- package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/complex.h +9 -1
- package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/math.h +10 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/new +2 -24
- package/lib/clang/{12.0.1 → 14.0.0}/include/pmmintrin.h +4 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/emmintrin.h +3 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/mm_malloc.h +2 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/mmintrin.h +3 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/pmmintrin.h +3 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/smmintrin.h +4 -3
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/tmmintrin.h +3 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/xmmintrin.h +3 -2
- package/lib/clang/{12.0.1 → 14.0.0}/include/prfchwintrin.h +5 -2
- package/lib/clang/14.0.0/include/riscv_vector.h +95423 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/smmintrin.h +80 -159
- package/lib/clang/{12.0.1 → 14.0.0}/include/stdatomic.h +14 -1
- package/lib/clang/{12.0.1 → 14.0.0}/include/stdint.h +168 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/tmmintrin.h +10 -6
- package/lib/clang/{12.0.1 → 14.0.0}/include/uintrintrin.h +7 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/unwind.h +2 -1
- package/lib/clang/{12.0.1 → 14.0.0}/include/vaesintrin.h +22 -21
- package/lib/clang/{12.0.1 → 14.0.0}/include/vecintrin.h +206 -77
- package/lib/clang/{12.0.1 → 14.0.0}/include/vpclmulqdqintrin.h +8 -6
- package/lib/clang/14.0.0/include/wasm_simd128.h +1877 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/wmmintrin.h +4 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/x86gprintrin.h +12 -0
- package/lib/clang/{12.0.1 → 14.0.0}/include/xmmintrin.h +9 -5
- package/lib/clang/{12.0.1 → 14.0.0}/include/xopintrin.h +31 -31
- package/package.json +6 -6
- package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +0 -69
- package/lib/clang/12.0.1/include/amxintrin.h +0 -278
- package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -42
- package/lib/clang/12.0.1/include/wasm_simd128.h +0 -1167
- /package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/adxintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm64intr.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_bf16.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_cde.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_cmse.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_fp16.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_mve.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/armintr.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/bmiintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/cet.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/clwbintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/clzerointrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/fma4intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/fmaintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/hresetintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/htmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/inttypes.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/iso646.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/lwpintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/mm3dnow.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/mm_malloc.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/module.modulemap +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/movdirintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/msa.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/pkuintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/popcntintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/rtmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/s390intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/serializeintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/sgxintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/shaintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/stdalign.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/stdarg.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/stdbool.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/stddef.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/tbmintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/tgmath.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/vadefs.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/varargs.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/x86intrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{12.0.1 → 14.0.0}/include/xtestintrin.h +0 -0
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# @cpp-linter/clang-tidy-win32-x64
|
|
2
2
|
|
|
3
|
-
The Windows x64 binary of clang-tidy from LLVM
|
|
3
|
+
The Windows x64 binary of clang-tidy from LLVM 14.0.0, for [`@cpp-linter/clang-tidy`](https://www.npmjs.com/package/@cpp-linter/clang-tidy).
|
|
4
4
|
|
|
5
5
|
Install `@cpp-linter/clang-tidy` instead of this package: npm picks the binary for your platform.
|
|
6
6
|
|
|
7
|
-
The binary is a static build from the release [`llvm-
|
|
7
|
+
The binary is a static build from the release [`llvm-14.0.0-2`](https://github.com/cpp-linter/clang-tools-static-binaries/releases/tag/llvm-14.0.0-2) of [cpp-linter/clang-tools-static-binaries](https://github.com/cpp-linter/clang-tools-static-binaries). LLVM is licensed under the Apache License v2.0 with LLVM Exceptions (see `LICENSE.TXT`).
|
package/bin/clang-tidy.exe
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/bin/clang-tidy.exe
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 46657024 bytes
|
|
4
|
+
sha256: db8c7674c5cfd0d2d7d6606b68e260db6b459dd4a30a188002c5d1d0c58929df
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
// to work with CUDA and OpenMP target offloading [in C and C++ mode].)
|
|
17
17
|
|
|
18
18
|
#pragma push_macro("__DEVICE__")
|
|
19
|
-
#
|
|
19
|
+
#if defined(__OPENMP_NVPTX__) || defined(__OPENMP_AMDGCN__)
|
|
20
20
|
#pragma omp declare target
|
|
21
21
|
#define __DEVICE__ __attribute__((noinline, nothrow, cold, weak))
|
|
22
22
|
#else
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
// To make the algorithms available for C and C++ in CUDA and OpenMP we select
|
|
27
27
|
// different but equivalent function versions. TODO: For OpenMP we currently
|
|
28
28
|
// select the native builtins as the overload support for templates is lacking.
|
|
29
|
-
#if !defined(__OPENMP_NVPTX__)
|
|
29
|
+
#if !defined(__OPENMP_NVPTX__) && !defined(__OPENMP_AMDGCN__)
|
|
30
30
|
#define _ISNANd std::isnan
|
|
31
31
|
#define _ISNANf std::isnan
|
|
32
32
|
#define _ISINFd std::isinf
|
|
@@ -276,7 +276,7 @@ __DEVICE__ float _Complex __divsc3(float __a, float __b, float __c, float __d) {
|
|
|
276
276
|
#undef _fmaxd
|
|
277
277
|
#undef _fmaxf
|
|
278
278
|
|
|
279
|
-
#
|
|
279
|
+
#if defined(__OPENMP_NVPTX__) || defined(__OPENMP_AMDGCN__)
|
|
280
280
|
#pragma omp end declare target
|
|
281
281
|
#endif
|
|
282
282
|
|
|
@@ -34,10 +34,12 @@ __DEVICE__ unsigned long long __brevll(unsigned long long __a) {
|
|
|
34
34
|
return __nv_brevll(__a);
|
|
35
35
|
}
|
|
36
36
|
#if defined(__cplusplus)
|
|
37
|
-
__DEVICE__ void __brkpt() {
|
|
37
|
+
__DEVICE__ void __brkpt() { __asm__ __volatile__("brkpt;"); }
|
|
38
38
|
__DEVICE__ void __brkpt(int __a) { __brkpt(); }
|
|
39
39
|
#else
|
|
40
|
-
__DEVICE__ void __attribute__((overloadable)) __brkpt(void) {
|
|
40
|
+
__DEVICE__ void __attribute__((overloadable)) __brkpt(void) {
|
|
41
|
+
__asm__ __volatile__("brkpt;");
|
|
42
|
+
}
|
|
41
43
|
__DEVICE__ void __attribute__((overloadable)) __brkpt(int __a) { __brkpt(); }
|
|
42
44
|
#endif
|
|
43
45
|
__DEVICE__ unsigned int __byte_perm(unsigned int __a, unsigned int __b,
|
|
@@ -507,7 +509,7 @@ __DEVICE__ float __powf(float __a, float __b) {
|
|
|
507
509
|
}
|
|
508
510
|
|
|
509
511
|
// Parameter must have a known integer value.
|
|
510
|
-
#define __prof_trigger(__a)
|
|
512
|
+
#define __prof_trigger(__a) __asm__ __volatile__("pmevent \t%0;" ::"i"(__a))
|
|
511
513
|
__DEVICE__ int __rhadd(int __a, int __b) { return __nv_rhadd(__a, __b); }
|
|
512
514
|
__DEVICE__ unsigned int __sad(int __a, int __b, unsigned int __c) {
|
|
513
515
|
return __nv_sad(__a, __b, __c);
|
|
@@ -526,7 +528,7 @@ __DEVICE__ float __tanf(float __a) { return __nv_fast_tanf(__a); }
|
|
|
526
528
|
__DEVICE__ void __threadfence(void) { __nvvm_membar_gl(); }
|
|
527
529
|
__DEVICE__ void __threadfence_block(void) { __nvvm_membar_cta(); };
|
|
528
530
|
__DEVICE__ void __threadfence_system(void) { __nvvm_membar_sys(); };
|
|
529
|
-
__DEVICE__ void __trap(void) {
|
|
531
|
+
__DEVICE__ void __trap(void) { __asm__ __volatile__("trap;"); }
|
|
530
532
|
__DEVICE__ unsigned int __uAtomicAdd(unsigned int *__p, unsigned int __v) {
|
|
531
533
|
return __nvvm_atom_add_gen_i((int *)__p, __v);
|
|
532
534
|
}
|
|
@@ -1051,122 +1053,136 @@ __DEVICE__ unsigned int __bool2mask(unsigned int __a, int shift) {
|
|
|
1051
1053
|
}
|
|
1052
1054
|
__DEVICE__ unsigned int __vabs2(unsigned int __a) {
|
|
1053
1055
|
unsigned int r;
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1056
|
+
__asm__("vabsdiff2.s32.s32.s32 %0,%1,%2,%3;"
|
|
1057
|
+
: "=r"(r)
|
|
1058
|
+
: "r"(__a), "r"(0), "r"(0));
|
|
1057
1059
|
return r;
|
|
1058
1060
|
}
|
|
1059
1061
|
__DEVICE__ unsigned int __vabs4(unsigned int __a) {
|
|
1060
1062
|
unsigned int r;
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1063
|
+
__asm__("vabsdiff4.s32.s32.s32 %0,%1,%2,%3;"
|
|
1064
|
+
: "=r"(r)
|
|
1065
|
+
: "r"(__a), "r"(0), "r"(0));
|
|
1064
1066
|
return r;
|
|
1065
1067
|
}
|
|
1066
1068
|
__DEVICE__ unsigned int __vabsdiffs2(unsigned int __a, unsigned int __b) {
|
|
1067
1069
|
unsigned int r;
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1070
|
+
__asm__("vabsdiff2.s32.s32.s32 %0,%1,%2,%3;"
|
|
1071
|
+
: "=r"(r)
|
|
1072
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1071
1073
|
return r;
|
|
1072
1074
|
}
|
|
1073
1075
|
|
|
1074
1076
|
__DEVICE__ unsigned int __vabsdiffs4(unsigned int __a, unsigned int __b) {
|
|
1075
1077
|
unsigned int r;
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1078
|
+
__asm__("vabsdiff4.s32.s32.s32 %0,%1,%2,%3;"
|
|
1079
|
+
: "=r"(r)
|
|
1080
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1079
1081
|
return r;
|
|
1080
1082
|
}
|
|
1081
1083
|
__DEVICE__ unsigned int __vabsdiffu2(unsigned int __a, unsigned int __b) {
|
|
1082
1084
|
unsigned int r;
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1085
|
+
__asm__("vabsdiff2.u32.u32.u32 %0,%1,%2,%3;"
|
|
1086
|
+
: "=r"(r)
|
|
1087
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1086
1088
|
return r;
|
|
1087
1089
|
}
|
|
1088
1090
|
__DEVICE__ unsigned int __vabsdiffu4(unsigned int __a, unsigned int __b) {
|
|
1089
1091
|
unsigned int r;
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1092
|
+
__asm__("vabsdiff4.u32.u32.u32 %0,%1,%2,%3;"
|
|
1093
|
+
: "=r"(r)
|
|
1094
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1093
1095
|
return r;
|
|
1094
1096
|
}
|
|
1095
1097
|
__DEVICE__ unsigned int __vabsss2(unsigned int __a) {
|
|
1096
1098
|
unsigned int r;
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1099
|
+
__asm__("vabsdiff2.s32.s32.s32.sat %0,%1,%2,%3;"
|
|
1100
|
+
: "=r"(r)
|
|
1101
|
+
: "r"(__a), "r"(0), "r"(0));
|
|
1100
1102
|
return r;
|
|
1101
1103
|
}
|
|
1102
1104
|
__DEVICE__ unsigned int __vabsss4(unsigned int __a) {
|
|
1103
1105
|
unsigned int r;
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1106
|
+
__asm__("vabsdiff4.s32.s32.s32.sat %0,%1,%2,%3;"
|
|
1107
|
+
: "=r"(r)
|
|
1108
|
+
: "r"(__a), "r"(0), "r"(0));
|
|
1107
1109
|
return r;
|
|
1108
1110
|
}
|
|
1109
1111
|
__DEVICE__ unsigned int __vadd2(unsigned int __a, unsigned int __b) {
|
|
1110
1112
|
unsigned int r;
|
|
1111
|
-
|
|
1113
|
+
__asm__("vadd2.u32.u32.u32 %0,%1,%2,%3;"
|
|
1114
|
+
: "=r"(r)
|
|
1115
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1112
1116
|
return r;
|
|
1113
1117
|
}
|
|
1114
1118
|
__DEVICE__ unsigned int __vadd4(unsigned int __a, unsigned int __b) {
|
|
1115
1119
|
unsigned int r;
|
|
1116
|
-
|
|
1120
|
+
__asm__("vadd4.u32.u32.u32 %0,%1,%2,%3;"
|
|
1121
|
+
: "=r"(r)
|
|
1122
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1117
1123
|
return r;
|
|
1118
1124
|
}
|
|
1119
1125
|
__DEVICE__ unsigned int __vaddss2(unsigned int __a, unsigned int __b) {
|
|
1120
1126
|
unsigned int r;
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1127
|
+
__asm__("vadd2.s32.s32.s32.sat %0,%1,%2,%3;"
|
|
1128
|
+
: "=r"(r)
|
|
1129
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1124
1130
|
return r;
|
|
1125
1131
|
}
|
|
1126
1132
|
__DEVICE__ unsigned int __vaddss4(unsigned int __a, unsigned int __b) {
|
|
1127
1133
|
unsigned int r;
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1134
|
+
__asm__("vadd4.s32.s32.s32.sat %0,%1,%2,%3;"
|
|
1135
|
+
: "=r"(r)
|
|
1136
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1131
1137
|
return r;
|
|
1132
1138
|
}
|
|
1133
1139
|
__DEVICE__ unsigned int __vaddus2(unsigned int __a, unsigned int __b) {
|
|
1134
1140
|
unsigned int r;
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1141
|
+
__asm__("vadd2.u32.u32.u32.sat %0,%1,%2,%3;"
|
|
1142
|
+
: "=r"(r)
|
|
1143
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1138
1144
|
return r;
|
|
1139
1145
|
}
|
|
1140
1146
|
__DEVICE__ unsigned int __vaddus4(unsigned int __a, unsigned int __b) {
|
|
1141
1147
|
unsigned int r;
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1148
|
+
__asm__("vadd4.u32.u32.u32.sat %0,%1,%2,%3;"
|
|
1149
|
+
: "=r"(r)
|
|
1150
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1145
1151
|
return r;
|
|
1146
1152
|
}
|
|
1147
1153
|
__DEVICE__ unsigned int __vavgs2(unsigned int __a, unsigned int __b) {
|
|
1148
1154
|
unsigned int r;
|
|
1149
|
-
|
|
1155
|
+
__asm__("vavrg2.s32.s32.s32 %0,%1,%2,%3;"
|
|
1156
|
+
: "=r"(r)
|
|
1157
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1150
1158
|
return r;
|
|
1151
1159
|
}
|
|
1152
1160
|
__DEVICE__ unsigned int __vavgs4(unsigned int __a, unsigned int __b) {
|
|
1153
1161
|
unsigned int r;
|
|
1154
|
-
|
|
1162
|
+
__asm__("vavrg4.s32.s32.s32 %0,%1,%2,%3;"
|
|
1163
|
+
: "=r"(r)
|
|
1164
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1155
1165
|
return r;
|
|
1156
1166
|
}
|
|
1157
1167
|
__DEVICE__ unsigned int __vavgu2(unsigned int __a, unsigned int __b) {
|
|
1158
1168
|
unsigned int r;
|
|
1159
|
-
|
|
1169
|
+
__asm__("vavrg2.u32.u32.u32 %0,%1,%2,%3;"
|
|
1170
|
+
: "=r"(r)
|
|
1171
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1160
1172
|
return r;
|
|
1161
1173
|
}
|
|
1162
1174
|
__DEVICE__ unsigned int __vavgu4(unsigned int __a, unsigned int __b) {
|
|
1163
1175
|
unsigned int r;
|
|
1164
|
-
|
|
1176
|
+
__asm__("vavrg4.u32.u32.u32 %0,%1,%2,%3;"
|
|
1177
|
+
: "=r"(r)
|
|
1178
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1165
1179
|
return r;
|
|
1166
1180
|
}
|
|
1167
1181
|
__DEVICE__ unsigned int __vseteq2(unsigned int __a, unsigned int __b) {
|
|
1168
1182
|
unsigned int r;
|
|
1169
|
-
|
|
1183
|
+
__asm__("vset2.u32.u32.eq %0,%1,%2,%3;"
|
|
1184
|
+
: "=r"(r)
|
|
1185
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1170
1186
|
return r;
|
|
1171
1187
|
}
|
|
1172
1188
|
__DEVICE__ unsigned int __vcmpeq2(unsigned int __a, unsigned int __b) {
|
|
@@ -1174,7 +1190,9 @@ __DEVICE__ unsigned int __vcmpeq2(unsigned int __a, unsigned int __b) {
|
|
|
1174
1190
|
}
|
|
1175
1191
|
__DEVICE__ unsigned int __vseteq4(unsigned int __a, unsigned int __b) {
|
|
1176
1192
|
unsigned int r;
|
|
1177
|
-
|
|
1193
|
+
__asm__("vset4.u32.u32.eq %0,%1,%2,%3;"
|
|
1194
|
+
: "=r"(r)
|
|
1195
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1178
1196
|
return r;
|
|
1179
1197
|
}
|
|
1180
1198
|
__DEVICE__ unsigned int __vcmpeq4(unsigned int __a, unsigned int __b) {
|
|
@@ -1182,7 +1200,9 @@ __DEVICE__ unsigned int __vcmpeq4(unsigned int __a, unsigned int __b) {
|
|
|
1182
1200
|
}
|
|
1183
1201
|
__DEVICE__ unsigned int __vsetges2(unsigned int __a, unsigned int __b) {
|
|
1184
1202
|
unsigned int r;
|
|
1185
|
-
|
|
1203
|
+
__asm__("vset2.s32.s32.ge %0,%1,%2,%3;"
|
|
1204
|
+
: "=r"(r)
|
|
1205
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1186
1206
|
return r;
|
|
1187
1207
|
}
|
|
1188
1208
|
__DEVICE__ unsigned int __vcmpges2(unsigned int __a, unsigned int __b) {
|
|
@@ -1190,7 +1210,9 @@ __DEVICE__ unsigned int __vcmpges2(unsigned int __a, unsigned int __b) {
|
|
|
1190
1210
|
}
|
|
1191
1211
|
__DEVICE__ unsigned int __vsetges4(unsigned int __a, unsigned int __b) {
|
|
1192
1212
|
unsigned int r;
|
|
1193
|
-
|
|
1213
|
+
__asm__("vset4.s32.s32.ge %0,%1,%2,%3;"
|
|
1214
|
+
: "=r"(r)
|
|
1215
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1194
1216
|
return r;
|
|
1195
1217
|
}
|
|
1196
1218
|
__DEVICE__ unsigned int __vcmpges4(unsigned int __a, unsigned int __b) {
|
|
@@ -1198,7 +1220,9 @@ __DEVICE__ unsigned int __vcmpges4(unsigned int __a, unsigned int __b) {
|
|
|
1198
1220
|
}
|
|
1199
1221
|
__DEVICE__ unsigned int __vsetgeu2(unsigned int __a, unsigned int __b) {
|
|
1200
1222
|
unsigned int r;
|
|
1201
|
-
|
|
1223
|
+
__asm__("vset2.u32.u32.ge %0,%1,%2,%3;"
|
|
1224
|
+
: "=r"(r)
|
|
1225
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1202
1226
|
return r;
|
|
1203
1227
|
}
|
|
1204
1228
|
__DEVICE__ unsigned int __vcmpgeu2(unsigned int __a, unsigned int __b) {
|
|
@@ -1206,7 +1230,9 @@ __DEVICE__ unsigned int __vcmpgeu2(unsigned int __a, unsigned int __b) {
|
|
|
1206
1230
|
}
|
|
1207
1231
|
__DEVICE__ unsigned int __vsetgeu4(unsigned int __a, unsigned int __b) {
|
|
1208
1232
|
unsigned int r;
|
|
1209
|
-
|
|
1233
|
+
__asm__("vset4.u32.u32.ge %0,%1,%2,%3;"
|
|
1234
|
+
: "=r"(r)
|
|
1235
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1210
1236
|
return r;
|
|
1211
1237
|
}
|
|
1212
1238
|
__DEVICE__ unsigned int __vcmpgeu4(unsigned int __a, unsigned int __b) {
|
|
@@ -1214,7 +1240,9 @@ __DEVICE__ unsigned int __vcmpgeu4(unsigned int __a, unsigned int __b) {
|
|
|
1214
1240
|
}
|
|
1215
1241
|
__DEVICE__ unsigned int __vsetgts2(unsigned int __a, unsigned int __b) {
|
|
1216
1242
|
unsigned int r;
|
|
1217
|
-
|
|
1243
|
+
__asm__("vset2.s32.s32.gt %0,%1,%2,%3;"
|
|
1244
|
+
: "=r"(r)
|
|
1245
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1218
1246
|
return r;
|
|
1219
1247
|
}
|
|
1220
1248
|
__DEVICE__ unsigned int __vcmpgts2(unsigned int __a, unsigned int __b) {
|
|
@@ -1222,7 +1250,9 @@ __DEVICE__ unsigned int __vcmpgts2(unsigned int __a, unsigned int __b) {
|
|
|
1222
1250
|
}
|
|
1223
1251
|
__DEVICE__ unsigned int __vsetgts4(unsigned int __a, unsigned int __b) {
|
|
1224
1252
|
unsigned int r;
|
|
1225
|
-
|
|
1253
|
+
__asm__("vset4.s32.s32.gt %0,%1,%2,%3;"
|
|
1254
|
+
: "=r"(r)
|
|
1255
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1226
1256
|
return r;
|
|
1227
1257
|
}
|
|
1228
1258
|
__DEVICE__ unsigned int __vcmpgts4(unsigned int __a, unsigned int __b) {
|
|
@@ -1230,7 +1260,9 @@ __DEVICE__ unsigned int __vcmpgts4(unsigned int __a, unsigned int __b) {
|
|
|
1230
1260
|
}
|
|
1231
1261
|
__DEVICE__ unsigned int __vsetgtu2(unsigned int __a, unsigned int __b) {
|
|
1232
1262
|
unsigned int r;
|
|
1233
|
-
|
|
1263
|
+
__asm__("vset2.u32.u32.gt %0,%1,%2,%3;"
|
|
1264
|
+
: "=r"(r)
|
|
1265
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1234
1266
|
return r;
|
|
1235
1267
|
}
|
|
1236
1268
|
__DEVICE__ unsigned int __vcmpgtu2(unsigned int __a, unsigned int __b) {
|
|
@@ -1238,7 +1270,9 @@ __DEVICE__ unsigned int __vcmpgtu2(unsigned int __a, unsigned int __b) {
|
|
|
1238
1270
|
}
|
|
1239
1271
|
__DEVICE__ unsigned int __vsetgtu4(unsigned int __a, unsigned int __b) {
|
|
1240
1272
|
unsigned int r;
|
|
1241
|
-
|
|
1273
|
+
__asm__("vset4.u32.u32.gt %0,%1,%2,%3;"
|
|
1274
|
+
: "=r"(r)
|
|
1275
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1242
1276
|
return r;
|
|
1243
1277
|
}
|
|
1244
1278
|
__DEVICE__ unsigned int __vcmpgtu4(unsigned int __a, unsigned int __b) {
|
|
@@ -1246,7 +1280,9 @@ __DEVICE__ unsigned int __vcmpgtu4(unsigned int __a, unsigned int __b) {
|
|
|
1246
1280
|
}
|
|
1247
1281
|
__DEVICE__ unsigned int __vsetles2(unsigned int __a, unsigned int __b) {
|
|
1248
1282
|
unsigned int r;
|
|
1249
|
-
|
|
1283
|
+
__asm__("vset2.s32.s32.le %0,%1,%2,%3;"
|
|
1284
|
+
: "=r"(r)
|
|
1285
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1250
1286
|
return r;
|
|
1251
1287
|
}
|
|
1252
1288
|
__DEVICE__ unsigned int __vcmples2(unsigned int __a, unsigned int __b) {
|
|
@@ -1254,7 +1290,9 @@ __DEVICE__ unsigned int __vcmples2(unsigned int __a, unsigned int __b) {
|
|
|
1254
1290
|
}
|
|
1255
1291
|
__DEVICE__ unsigned int __vsetles4(unsigned int __a, unsigned int __b) {
|
|
1256
1292
|
unsigned int r;
|
|
1257
|
-
|
|
1293
|
+
__asm__("vset4.s32.s32.le %0,%1,%2,%3;"
|
|
1294
|
+
: "=r"(r)
|
|
1295
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1258
1296
|
return r;
|
|
1259
1297
|
}
|
|
1260
1298
|
__DEVICE__ unsigned int __vcmples4(unsigned int __a, unsigned int __b) {
|
|
@@ -1262,7 +1300,9 @@ __DEVICE__ unsigned int __vcmples4(unsigned int __a, unsigned int __b) {
|
|
|
1262
1300
|
}
|
|
1263
1301
|
__DEVICE__ unsigned int __vsetleu2(unsigned int __a, unsigned int __b) {
|
|
1264
1302
|
unsigned int r;
|
|
1265
|
-
|
|
1303
|
+
__asm__("vset2.u32.u32.le %0,%1,%2,%3;"
|
|
1304
|
+
: "=r"(r)
|
|
1305
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1266
1306
|
return r;
|
|
1267
1307
|
}
|
|
1268
1308
|
__DEVICE__ unsigned int __vcmpleu2(unsigned int __a, unsigned int __b) {
|
|
@@ -1270,7 +1310,9 @@ __DEVICE__ unsigned int __vcmpleu2(unsigned int __a, unsigned int __b) {
|
|
|
1270
1310
|
}
|
|
1271
1311
|
__DEVICE__ unsigned int __vsetleu4(unsigned int __a, unsigned int __b) {
|
|
1272
1312
|
unsigned int r;
|
|
1273
|
-
|
|
1313
|
+
__asm__("vset4.u32.u32.le %0,%1,%2,%3;"
|
|
1314
|
+
: "=r"(r)
|
|
1315
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1274
1316
|
return r;
|
|
1275
1317
|
}
|
|
1276
1318
|
__DEVICE__ unsigned int __vcmpleu4(unsigned int __a, unsigned int __b) {
|
|
@@ -1278,7 +1320,9 @@ __DEVICE__ unsigned int __vcmpleu4(unsigned int __a, unsigned int __b) {
|
|
|
1278
1320
|
}
|
|
1279
1321
|
__DEVICE__ unsigned int __vsetlts2(unsigned int __a, unsigned int __b) {
|
|
1280
1322
|
unsigned int r;
|
|
1281
|
-
|
|
1323
|
+
__asm__("vset2.s32.s32.lt %0,%1,%2,%3;"
|
|
1324
|
+
: "=r"(r)
|
|
1325
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1282
1326
|
return r;
|
|
1283
1327
|
}
|
|
1284
1328
|
__DEVICE__ unsigned int __vcmplts2(unsigned int __a, unsigned int __b) {
|
|
@@ -1286,7 +1330,9 @@ __DEVICE__ unsigned int __vcmplts2(unsigned int __a, unsigned int __b) {
|
|
|
1286
1330
|
}
|
|
1287
1331
|
__DEVICE__ unsigned int __vsetlts4(unsigned int __a, unsigned int __b) {
|
|
1288
1332
|
unsigned int r;
|
|
1289
|
-
|
|
1333
|
+
__asm__("vset4.s32.s32.lt %0,%1,%2,%3;"
|
|
1334
|
+
: "=r"(r)
|
|
1335
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1290
1336
|
return r;
|
|
1291
1337
|
}
|
|
1292
1338
|
__DEVICE__ unsigned int __vcmplts4(unsigned int __a, unsigned int __b) {
|
|
@@ -1294,7 +1340,9 @@ __DEVICE__ unsigned int __vcmplts4(unsigned int __a, unsigned int __b) {
|
|
|
1294
1340
|
}
|
|
1295
1341
|
__DEVICE__ unsigned int __vsetltu2(unsigned int __a, unsigned int __b) {
|
|
1296
1342
|
unsigned int r;
|
|
1297
|
-
|
|
1343
|
+
__asm__("vset2.u32.u32.lt %0,%1,%2,%3;"
|
|
1344
|
+
: "=r"(r)
|
|
1345
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1298
1346
|
return r;
|
|
1299
1347
|
}
|
|
1300
1348
|
__DEVICE__ unsigned int __vcmpltu2(unsigned int __a, unsigned int __b) {
|
|
@@ -1302,7 +1350,9 @@ __DEVICE__ unsigned int __vcmpltu2(unsigned int __a, unsigned int __b) {
|
|
|
1302
1350
|
}
|
|
1303
1351
|
__DEVICE__ unsigned int __vsetltu4(unsigned int __a, unsigned int __b) {
|
|
1304
1352
|
unsigned int r;
|
|
1305
|
-
|
|
1353
|
+
__asm__("vset4.u32.u32.lt %0,%1,%2,%3;"
|
|
1354
|
+
: "=r"(r)
|
|
1355
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1306
1356
|
return r;
|
|
1307
1357
|
}
|
|
1308
1358
|
__DEVICE__ unsigned int __vcmpltu4(unsigned int __a, unsigned int __b) {
|
|
@@ -1310,7 +1360,9 @@ __DEVICE__ unsigned int __vcmpltu4(unsigned int __a, unsigned int __b) {
|
|
|
1310
1360
|
}
|
|
1311
1361
|
__DEVICE__ unsigned int __vsetne2(unsigned int __a, unsigned int __b) {
|
|
1312
1362
|
unsigned int r;
|
|
1313
|
-
|
|
1363
|
+
__asm__("vset2.u32.u32.ne %0,%1,%2,%3;"
|
|
1364
|
+
: "=r"(r)
|
|
1365
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1314
1366
|
return r;
|
|
1315
1367
|
}
|
|
1316
1368
|
__DEVICE__ unsigned int __vcmpne2(unsigned int __a, unsigned int __b) {
|
|
@@ -1318,7 +1370,9 @@ __DEVICE__ unsigned int __vcmpne2(unsigned int __a, unsigned int __b) {
|
|
|
1318
1370
|
}
|
|
1319
1371
|
__DEVICE__ unsigned int __vsetne4(unsigned int __a, unsigned int __b) {
|
|
1320
1372
|
unsigned int r;
|
|
1321
|
-
|
|
1373
|
+
__asm__("vset4.u32.u32.ne %0,%1,%2,%3;"
|
|
1374
|
+
: "=r"(r)
|
|
1375
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1322
1376
|
return r;
|
|
1323
1377
|
}
|
|
1324
1378
|
__DEVICE__ unsigned int __vcmpne4(unsigned int __a, unsigned int __b) {
|
|
@@ -1345,94 +1399,112 @@ __DEVICE__ unsigned int __vmaxs2(unsigned int __a, unsigned int __b) {
|
|
|
1345
1399
|
unsigned mask = __vcmpgts2(__a, __b);
|
|
1346
1400
|
r = (__a & mask) | (__b & ~mask);
|
|
1347
1401
|
} else {
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1402
|
+
__asm__("vmax2.s32.s32.s32 %0,%1,%2,%3;"
|
|
1403
|
+
: "=r"(r)
|
|
1404
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1351
1405
|
}
|
|
1352
1406
|
return r;
|
|
1353
1407
|
}
|
|
1354
1408
|
__DEVICE__ unsigned int __vmaxs4(unsigned int __a, unsigned int __b) {
|
|
1355
1409
|
unsigned int r;
|
|
1356
|
-
|
|
1410
|
+
__asm__("vmax4.s32.s32.s32 %0,%1,%2,%3;"
|
|
1411
|
+
: "=r"(r)
|
|
1412
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1357
1413
|
return r;
|
|
1358
1414
|
}
|
|
1359
1415
|
__DEVICE__ unsigned int __vmaxu2(unsigned int __a, unsigned int __b) {
|
|
1360
1416
|
unsigned int r;
|
|
1361
|
-
|
|
1417
|
+
__asm__("vmax2.u32.u32.u32 %0,%1,%2,%3;"
|
|
1418
|
+
: "=r"(r)
|
|
1419
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1362
1420
|
return r;
|
|
1363
1421
|
}
|
|
1364
1422
|
__DEVICE__ unsigned int __vmaxu4(unsigned int __a, unsigned int __b) {
|
|
1365
1423
|
unsigned int r;
|
|
1366
|
-
|
|
1424
|
+
__asm__("vmax4.u32.u32.u32 %0,%1,%2,%3;"
|
|
1425
|
+
: "=r"(r)
|
|
1426
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1367
1427
|
return r;
|
|
1368
1428
|
}
|
|
1369
1429
|
__DEVICE__ unsigned int __vmins2(unsigned int __a, unsigned int __b) {
|
|
1370
1430
|
unsigned int r;
|
|
1371
|
-
|
|
1431
|
+
__asm__("vmin2.s32.s32.s32 %0,%1,%2,%3;"
|
|
1432
|
+
: "=r"(r)
|
|
1433
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1372
1434
|
return r;
|
|
1373
1435
|
}
|
|
1374
1436
|
__DEVICE__ unsigned int __vmins4(unsigned int __a, unsigned int __b) {
|
|
1375
1437
|
unsigned int r;
|
|
1376
|
-
|
|
1438
|
+
__asm__("vmin4.s32.s32.s32 %0,%1,%2,%3;"
|
|
1439
|
+
: "=r"(r)
|
|
1440
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1377
1441
|
return r;
|
|
1378
1442
|
}
|
|
1379
1443
|
__DEVICE__ unsigned int __vminu2(unsigned int __a, unsigned int __b) {
|
|
1380
1444
|
unsigned int r;
|
|
1381
|
-
|
|
1445
|
+
__asm__("vmin2.u32.u32.u32 %0,%1,%2,%3;"
|
|
1446
|
+
: "=r"(r)
|
|
1447
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1382
1448
|
return r;
|
|
1383
1449
|
}
|
|
1384
1450
|
__DEVICE__ unsigned int __vminu4(unsigned int __a, unsigned int __b) {
|
|
1385
1451
|
unsigned int r;
|
|
1386
|
-
|
|
1452
|
+
__asm__("vmin4.u32.u32.u32 %0,%1,%2,%3;"
|
|
1453
|
+
: "=r"(r)
|
|
1454
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1387
1455
|
return r;
|
|
1388
1456
|
}
|
|
1389
1457
|
__DEVICE__ unsigned int __vsads2(unsigned int __a, unsigned int __b) {
|
|
1390
1458
|
unsigned int r;
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1459
|
+
__asm__("vabsdiff2.s32.s32.s32.add %0,%1,%2,%3;"
|
|
1460
|
+
: "=r"(r)
|
|
1461
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1394
1462
|
return r;
|
|
1395
1463
|
}
|
|
1396
1464
|
__DEVICE__ unsigned int __vsads4(unsigned int __a, unsigned int __b) {
|
|
1397
1465
|
unsigned int r;
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1466
|
+
__asm__("vabsdiff4.s32.s32.s32.add %0,%1,%2,%3;"
|
|
1467
|
+
: "=r"(r)
|
|
1468
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1401
1469
|
return r;
|
|
1402
1470
|
}
|
|
1403
1471
|
__DEVICE__ unsigned int __vsadu2(unsigned int __a, unsigned int __b) {
|
|
1404
1472
|
unsigned int r;
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1473
|
+
__asm__("vabsdiff2.u32.u32.u32.add %0,%1,%2,%3;"
|
|
1474
|
+
: "=r"(r)
|
|
1475
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1408
1476
|
return r;
|
|
1409
1477
|
}
|
|
1410
1478
|
__DEVICE__ unsigned int __vsadu4(unsigned int __a, unsigned int __b) {
|
|
1411
1479
|
unsigned int r;
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1480
|
+
__asm__("vabsdiff4.u32.u32.u32.add %0,%1,%2,%3;"
|
|
1481
|
+
: "=r"(r)
|
|
1482
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1415
1483
|
return r;
|
|
1416
1484
|
}
|
|
1417
1485
|
|
|
1418
1486
|
__DEVICE__ unsigned int __vsub2(unsigned int __a, unsigned int __b) {
|
|
1419
1487
|
unsigned int r;
|
|
1420
|
-
|
|
1488
|
+
__asm__("vsub2.u32.u32.u32 %0,%1,%2,%3;"
|
|
1489
|
+
: "=r"(r)
|
|
1490
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1421
1491
|
return r;
|
|
1422
1492
|
}
|
|
1423
1493
|
__DEVICE__ unsigned int __vneg2(unsigned int __a) { return __vsub2(0, __a); }
|
|
1424
1494
|
|
|
1425
1495
|
__DEVICE__ unsigned int __vsub4(unsigned int __a, unsigned int __b) {
|
|
1426
1496
|
unsigned int r;
|
|
1427
|
-
|
|
1497
|
+
__asm__("vsub4.u32.u32.u32 %0,%1,%2,%3;"
|
|
1498
|
+
: "=r"(r)
|
|
1499
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1428
1500
|
return r;
|
|
1429
1501
|
}
|
|
1430
1502
|
__DEVICE__ unsigned int __vneg4(unsigned int __a) { return __vsub4(0, __a); }
|
|
1431
1503
|
__DEVICE__ unsigned int __vsubss2(unsigned int __a, unsigned int __b) {
|
|
1432
1504
|
unsigned int r;
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1505
|
+
__asm__("vsub2.s32.s32.s32.sat %0,%1,%2,%3;"
|
|
1506
|
+
: "=r"(r)
|
|
1507
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1436
1508
|
return r;
|
|
1437
1509
|
}
|
|
1438
1510
|
__DEVICE__ unsigned int __vnegss2(unsigned int __a) {
|
|
@@ -1440,9 +1512,9 @@ __DEVICE__ unsigned int __vnegss2(unsigned int __a) {
|
|
|
1440
1512
|
}
|
|
1441
1513
|
__DEVICE__ unsigned int __vsubss4(unsigned int __a, unsigned int __b) {
|
|
1442
1514
|
unsigned int r;
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1515
|
+
__asm__("vsub4.s32.s32.s32.sat %0,%1,%2,%3;"
|
|
1516
|
+
: "=r"(r)
|
|
1517
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1446
1518
|
return r;
|
|
1447
1519
|
}
|
|
1448
1520
|
__DEVICE__ unsigned int __vnegss4(unsigned int __a) {
|
|
@@ -1450,16 +1522,16 @@ __DEVICE__ unsigned int __vnegss4(unsigned int __a) {
|
|
|
1450
1522
|
}
|
|
1451
1523
|
__DEVICE__ unsigned int __vsubus2(unsigned int __a, unsigned int __b) {
|
|
1452
1524
|
unsigned int r;
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1525
|
+
__asm__("vsub2.u32.u32.u32.sat %0,%1,%2,%3;"
|
|
1526
|
+
: "=r"(r)
|
|
1527
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1456
1528
|
return r;
|
|
1457
1529
|
}
|
|
1458
1530
|
__DEVICE__ unsigned int __vsubus4(unsigned int __a, unsigned int __b) {
|
|
1459
1531
|
unsigned int r;
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1532
|
+
__asm__("vsub4.u32.u32.u32.sat %0,%1,%2,%3;"
|
|
1533
|
+
: "=r"(r)
|
|
1534
|
+
: "r"(__a), "r"(__b), "r"(0));
|
|
1463
1535
|
return r;
|
|
1464
1536
|
}
|
|
1465
1537
|
#endif // CUDA_VERSION >= 9020
|