@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.
Files changed (178) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_complex_builtins.h +3 -3
  4. package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_device_functions.h +174 -102
  5. package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_intrinsics.h +32 -0
  6. package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_libdevice_declares.h +6 -0
  7. package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_math.h +3 -3
  8. package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_runtime_wrapper.h +68 -8
  9. package/lib/clang/14.0.0/include/__clang_cuda_texture_intrinsics.h +740 -0
  10. package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_hip_cmath.h +272 -94
  11. package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_hip_libdevice_declares.h +24 -12
  12. package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_hip_math.h +48 -2
  13. package/lib/clang/14.0.0/include/__clang_hip_runtime_wrapper.h +137 -0
  14. package/lib/clang/{12.0.1 → 14.0.0}/include/__wmmintrin_aes.h +1 -1
  15. package/lib/clang/{12.0.1 → 14.0.0}/include/altivec.h +1348 -496
  16. package/lib/clang/{12.0.1 → 14.0.0}/include/ammintrin.h +4 -0
  17. package/lib/clang/14.0.0/include/amxintrin.h +494 -0
  18. package/lib/clang/{12.0.1 → 14.0.0}/include/arm_acle.h +61 -0
  19. package/lib/clang/{12.0.1 → 14.0.0}/include/arm_neon.h +5544 -4634
  20. package/lib/clang/14.0.0/include/arm_neon_sve_bridge.h +184 -0
  21. package/lib/clang/{12.0.1 → 14.0.0}/include/arm_sve.h +11791 -5896
  22. package/lib/clang/{12.0.1 → 14.0.0}/include/avx2intrin.h +181 -181
  23. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512bf16intrin.h +3 -3
  24. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512bwintrin.h +71 -71
  25. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512dqintrin.h +365 -365
  26. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512erintrin.h +102 -102
  27. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512fintrin.h +1750 -1606
  28. package/lib/clang/14.0.0/include/avx512fp16intrin.h +3349 -0
  29. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vbmi2intrin.h +48 -48
  30. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlbf16intrin.h +51 -3
  31. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlbwintrin.h +94 -94
  32. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vldqintrin.h +134 -134
  33. package/lib/clang/14.0.0/include/avx512vlfp16intrin.h +2068 -0
  34. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlintrin.h +563 -563
  35. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlvbmi2intrin.h +96 -96
  36. package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlvnniintrin.h +8 -8
  37. package/lib/clang/{12.0.1 → 14.0.0}/include/avxintrin.h +189 -192
  38. package/lib/clang/14.0.0/include/builtins.h +16 -0
  39. package/lib/clang/{12.0.1 → 14.0.0}/include/cetintrin.h +10 -0
  40. package/lib/clang/{12.0.1 → 14.0.0}/include/cpuid.h +2 -1
  41. package/lib/clang/14.0.0/include/crc32intrin.h +100 -0
  42. package/lib/clang/{12.0.1 → 14.0.0}/include/cuda_wrappers/complex +8 -0
  43. package/lib/clang/{12.0.1 → 14.0.0}/include/emmintrin.h +21 -17
  44. package/lib/clang/{12.0.1 → 14.0.0}/include/f16cintrin.h +4 -4
  45. package/lib/clang/{12.0.1 → 14.0.0}/include/float.h +15 -6
  46. package/lib/clang/{12.0.1 → 14.0.0}/include/gfniintrin.h +47 -48
  47. package/lib/clang/14.0.0/include/hexagon_circ_brev_intrinsics.h +298 -0
  48. package/lib/clang/14.0.0/include/hexagon_protos.h +8439 -0
  49. package/lib/clang/14.0.0/include/hexagon_types.h +2621 -0
  50. package/lib/clang/14.0.0/include/hvx_hexagon_protos.h +5183 -0
  51. package/lib/clang/{12.0.1 → 14.0.0}/include/ia32intrin.h +6 -6
  52. package/lib/clang/{12.0.1 → 14.0.0}/include/immintrin.h +31 -13
  53. package/lib/clang/{12.0.1 → 14.0.0}/include/intrin.h +63 -19
  54. package/lib/clang/{12.0.1 → 14.0.0}/include/keylockerintrin.h +32 -8
  55. package/lib/clang/{12.0.1 → 14.0.0}/include/limits.h +20 -0
  56. package/lib/clang/{12.0.1 → 14.0.0}/include/mmintrin.h +4 -0
  57. package/lib/clang/{12.0.1 → 14.0.0}/include/nmmintrin.h +4 -0
  58. package/lib/clang/{12.0.1 → 14.0.0}/include/opencl-c-base.h +206 -7
  59. package/lib/clang/{12.0.1 → 14.0.0}/include/opencl-c.h +2187 -797
  60. package/lib/clang/14.0.0/include/openmp_wrappers/__clang_openmp_device_functions.h +106 -0
  61. package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/cmath +54 -0
  62. package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/complex +11 -8
  63. package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/complex.h +9 -1
  64. package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/math.h +10 -0
  65. package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/new +2 -24
  66. package/lib/clang/{12.0.1 → 14.0.0}/include/pmmintrin.h +4 -0
  67. package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/emmintrin.h +3 -2
  68. package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/mm_malloc.h +2 -2
  69. package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/mmintrin.h +3 -2
  70. package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/pmmintrin.h +3 -2
  71. package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/smmintrin.h +4 -3
  72. package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/tmmintrin.h +3 -2
  73. package/lib/clang/{12.0.1 → 14.0.0}/include/ppc_wrappers/xmmintrin.h +3 -2
  74. package/lib/clang/{12.0.1 → 14.0.0}/include/prfchwintrin.h +5 -2
  75. package/lib/clang/14.0.0/include/riscv_vector.h +95423 -0
  76. package/lib/clang/{12.0.1 → 14.0.0}/include/smmintrin.h +80 -159
  77. package/lib/clang/{12.0.1 → 14.0.0}/include/stdatomic.h +14 -1
  78. package/lib/clang/{12.0.1 → 14.0.0}/include/stdint.h +168 -0
  79. package/lib/clang/{12.0.1 → 14.0.0}/include/tmmintrin.h +10 -6
  80. package/lib/clang/{12.0.1 → 14.0.0}/include/uintrintrin.h +7 -0
  81. package/lib/clang/{12.0.1 → 14.0.0}/include/unwind.h +2 -1
  82. package/lib/clang/{12.0.1 → 14.0.0}/include/vaesintrin.h +22 -21
  83. package/lib/clang/{12.0.1 → 14.0.0}/include/vecintrin.h +206 -77
  84. package/lib/clang/{12.0.1 → 14.0.0}/include/vpclmulqdqintrin.h +8 -6
  85. package/lib/clang/14.0.0/include/wasm_simd128.h +1877 -0
  86. package/lib/clang/{12.0.1 → 14.0.0}/include/wmmintrin.h +4 -0
  87. package/lib/clang/{12.0.1 → 14.0.0}/include/x86gprintrin.h +12 -0
  88. package/lib/clang/{12.0.1 → 14.0.0}/include/xmmintrin.h +9 -5
  89. package/lib/clang/{12.0.1 → 14.0.0}/include/xopintrin.h +31 -31
  90. package/package.json +6 -6
  91. package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +0 -69
  92. package/lib/clang/12.0.1/include/amxintrin.h +0 -278
  93. package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -42
  94. package/lib/clang/12.0.1/include/wasm_simd128.h +0 -1167
  95. /package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_builtin_vars.h +0 -0
  96. /package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_cmath.h +0 -0
  97. /package/lib/clang/{12.0.1 → 14.0.0}/include/__clang_cuda_math_forward_declares.h +0 -0
  98. /package/lib/clang/{12.0.1 → 14.0.0}/include/__stddef_max_align_t.h +0 -0
  99. /package/lib/clang/{12.0.1 → 14.0.0}/include/__wmmintrin_pclmul.h +0 -0
  100. /package/lib/clang/{12.0.1 → 14.0.0}/include/adxintrin.h +0 -0
  101. /package/lib/clang/{12.0.1 → 14.0.0}/include/arm64intr.h +0 -0
  102. /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_bf16.h +0 -0
  103. /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_cde.h +0 -0
  104. /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_cmse.h +0 -0
  105. /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_fp16.h +0 -0
  106. /package/lib/clang/{12.0.1 → 14.0.0}/include/arm_mve.h +0 -0
  107. /package/lib/clang/{12.0.1 → 14.0.0}/include/armintr.h +0 -0
  108. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512bitalgintrin.h +0 -0
  109. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512cdintrin.h +0 -0
  110. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512ifmaintrin.h +0 -0
  111. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512ifmavlintrin.h +0 -0
  112. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512pfintrin.h +0 -0
  113. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vbmiintrin.h +0 -0
  114. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vbmivlintrin.h +0 -0
  115. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlbitalgintrin.h +0 -0
  116. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlcdintrin.h +0 -0
  117. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vlvp2intersectintrin.h +0 -0
  118. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vnniintrin.h +0 -0
  119. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vp2intersectintrin.h +0 -0
  120. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vpopcntdqintrin.h +0 -0
  121. /package/lib/clang/{12.0.1 → 14.0.0}/include/avx512vpopcntdqvlintrin.h +0 -0
  122. /package/lib/clang/{12.0.1 → 14.0.0}/include/avxvnniintrin.h +0 -0
  123. /package/lib/clang/{12.0.1 → 14.0.0}/include/bmi2intrin.h +0 -0
  124. /package/lib/clang/{12.0.1 → 14.0.0}/include/bmiintrin.h +0 -0
  125. /package/lib/clang/{12.0.1 → 14.0.0}/include/cet.h +0 -0
  126. /package/lib/clang/{12.0.1 → 14.0.0}/include/cldemoteintrin.h +0 -0
  127. /package/lib/clang/{12.0.1 → 14.0.0}/include/clflushoptintrin.h +0 -0
  128. /package/lib/clang/{12.0.1 → 14.0.0}/include/clwbintrin.h +0 -0
  129. /package/lib/clang/{12.0.1 → 14.0.0}/include/clzerointrin.h +0 -0
  130. /package/lib/clang/{12.0.1 → 14.0.0}/include/cuda_wrappers/algorithm +0 -0
  131. /package/lib/clang/{12.0.1 → 14.0.0}/include/cuda_wrappers/new +0 -0
  132. /package/lib/clang/{12.0.1 → 14.0.0}/include/enqcmdintrin.h +0 -0
  133. /package/lib/clang/{12.0.1 → 14.0.0}/include/fma4intrin.h +0 -0
  134. /package/lib/clang/{12.0.1 → 14.0.0}/include/fmaintrin.h +0 -0
  135. /package/lib/clang/{12.0.1 → 14.0.0}/include/fxsrintrin.h +0 -0
  136. /package/lib/clang/{12.0.1 → 14.0.0}/include/hresetintrin.h +0 -0
  137. /package/lib/clang/{12.0.1 → 14.0.0}/include/htmintrin.h +0 -0
  138. /package/lib/clang/{12.0.1 → 14.0.0}/include/htmxlintrin.h +0 -0
  139. /package/lib/clang/{12.0.1 → 14.0.0}/include/inttypes.h +0 -0
  140. /package/lib/clang/{12.0.1 → 14.0.0}/include/invpcidintrin.h +0 -0
  141. /package/lib/clang/{12.0.1 → 14.0.0}/include/iso646.h +0 -0
  142. /package/lib/clang/{12.0.1 → 14.0.0}/include/lwpintrin.h +0 -0
  143. /package/lib/clang/{12.0.1 → 14.0.0}/include/lzcntintrin.h +0 -0
  144. /package/lib/clang/{12.0.1 → 14.0.0}/include/mm3dnow.h +0 -0
  145. /package/lib/clang/{12.0.1 → 14.0.0}/include/mm_malloc.h +0 -0
  146. /package/lib/clang/{12.0.1 → 14.0.0}/include/module.modulemap +0 -0
  147. /package/lib/clang/{12.0.1 → 14.0.0}/include/movdirintrin.h +0 -0
  148. /package/lib/clang/{12.0.1 → 14.0.0}/include/msa.h +0 -0
  149. /package/lib/clang/{12.0.1 → 14.0.0}/include/mwaitxintrin.h +0 -0
  150. /package/lib/clang/{12.0.1 → 14.0.0}/include/openmp_wrappers/complex_cmath.h +0 -0
  151. /package/lib/clang/{12.0.1 → 14.0.0}/include/pconfigintrin.h +0 -0
  152. /package/lib/clang/{12.0.1 → 14.0.0}/include/pkuintrin.h +0 -0
  153. /package/lib/clang/{12.0.1 → 14.0.0}/include/popcntintrin.h +0 -0
  154. /package/lib/clang/{12.0.1 → 14.0.0}/include/ptwriteintrin.h +0 -0
  155. /package/lib/clang/{12.0.1 → 14.0.0}/include/rdseedintrin.h +0 -0
  156. /package/lib/clang/{12.0.1 → 14.0.0}/include/rtmintrin.h +0 -0
  157. /package/lib/clang/{12.0.1 → 14.0.0}/include/s390intrin.h +0 -0
  158. /package/lib/clang/{12.0.1 → 14.0.0}/include/serializeintrin.h +0 -0
  159. /package/lib/clang/{12.0.1 → 14.0.0}/include/sgxintrin.h +0 -0
  160. /package/lib/clang/{12.0.1 → 14.0.0}/include/shaintrin.h +0 -0
  161. /package/lib/clang/{12.0.1 → 14.0.0}/include/stdalign.h +0 -0
  162. /package/lib/clang/{12.0.1 → 14.0.0}/include/stdarg.h +0 -0
  163. /package/lib/clang/{12.0.1 → 14.0.0}/include/stdbool.h +0 -0
  164. /package/lib/clang/{12.0.1 → 14.0.0}/include/stddef.h +0 -0
  165. /package/lib/clang/{12.0.1 → 14.0.0}/include/stdnoreturn.h +0 -0
  166. /package/lib/clang/{12.0.1 → 14.0.0}/include/tbmintrin.h +0 -0
  167. /package/lib/clang/{12.0.1 → 14.0.0}/include/tgmath.h +0 -0
  168. /package/lib/clang/{12.0.1 → 14.0.0}/include/tsxldtrkintrin.h +0 -0
  169. /package/lib/clang/{12.0.1 → 14.0.0}/include/vadefs.h +0 -0
  170. /package/lib/clang/{12.0.1 → 14.0.0}/include/varargs.h +0 -0
  171. /package/lib/clang/{12.0.1 → 14.0.0}/include/waitpkgintrin.h +0 -0
  172. /package/lib/clang/{12.0.1 → 14.0.0}/include/wbnoinvdintrin.h +0 -0
  173. /package/lib/clang/{12.0.1 → 14.0.0}/include/x86intrin.h +0 -0
  174. /package/lib/clang/{12.0.1 → 14.0.0}/include/xsavecintrin.h +0 -0
  175. /package/lib/clang/{12.0.1 → 14.0.0}/include/xsaveintrin.h +0 -0
  176. /package/lib/clang/{12.0.1 → 14.0.0}/include/xsaveoptintrin.h +0 -0
  177. /package/lib/clang/{12.0.1 → 14.0.0}/include/xsavesintrin.h +0 -0
  178. /package/lib/clang/{12.0.1 → 14.0.0}/include/xtestintrin.h +0 -0
