@cpp-linter/clang-tidy-win32-x64 12.0.1 → 13.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.
Files changed (171) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_device_functions.h +174 -102
  4. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_runtime_wrapper.h +6 -1
  5. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_cmath.h +272 -94
  6. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_libdevice_declares.h +24 -12
  7. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_hip_math.h +48 -2
  8. package/lib/clang/13.0.0/include/__clang_hip_runtime_wrapper.h +124 -0
  9. package/lib/clang/{12.0.1 → 13.0.0}/include/altivec.h +1165 -423
  10. package/lib/clang/{12.0.1 → 13.0.0}/include/amxintrin.h +234 -19
  11. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_acle.h +55 -0
  12. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_neon.h +1077 -165
  13. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_sve.h +11791 -5896
  14. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512fintrin.h +177 -37
  15. package/lib/clang/13.0.0/include/builtins.h +16 -0
  16. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/complex +8 -0
  17. package/lib/clang/13.0.0/include/hexagon_circ_brev_intrinsics.h +298 -0
  18. package/lib/clang/13.0.0/include/hexagon_protos.h +8450 -0
  19. package/lib/clang/13.0.0/include/hexagon_types.h +2653 -0
  20. package/lib/clang/13.0.0/include/hvx_hexagon_protos.h +4392 -0
  21. package/lib/clang/{12.0.1 → 13.0.0}/include/intrin.h +44 -8
  22. package/lib/clang/{12.0.1 → 13.0.0}/include/keylockerintrin.h +30 -0
  23. package/lib/clang/{12.0.1 → 13.0.0}/include/opencl-c-base.h +144 -3
  24. package/lib/clang/{12.0.1 → 13.0.0}/include/opencl-c.h +505 -355
  25. package/lib/clang/13.0.0/include/openmp_wrappers/__clang_openmp_device_functions.h +106 -0
  26. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/cmath +54 -0
  27. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex +1 -7
  28. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex.h +0 -1
  29. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/math.h +10 -0
  30. package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/new +2 -24
  31. package/lib/clang/13.0.0/include/riscv_vector.h +123865 -0
  32. package/lib/clang/{12.0.1 → 13.0.0}/include/uintrintrin.h +7 -0
  33. package/lib/clang/{12.0.1 → 13.0.0}/include/vaesintrin.h +21 -20
  34. package/lib/clang/{12.0.1 → 13.0.0}/include/vecintrin.h +206 -77
  35. package/lib/clang/{12.0.1 → 13.0.0}/include/vpclmulqdqintrin.h +2 -0
  36. package/lib/clang/{12.0.1 → 13.0.0}/include/wasm_simd128.h +806 -239
  37. package/package.json +6 -6
  38. package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +0 -69
  39. package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -42
  40. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
  41. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_cmath.h +0 -0
  42. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_complex_builtins.h +0 -0
  43. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_intrinsics.h +0 -0
  44. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_libdevice_declares.h +0 -0
  45. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_math.h +2 -2
  46. package/lib/clang/{12.0.1 → 13.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
  47. package/lib/clang/{12.0.1 → 13.0.0}/include/__stddef_max_align_t.h +0 -0
  48. package/lib/clang/{12.0.1 → 13.0.0}/include/__wmmintrin_aes.h +0 -0
  49. package/lib/clang/{12.0.1 → 13.0.0}/include/__wmmintrin_pclmul.h +0 -0
  50. package/lib/clang/{12.0.1 → 13.0.0}/include/adxintrin.h +0 -0
  51. package/lib/clang/{12.0.1 → 13.0.0}/include/ammintrin.h +0 -0
  52. package/lib/clang/{12.0.1 → 13.0.0}/include/arm64intr.h +0 -0
  53. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_bf16.h +0 -0
  54. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_cde.h +0 -0
  55. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_cmse.h +0 -0
  56. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_fp16.h +0 -0
  57. package/lib/clang/{12.0.1 → 13.0.0}/include/arm_mve.h +0 -0
  58. package/lib/clang/{12.0.1 → 13.0.0}/include/armintr.h +0 -0
  59. package/lib/clang/{12.0.1 → 13.0.0}/include/avx2intrin.h +0 -0
  60. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bf16intrin.h +0 -0
  61. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bitalgintrin.h +0 -0
  62. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512bwintrin.h +0 -0
  63. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512cdintrin.h +0 -0
  64. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512dqintrin.h +0 -0
  65. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512erintrin.h +0 -0
  66. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512ifmaintrin.h +0 -0
  67. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512ifmavlintrin.h +0 -0
  68. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512pfintrin.h +0 -0
  69. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmi2intrin.h +0 -0
  70. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmiintrin.h +0 -0
  71. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vbmivlintrin.h +0 -0
  72. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbf16intrin.h +0 -0
  73. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbitalgintrin.h +0 -0
  74. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlbwintrin.h +0 -0
  75. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlcdintrin.h +0 -0
  76. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vldqintrin.h +0 -0
  77. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlintrin.h +0 -0
  78. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvbmi2intrin.h +0 -0
  79. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvnniintrin.h +0 -0
  80. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
  81. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vnniintrin.h +0 -0
  82. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vp2intersectintrin.h +0 -0
  83. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vpopcntdqintrin.h +0 -0
  84. package/lib/clang/{12.0.1 → 13.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
  85. package/lib/clang/{12.0.1 → 13.0.0}/include/avxintrin.h +0 -0
  86. package/lib/clang/{12.0.1 → 13.0.0}/include/avxvnniintrin.h +0 -0
  87. package/lib/clang/{12.0.1 → 13.0.0}/include/bmi2intrin.h +0 -0
  88. package/lib/clang/{12.0.1 → 13.0.0}/include/bmiintrin.h +0 -0
  89. package/lib/clang/{12.0.1 → 13.0.0}/include/cet.h +0 -0
  90. package/lib/clang/{12.0.1 → 13.0.0}/include/cetintrin.h +0 -0
  91. package/lib/clang/{12.0.1 → 13.0.0}/include/cldemoteintrin.h +0 -0
  92. package/lib/clang/{12.0.1 → 13.0.0}/include/clflushoptintrin.h +0 -0
  93. package/lib/clang/{12.0.1 → 13.0.0}/include/clwbintrin.h +0 -0
  94. package/lib/clang/{12.0.1 → 13.0.0}/include/clzerointrin.h +0 -0
  95. package/lib/clang/{12.0.1 → 13.0.0}/include/cpuid.h +0 -0
  96. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/algorithm +0 -0
  97. package/lib/clang/{12.0.1 → 13.0.0}/include/cuda_wrappers/new +0 -0
  98. package/lib/clang/{12.0.1 → 13.0.0}/include/emmintrin.h +0 -0
  99. package/lib/clang/{12.0.1 → 13.0.0}/include/enqcmdintrin.h +0 -0
  100. package/lib/clang/{12.0.1 → 13.0.0}/include/f16cintrin.h +0 -0
  101. package/lib/clang/{12.0.1 → 13.0.0}/include/float.h +0 -0
  102. package/lib/clang/{12.0.1 → 13.0.0}/include/fma4intrin.h +0 -0
  103. package/lib/clang/{12.0.1 → 13.0.0}/include/fmaintrin.h +0 -0
  104. package/lib/clang/{12.0.1 → 13.0.0}/include/fxsrintrin.h +0 -0
  105. package/lib/clang/{12.0.1 → 13.0.0}/include/gfniintrin.h +0 -0
  106. package/lib/clang/{12.0.1 → 13.0.0}/include/hresetintrin.h +0 -0
  107. package/lib/clang/{12.0.1 → 13.0.0}/include/htmintrin.h +0 -0
  108. package/lib/clang/{12.0.1 → 13.0.0}/include/htmxlintrin.h +0 -0
  109. package/lib/clang/{12.0.1 → 13.0.0}/include/ia32intrin.h +0 -0
  110. package/lib/clang/{12.0.1 → 13.0.0}/include/immintrin.h +5 -5
  111. /package/lib/clang/{12.0.1 → 13.0.0}/include/inttypes.h +0 -0
  112. /package/lib/clang/{12.0.1 → 13.0.0}/include/invpcidintrin.h +0 -0
  113. /package/lib/clang/{12.0.1 → 13.0.0}/include/iso646.h +0 -0
  114. /package/lib/clang/{12.0.1 → 13.0.0}/include/limits.h +0 -0
  115. /package/lib/clang/{12.0.1 → 13.0.0}/include/lwpintrin.h +0 -0
  116. /package/lib/clang/{12.0.1 → 13.0.0}/include/lzcntintrin.h +0 -0
  117. /package/lib/clang/{12.0.1 → 13.0.0}/include/mm3dnow.h +0 -0
  118. /package/lib/clang/{12.0.1 → 13.0.0}/include/mm_malloc.h +0 -0
  119. /package/lib/clang/{12.0.1 → 13.0.0}/include/mmintrin.h +0 -0
  120. /package/lib/clang/{12.0.1 → 13.0.0}/include/module.modulemap +0 -0
  121. /package/lib/clang/{12.0.1 → 13.0.0}/include/movdirintrin.h +0 -0
  122. /package/lib/clang/{12.0.1 → 13.0.0}/include/msa.h +0 -0
  123. /package/lib/clang/{12.0.1 → 13.0.0}/include/mwaitxintrin.h +0 -0
  124. /package/lib/clang/{12.0.1 → 13.0.0}/include/nmmintrin.h +0 -0
  125. /package/lib/clang/{12.0.1 → 13.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
  126. /package/lib/clang/{12.0.1 → 13.0.0}/include/pconfigintrin.h +0 -0
  127. /package/lib/clang/{12.0.1 → 13.0.0}/include/pkuintrin.h +0 -0
  128. /package/lib/clang/{12.0.1 → 13.0.0}/include/pmmintrin.h +0 -0
  129. /package/lib/clang/{12.0.1 → 13.0.0}/include/popcntintrin.h +0 -0
  130. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/emmintrin.h +0 -0
  131. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/mm_malloc.h +0 -0
  132. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/mmintrin.h +0 -0
  133. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/pmmintrin.h +0 -0
  134. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/smmintrin.h +0 -0
  135. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/tmmintrin.h +0 -0
  136. /package/lib/clang/{12.0.1 → 13.0.0}/include/ppc_wrappers/xmmintrin.h +0 -0
  137. /package/lib/clang/{12.0.1 → 13.0.0}/include/prfchwintrin.h +0 -0
  138. /package/lib/clang/{12.0.1 → 13.0.0}/include/ptwriteintrin.h +0 -0
  139. /package/lib/clang/{12.0.1 → 13.0.0}/include/rdseedintrin.h +0 -0
  140. /package/lib/clang/{12.0.1 → 13.0.0}/include/rtmintrin.h +0 -0
  141. /package/lib/clang/{12.0.1 → 13.0.0}/include/s390intrin.h +0 -0
  142. /package/lib/clang/{12.0.1 → 13.0.0}/include/serializeintrin.h +0 -0
  143. /package/lib/clang/{12.0.1 → 13.0.0}/include/sgxintrin.h +0 -0
  144. /package/lib/clang/{12.0.1 → 13.0.0}/include/shaintrin.h +0 -0
  145. /package/lib/clang/{12.0.1 → 13.0.0}/include/smmintrin.h +0 -0
  146. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdalign.h +0 -0
  147. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdarg.h +0 -0
  148. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdatomic.h +0 -0
  149. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdbool.h +0 -0
  150. /package/lib/clang/{12.0.1 → 13.0.0}/include/stddef.h +0 -0
  151. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdint.h +0 -0
  152. /package/lib/clang/{12.0.1 → 13.0.0}/include/stdnoreturn.h +0 -0
  153. /package/lib/clang/{12.0.1 → 13.0.0}/include/tbmintrin.h +0 -0
  154. /package/lib/clang/{12.0.1 → 13.0.0}/include/tgmath.h +0 -0
  155. /package/lib/clang/{12.0.1 → 13.0.0}/include/tmmintrin.h +0 -0
  156. /package/lib/clang/{12.0.1 → 13.0.0}/include/tsxldtrkintrin.h +0 -0
  157. /package/lib/clang/{12.0.1 → 13.0.0}/include/unwind.h +0 -0
  158. /package/lib/clang/{12.0.1 → 13.0.0}/include/vadefs.h +0 -0
  159. /package/lib/clang/{12.0.1 → 13.0.0}/include/varargs.h +0 -0
  160. /package/lib/clang/{12.0.1 → 13.0.0}/include/waitpkgintrin.h +0 -0
  161. /package/lib/clang/{12.0.1 → 13.0.0}/include/wbnoinvdintrin.h +0 -0
  162. /package/lib/clang/{12.0.1 → 13.0.0}/include/wmmintrin.h +0 -0
  163. /package/lib/clang/{12.0.1 → 13.0.0}/include/x86gprintrin.h +0 -0
  164. /package/lib/clang/{12.0.1 → 13.0.0}/include/x86intrin.h +0 -0
  165. /package/lib/clang/{12.0.1 → 13.0.0}/include/xmmintrin.h +0 -0
  166. /package/lib/clang/{12.0.1 → 13.0.0}/include/xopintrin.h +0 -0
  167. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsavecintrin.h +0 -0
  168. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsaveintrin.h +0 -0
  169. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsaveoptintrin.h +0 -0
  170. /package/lib/clang/{12.0.1 → 13.0.0}/include/xsavesintrin.h +0 -0
  171. /package/lib/clang/{12.0.1 → 13.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 12.0.1, for [`@cpp-linter/clang-tidy`](https://www.npmjs.com/package/@cpp-linter/clang-tidy).
3
+ The Windows x64 binary of clang-tidy from LLVM 13.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-12.0.1-2`](https://github.com/cpp-linter/clang-tools-static-binaries/releases/tag/llvm-12.0.1-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`).
7
+ The binary is a static build from the release [`llvm-13.0.0-2`](https://github.com/cpp-linter/clang-tools-static-binaries/releases/tag/llvm-13.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`).
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/bin/clang-tidy.exe
3
- size: 40638976 bytes
4
- sha256: 79cd2898b7079c6791a567aac8447c77a2d871924d54cd0cac526d2ee3871ad2
3
+ size: 45085696 bytes
4
+ sha256: f7911e0d449b17f9d8c3bc2dec33f015775dd99d25c87056acd210e7830e70eb
@@ -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() { asm volatile("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) { asm volatile("brkpt;"); }
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) asm __volatile__("pmevent \t%0;" ::"i"(__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) { asm volatile("trap;"); }
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
- asm("vabsdiff2.s32.s32.s32 %0,%1,%2,%3;"
1055
- : "=r"(r)
1056
- : "r"(__a), "r"(0), "r"(0));
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
- asm("vabsdiff4.s32.s32.s32 %0,%1,%2,%3;"
1062
- : "=r"(r)
1063
- : "r"(__a), "r"(0), "r"(0));
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
- asm("vabsdiff2.s32.s32.s32 %0,%1,%2,%3;"
1069
- : "=r"(r)
1070
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vabsdiff4.s32.s32.s32 %0,%1,%2,%3;"
1077
- : "=r"(r)
1078
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vabsdiff2.u32.u32.u32 %0,%1,%2,%3;"
1084
- : "=r"(r)
1085
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vabsdiff4.u32.u32.u32 %0,%1,%2,%3;"
1091
- : "=r"(r)
1092
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vabsdiff2.s32.s32.s32.sat %0,%1,%2,%3;"
1098
- : "=r"(r)
1099
- : "r"(__a), "r"(0), "r"(0));
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
- asm("vabsdiff4.s32.s32.s32.sat %0,%1,%2,%3;"
1105
- : "=r"(r)
1106
- : "r"(__a), "r"(0), "r"(0));
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
- asm("vadd2.u32.u32.u32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vadd4.u32.u32.u32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vadd2.s32.s32.s32.sat %0,%1,%2,%3;"
1122
- : "=r"(r)
1123
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vadd4.s32.s32.s32.sat %0,%1,%2,%3;"
1129
- : "=r"(r)
1130
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vadd2.u32.u32.u32.sat %0,%1,%2,%3;"
1136
- : "=r"(r)
1137
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vadd4.u32.u32.u32.sat %0,%1,%2,%3;"
1143
- : "=r"(r)
1144
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vavrg2.s32.s32.s32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vavrg4.s32.s32.s32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vavrg2.u32.u32.u32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vavrg4.u32.u32.u32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset2.u32.u32.eq %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset4.u32.u32.eq %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset2.s32.s32.ge %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset4.s32.s32.ge %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset2.u32.u32.ge %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset4.u32.u32.ge %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset2.s32.s32.gt %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset4.s32.s32.gt %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset2.u32.u32.gt %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset4.u32.u32.gt %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset2.s32.s32.le %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset4.s32.s32.le %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset2.u32.u32.le %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset4.u32.u32.le %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset2.s32.s32.lt %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset4.s32.s32.lt %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset2.u32.u32.lt %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset4.u32.u32.lt %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset2.u32.u32.ne %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vset4.u32.u32.ne %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vmax2.s32.s32.s32 %0,%1,%2,%3;"
1349
- : "=r"(r)
1350
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vmax4.s32.s32.s32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vmax2.u32.u32.u32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vmax4.u32.u32.u32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vmin2.s32.s32.s32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vmin4.s32.s32.s32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vmin2.u32.u32.u32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vmin4.u32.u32.u32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vabsdiff2.s32.s32.s32.add %0,%1,%2,%3;"
1392
- : "=r"(r)
1393
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vabsdiff4.s32.s32.s32.add %0,%1,%2,%3;"
1399
- : "=r"(r)
1400
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vabsdiff2.u32.u32.u32.add %0,%1,%2,%3;"
1406
- : "=r"(r)
1407
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vabsdiff4.u32.u32.u32.add %0,%1,%2,%3;"
1413
- : "=r"(r)
1414
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vsub2.u32.u32.u32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vsub4.u32.u32.u32 %0,%1,%2,%3;" : "=r"(r) : "r"(__a), "r"(__b), "r"(0));
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
- asm("vsub2.s32.s32.s32.sat %0,%1,%2,%3;"
1434
- : "=r"(r)
1435
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vsub4.s32.s32.s32.sat %0,%1,%2,%3;"
1444
- : "=r"(r)
1445
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vsub2.u32.u32.u32.sat %0,%1,%2,%3;"
1454
- : "=r"(r)
1455
- : "r"(__a), "r"(__b), "r"(0));
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
- asm("vsub4.u32.u32.u32.sat %0,%1,%2,%3;"
1461
- : "=r"(r)
1462
- : "r"(__a), "r"(__b), "r"(0));
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
@@ -349,9 +349,14 @@ extern "C" {
349
349
  __device__ int vprintf(const char *, const char *);
350
350
  __device__ void free(void *) __attribute((nothrow));
351
351
  __device__ void *malloc(size_t) __attribute((nothrow)) __attribute__((malloc));
352
+
353
+ // __assertfail() used to have a `noreturn` attribute. Unfortunately that
354
+ // contributed to triggering the longstanding bug in ptxas when assert was used
355
+ // in sufficiently convoluted code. See
356
+ // https://bugs.llvm.org/show_bug.cgi?id=27738 for the details.
352
357
  __device__ void __assertfail(const char *__message, const char *__file,
353
358
  unsigned __line, const char *__function,
354
- size_t __charSize) __attribute__((noreturn));
359
+ size_t __charSize);
355
360
 
356
361
  // In order for standard assert() macro on linux to work we need to
357
362
  // provide device-side __assert_fail()