@@ -12,8 +12,8 @@
12
12
  // Define extension macros
13
13
 
14
14
  #if (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
15
- // For SPIR all extensions are supported.
16
- #if defined(__SPIR__)
15
+ // For SPIR and SPIR-V all extensions are supported.
16
+ #if defined(__SPIR__) || defined(__SPIRV__)
17
17
  #define cl_khr_subgroup_extended_types 1
18
18
  #define cl_khr_subgroup_non_uniform_vote 1
19
19
  #define cl_khr_subgroup_ballot 1
@@ -21,9 +21,65 @@
21
21
  #define cl_khr_subgroup_shuffle 1
22
22
  #define cl_khr_subgroup_shuffle_relative 1
23
23
  #define cl_khr_subgroup_clustered_reduce 1
24
- #endif // defined(__SPIR__)
24
+ #define cl_khr_extended_bit_ops 1
25
+ #define cl_khr_integer_dot_product 1
26
+ #define __opencl_c_integer_dot_product_input_4x8bit 1
27
+ #define __opencl_c_integer_dot_product_input_4x8bit_packed 1
28
+ #define cl_ext_float_atomics 1
29
+ #ifdef cl_khr_fp16
30
+ #define __opencl_c_ext_fp16_global_atomic_load_store 1
31
+ #define __opencl_c_ext_fp16_local_atomic_load_store 1
32
+ #define __opencl_c_ext_fp16_global_atomic_add 1
33
+ #define __opencl_c_ext_fp16_local_atomic_add 1
34
+ #define __opencl_c_ext_fp16_global_atomic_min_max 1
35
+ #define __opencl_c_ext_fp16_local_atomic_min_max 1
36
+ #endif
37
+ #ifdef cl_khr_fp64
38
+ #define __opencl_c_ext_fp64_global_atomic_add 1
39
+ #define __opencl_c_ext_fp64_local_atomic_add 1
40
+ #define __opencl_c_ext_fp64_global_atomic_min_max 1
41
+ #define __opencl_c_ext_fp64_local_atomic_min_max 1
42
+ #endif
43
+ #define __opencl_c_ext_fp32_global_atomic_add 1
44
+ #define __opencl_c_ext_fp32_local_atomic_add 1
45
+ #define __opencl_c_ext_fp32_global_atomic_min_max 1
46
+ #define __opencl_c_ext_fp32_local_atomic_min_max 1
47
+
48
+ #endif // defined(__SPIR__) || defined(__SPIRV__)
25
49
  #endif // (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
26
50
 
51
+ // Define feature macros for OpenCL C 2.0
52
+ #if (__OPENCL_CPP_VERSION__ == 100 || __OPENCL_C_VERSION__ == 200)
53
+ #define __opencl_c_pipes 1
54
+ #define __opencl_c_generic_address_space 1
55
+ #define __opencl_c_work_group_collective_functions 1
56
+ #define __opencl_c_atomic_order_acq_rel 1
57
+ #define __opencl_c_atomic_order_seq_cst 1
58
+ #define __opencl_c_atomic_scope_device 1
59
+ #define __opencl_c_atomic_scope_all_devices 1
60
+ #define __opencl_c_device_enqueue 1
61
+ #define __opencl_c_read_write_images 1
62
+ #define __opencl_c_program_scope_global_variables 1
63
+ #define __opencl_c_images 1
64
+ #endif
65
+
66
+ // Define header-only feature macros for OpenCL C 3.0.
67
+ #if (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300)
68
+ // For the SPIR and SPIR-V target all features are supported.
69
+ #if defined(__SPIR__) || defined(__SPIRV__)
70
+ #define __opencl_c_atomic_order_seq_cst 1
71
+ #define __opencl_c_atomic_scope_device 1
72
+ #define __opencl_c_atomic_scope_all_devices 1
73
+ #define __opencl_c_read_write_images 1
74
+ #endif // defined(__SPIR__)
75
+ #endif // (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300)
76
+
77
+ #if !defined(__opencl_c_generic_address_space)
78
+ // Internal feature macro to provide named (global, local, private) address
79
+ // space overloads for builtin functions that take a pointer argument.
80
+ #define __opencl_c_named_address_space_builtins 1
81
+ #endif // !defined(__opencl_c_generic_address_space)
82
+
27
83
  // built-in scalar data types:
28
84
 
29
85
  /**
@@ -141,7 +197,9 @@ typedef double double8 __attribute__((ext_vector_type(8)));
141
197
  typedef double double16 __attribute__((ext_vector_type(16)));
142
198
  #endif
143
199
 
144
- #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
200
+ #if defined(__OPENCL_CPP_VERSION__)
201
+ #define NULL nullptr
202
+ #elif defined(__OPENCL_C_VERSION__)
145
203
  #define NULL ((void*)0)
146
204
  #endif
147
205
 
@@ -297,8 +355,19 @@ typedef enum memory_scope {
297
355
  memory_scope_work_item = __OPENCL_MEMORY_SCOPE_WORK_ITEM,
298
356
  memory_scope_work_group = __OPENCL_MEMORY_SCOPE_WORK_GROUP,
299
357
  memory_scope_device = __OPENCL_MEMORY_SCOPE_DEVICE,
358
+ #if defined(__opencl_c_atomic_scope_all_devices)
300
359
  memory_scope_all_svm_devices = __OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES,
301
- #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups)
360
+ #if (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
361
+ memory_scope_all_devices = memory_scope_all_svm_devices,
362
+ #endif // (__OPENCL_C_VERSION__ >= CL_VERSION_3_0 || __OPENCL_CPP_VERSION__ >= 202100)
363
+ #endif // defined(__opencl_c_atomic_scope_all_devices)
364
+ /**
365
+ * Subgroups have different requirements on forward progress, so just test
366
+ * all the relevant macros.
367
+ * CL 3.0 sub-groups "they are not guaranteed to make independent forward progress"
368
+ * KHR subgroups "Subgroups within a workgroup are independent, make forward progress with respect to each other"
369
+ */
370
+ #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups) || defined(__opencl_c_subgroups)
302
371
  memory_scope_sub_group = __OPENCL_MEMORY_SCOPE_SUB_GROUP
303
372
  #endif
304
373
  } memory_scope;
@@ -322,7 +391,9 @@ typedef enum memory_order
322
391
  memory_order_acquire = __ATOMIC_ACQUIRE,
323
392
  memory_order_release = __ATOMIC_RELEASE,
324
393
  memory_order_acq_rel = __ATOMIC_ACQ_REL,
394
+ #if defined(__opencl_c_atomic_order_seq_cst)
325
395
  memory_order_seq_cst = __ATOMIC_SEQ_CST
396
+ #endif
326
397
  } memory_order;
327
398
 
328
399
  #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
@@ -436,17 +507,146 @@ typedef int clk_profiling_info;
436
507
 
437
508
  #define MAX_WORK_DIM 3
438
509
 
510
+ #ifdef __opencl_c_device_enqueue
439
511
  typedef struct {
440
512
  unsigned int workDimension;
441
513
  size_t globalWorkOffset[MAX_WORK_DIM];
442
514
  size_t globalWorkSize[MAX_WORK_DIM];
443
515
  size_t localWorkSize[MAX_WORK_DIM];
444
516
  } ndrange_t;
517
+ #endif // __opencl_c_device_enqueue
445
518
 
446
519
  #endif // defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_2_0)
447
520
 
521
+ /**
522
+ * OpenCL v1.1/1.2/2.0 s6.2.4.2 - as_type operators
523
+ * Reinterprets a data type as another data type of the same size
524
+ */
525
+ #define as_char(x) __builtin_astype((x), char)
526
+ #define as_char2(x) __builtin_astype((x), char2)
527
+ #define as_char3(x) __builtin_astype((x), char3)
528
+ #define as_char4(x) __builtin_astype((x), char4)
529
+ #define as_char8(x) __builtin_astype((x), char8)
530
+ #define as_char16(x) __builtin_astype((x), char16)
531
+
532
+ #define as_uchar(x) __builtin_astype((x), uchar)
533
+ #define as_uchar2(x) __builtin_astype((x), uchar2)
534
+ #define as_uchar3(x) __builtin_astype((x), uchar3)
535
+ #define as_uchar4(x) __builtin_astype((x), uchar4)
536
+ #define as_uchar8(x) __builtin_astype((x), uchar8)
537
+ #define as_uchar16(x) __builtin_astype((x), uchar16)
538
+
539
+ #define as_short(x) __builtin_astype((x), short)
540
+ #define as_short2(x) __builtin_astype((x), short2)
541
+ #define as_short3(x) __builtin_astype((x), short3)
542
+ #define as_short4(x) __builtin_astype((x), short4)
543
+ #define as_short8(x) __builtin_astype((x), short8)
544
+ #define as_short16(x) __builtin_astype((x), short16)
545
+
546
+ #define as_ushort(x) __builtin_astype((x), ushort)
547
+ #define as_ushort2(x) __builtin_astype((x), ushort2)
548
+ #define as_ushort3(x) __builtin_astype((x), ushort3)
549
+ #define as_ushort4(x) __builtin_astype((x), ushort4)
550
+ #define as_ushort8(x) __builtin_astype((x), ushort8)
551
+ #define as_ushort16(x) __builtin_astype((x), ushort16)
552
+
553
+ #define as_int(x) __builtin_astype((x), int)
554
+ #define as_int2(x) __builtin_astype((x), int2)
555
+ #define as_int3(x) __builtin_astype((x), int3)
556
+ #define as_int4(x) __builtin_astype((x), int4)
557
+ #define as_int8(x) __builtin_astype((x), int8)
558
+ #define as_int16(x) __builtin_astype((x), int16)
559
+
560
+ #define as_uint(x) __builtin_astype((x), uint)
561
+ #define as_uint2(x) __builtin_astype((x), uint2)
562
+ #define as_uint3(x) __builtin_astype((x), uint3)
563
+ #define as_uint4(x) __builtin_astype((x), uint4)
564
+ #define as_uint8(x) __builtin_astype((x), uint8)
565
+ #define as_uint16(x) __builtin_astype((x), uint16)
566
+
567
+ #define as_long(x) __builtin_astype((x), long)
568
+ #define as_long2(x) __builtin_astype((x), long2)
569
+ #define as_long3(x) __builtin_astype((x), long3)
570
+ #define as_long4(x) __builtin_astype((x), long4)
571
+ #define as_long8(x) __builtin_astype((x), long8)
572
+ #define as_long16(x) __builtin_astype((x), long16)
573
+
574
+ #define as_ulong(x) __builtin_astype((x), ulong)
575
+ #define as_ulong2(x) __builtin_astype((x), ulong2)
576
+ #define as_ulong3(x) __builtin_astype((x), ulong3)
577
+ #define as_ulong4(x) __builtin_astype((x), ulong4)
578
+ #define as_ulong8(x) __builtin_astype((x), ulong8)
579
+ #define as_ulong16(x) __builtin_astype((x), ulong16)
580
+
581
+ #define as_float(x) __builtin_astype((x), float)
582
+ #define as_float2(x) __builtin_astype((x), float2)
583
+ #define as_float3(x) __builtin_astype((x), float3)
584
+ #define as_float4(x) __builtin_astype((x), float4)
585
+ #define as_float8(x) __builtin_astype((x), float8)
586
+ #define as_float16(x) __builtin_astype((x), float16)
587
+
588
+ #ifdef cl_khr_fp64
589
+ #define as_double(x) __builtin_astype((x), double)
590
+ #define as_double2(x) __builtin_astype((x), double2)
591
+ #define as_double3(x) __builtin_astype((x), double3)
592
+ #define as_double4(x) __builtin_astype((x), double4)
593
+ #define as_double8(x) __builtin_astype((x), double8)
594
+ #define as_double16(x) __builtin_astype((x), double16)
595
+ #endif // cl_khr_fp64
596
+
597
+ #ifdef cl_khr_fp16
598
+ #define as_half(x) __builtin_astype((x), half)
599
+ #define as_half2(x) __builtin_astype((x), half2)
600
+ #define as_half3(x) __builtin_astype((x), half3)
601
+ #define as_half4(x) __builtin_astype((x), half4)
602
+ #define as_half8(x) __builtin_astype((x), half8)
603
+ #define as_half16(x) __builtin_astype((x), half16)
604
+ #endif // cl_khr_fp16
605
+
606
+ #define as_size_t(x) __builtin_astype((x), size_t)
607
+ #define as_ptrdiff_t(x) __builtin_astype((x), ptrdiff_t)
608
+ #define as_intptr_t(x) __builtin_astype((x), intptr_t)
609
+ #define as_uintptr_t(x) __builtin_astype((x), uintptr_t)
610
+
611
+ // C++ for OpenCL - __remove_address_space
612
+ #if defined(__OPENCL_CPP_VERSION__)
613
+ template <typename _Tp> struct __remove_address_space { using type = _Tp; };
614
+ #if defined(__opencl_c_generic_address_space)
615
+ template <typename _Tp> struct __remove_address_space<__generic _Tp> {
616
+ using type = _Tp;
617
+ };
618
+ #endif
619
+ template <typename _Tp> struct __remove_address_space<__global _Tp> {
620
+ using type = _Tp;
621
+ };
622
+ template <typename _Tp> struct __remove_address_space<__private _Tp> {
623
+ using type = _Tp;
624
+ };
625
+ template <typename _Tp> struct __remove_address_space<__local _Tp> {
626
+ using type = _Tp;
627
+ };
628
+ template <typename _Tp> struct __remove_address_space<__constant _Tp> {
629
+ using type = _Tp;
630
+ };
631
+ #endif
632
+
633
+ // OpenCL v1.1 s6.9, v1.2/2.0 s6.10 - Function qualifiers
634
+
635
+ #define __kernel_exec(X, typen) __kernel \
636
+ __attribute__((work_group_size_hint(X, 1, 1))) \
637
+ __attribute__((vec_type_hint(typen)))
638
+
639
+ #define kernel_exec(X, typen) __kernel \
640
+ __attribute__((work_group_size_hint(X, 1, 1))) \
641
+ __attribute__((vec_type_hint(typen)))
642
+
643
+ #if defined(__OPENCL_CPP_VERSION__) || (__OPENCL_C_VERSION__ >= CL_VERSION_1_2)
644
+ // OpenCL v1.2 s6.12.13, v2.0 s6.13.13 - printf
645
+
646
+ int printf(__constant const char* st, ...) __attribute__((format(printf, 1, 2)));
647
+ #endif
648
+
448
649
  #ifdef cl_intel_device_side_avc_motion_estimation
449
- #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : begin
450
650
 
451
651
  #define CLK_AVC_ME_MAJOR_16x16_INTEL 0x0
452
652
  #define CLK_AVC_ME_MAJOR_16x8_INTEL 0x1
@@ -580,7 +780,6 @@ typedef struct {
580
780
  #define CLK_AVC_IME_RESULT_DUAL_REFERENCE_STREAMOUT_INITIALIZE_INTEL 0x0
581
781
  #define CLK_AVC_IME_RESULT_DUAL_REFERENCE_STREAMIN_INITIALIZE_INTEL 0x0
582
782
 
583
- #pragma OPENCL EXTENSION cl_intel_device_side_avc_motion_estimation : end
584
783
  #endif // cl_intel_device_side_avc_motion_estimation
585
784
 
586
785
  // Disable any extensions we may have enabled previously.