@cpp-linter/clang-tidy-win32-x64 14.0.0 → 15.0.2

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 (192) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_cuda_intrinsics.h +7 -7
  4. package/lib/clang/{14.0.0 → 15.0.2}/include/__wmmintrin_pclmul.h +10 -10
  5. package/lib/clang/{14.0.0 → 15.0.2}/include/altivec.h +487 -248
  6. package/lib/clang/{14.0.0 → 15.0.2}/include/amxintrin.h +0 -2
  7. package/lib/clang/{14.0.0 → 15.0.2}/include/arm_sve.h +65 -61
  8. package/lib/clang/{14.0.0 → 15.0.2}/include/avx2intrin.h +8 -8
  9. package/lib/clang/{14.0.0 → 15.0.2}/include/avx512bwintrin.h +12 -12
  10. package/lib/clang/{14.0.0 → 15.0.2}/include/avx512fintrin.h +76 -73
  11. package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vlbf16intrin.h +1 -1
  12. package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vlbwintrin.h +8 -8
  13. package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vlintrin.h +81 -95
  14. package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vlvnniintrin.h +16 -16
  15. package/lib/clang/{14.0.0 → 15.0.2}/include/avxintrin.h +65 -30
  16. package/lib/clang/{14.0.0 → 15.0.2}/include/avxvnniintrin.h +16 -16
  17. package/lib/clang/{14.0.0 → 15.0.2}/include/bmiintrin.h +6 -2
  18. package/lib/clang/{14.0.0 → 15.0.2}/include/cetintrin.h +12 -6
  19. package/lib/clang/{14.0.0 → 15.0.2}/include/cpuid.h +1 -0
  20. package/lib/clang/{14.0.0 → 15.0.2}/include/emmintrin.h +549 -769
  21. package/lib/clang/{14.0.0 → 15.0.2}/include/f16cintrin.h +3 -3
  22. package/lib/clang/15.0.2/include/hlsl/hlsl_basic_types.h +64 -0
  23. package/lib/clang/15.0.2/include/hlsl/hlsl_intrinsics.h +15 -0
  24. package/lib/clang/15.0.2/include/hlsl.h +15 -0
  25. package/lib/clang/{14.0.0 → 15.0.2}/include/hresetintrin.h +2 -2
  26. package/lib/clang/{14.0.0 → 15.0.2}/include/ia32intrin.h +11 -11
  27. package/lib/clang/{14.0.0 → 15.0.2}/include/immintrin.h +15 -15
  28. package/lib/clang/{14.0.0 → 15.0.2}/include/intrin.h +12 -21
  29. package/lib/clang/{14.0.0 → 15.0.2}/include/keylockerintrin.h +22 -22
  30. package/lib/clang/{14.0.0 → 15.0.2}/include/mm_malloc.h +3 -3
  31. package/lib/clang/{14.0.0 → 15.0.2}/include/opencl-c-base.h +10 -0
  32. package/lib/clang/{14.0.0 → 15.0.2}/include/opencl-c.h +6794 -7020
  33. package/lib/clang/{14.0.0 → 15.0.2}/include/pmmintrin.h +1 -1
  34. package/lib/clang/15.0.2/include/ppc_wrappers/bmi2intrin.h +134 -0
  35. package/lib/clang/15.0.2/include/ppc_wrappers/bmiintrin.h +165 -0
  36. package/lib/clang/15.0.2/include/ppc_wrappers/emmintrin.h +2268 -0
  37. package/lib/clang/15.0.2/include/ppc_wrappers/immintrin.h +27 -0
  38. package/lib/clang/{14.0.0 → 15.0.2}/include/ppc_wrappers/mm_malloc.h +12 -17
  39. package/lib/clang/{14.0.0 → 15.0.2}/include/ppc_wrappers/mmintrin.h +389 -387
  40. package/lib/clang/15.0.2/include/ppc_wrappers/pmmintrin.h +145 -0
  41. package/lib/clang/15.0.2/include/ppc_wrappers/smmintrin.h +663 -0
  42. package/lib/clang/15.0.2/include/ppc_wrappers/tmmintrin.h +453 -0
  43. package/lib/clang/{14.0.0/include/stdnoreturn.h → 15.0.2/include/ppc_wrappers/x86gprintrin.h} +7 -6
  44. package/lib/clang/15.0.2/include/ppc_wrappers/x86intrin.h +28 -0
  45. package/lib/clang/15.0.2/include/ppc_wrappers/xmmintrin.h +1827 -0
  46. package/lib/clang/15.0.2/include/rdpruintrin.h +57 -0
  47. package/lib/clang/{14.0.0 → 15.0.2}/include/rdseedintrin.h +3 -3
  48. package/lib/clang/15.0.2/include/riscv_vector.h +202 -0
  49. package/lib/clang/{14.0.0 → 15.0.2}/include/rtmintrin.h +1 -1
  50. package/lib/clang/{14.0.0 → 15.0.2}/include/smmintrin.h +234 -257
  51. package/lib/clang/{14.0.0 → 15.0.2}/include/stdatomic.h +2 -5
  52. package/lib/clang/{14.0.0 → 15.0.2}/include/stdbool.h +9 -6
  53. package/lib/clang/{14.0.0 → 15.0.2}/include/stddef.h +1 -1
  54. package/lib/clang/15.0.2/include/stdnoreturn.h +29 -0
  55. package/lib/clang/{14.0.0 → 15.0.2}/include/uintrintrin.h +8 -8
  56. package/lib/clang/{14.0.0 → 15.0.2}/include/unwind.h +8 -5
  57. package/lib/clang/15.0.2/include/velintrin.h +71 -0
  58. package/lib/clang/15.0.2/include/velintrin_approx.h +120 -0
  59. package/lib/clang/15.0.2/include/velintrin_gen.h +1257 -0
  60. package/lib/clang/{14.0.0 → 15.0.2}/include/wasm_simd128.h +2 -2
  61. package/lib/clang/{14.0.0 → 15.0.2}/include/x86gprintrin.h +23 -5
  62. package/lib/clang/{14.0.0 → 15.0.2}/include/x86intrin.h +4 -0
  63. package/lib/clang/{14.0.0 → 15.0.2}/include/xmmintrin.h +9 -3
  64. package/package.json +6 -6
  65. package/lib/clang/14.0.0/include/ppc_wrappers/emmintrin.h +0 -2325
  66. package/lib/clang/14.0.0/include/ppc_wrappers/pmmintrin.h +0 -151
  67. package/lib/clang/14.0.0/include/ppc_wrappers/smmintrin.h +0 -110
  68. package/lib/clang/14.0.0/include/ppc_wrappers/tmmintrin.h +0 -496
  69. package/lib/clang/14.0.0/include/ppc_wrappers/xmmintrin.h +0 -1844
  70. package/lib/clang/14.0.0/include/riscv_vector.h +0 -95423
  71. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_cuda_builtin_vars.h +0 -0
  72. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_cuda_cmath.h +0 -0
  73. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_cuda_complex_builtins.h +0 -0
  74. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_cuda_device_functions.h +0 -0
  75. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_cuda_libdevice_declares.h +0 -0
  76. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_cuda_math.h +0 -0
  77. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_cuda_math_forward_declares.h +0 -0
  78. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_cuda_runtime_wrapper.h +0 -0
  79. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_cuda_texture_intrinsics.h +0 -0
  80. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_hip_cmath.h +0 -0
  81. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_hip_libdevice_declares.h +0 -0
  82. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_hip_math.h +0 -0
  83. package/lib/clang/{14.0.0 → 15.0.2}/include/__clang_hip_runtime_wrapper.h +0 -0
  84. package/lib/clang/{14.0.0 → 15.0.2}/include/__stddef_max_align_t.h +0 -0
  85. package/lib/clang/{14.0.0 → 15.0.2}/include/__wmmintrin_aes.h +0 -0
  86. package/lib/clang/{14.0.0 → 15.0.2}/include/adxintrin.h +0 -0
  87. package/lib/clang/{14.0.0 → 15.0.2}/include/ammintrin.h +0 -0
  88. package/lib/clang/{14.0.0 → 15.0.2}/include/arm64intr.h +0 -0
  89. package/lib/clang/{14.0.0 → 15.0.2}/include/arm_acle.h +0 -0
  90. package/lib/clang/{14.0.0 → 15.0.2}/include/arm_bf16.h +0 -0
  91. package/lib/clang/{14.0.0 → 15.0.2}/include/arm_cde.h +0 -0
  92. package/lib/clang/{14.0.0 → 15.0.2}/include/arm_cmse.h +0 -0
  93. package/lib/clang/{14.0.0 → 15.0.2}/include/arm_fp16.h +89 -89
  94. package/lib/clang/{14.0.0 → 15.0.2}/include/arm_mve.h +0 -0
  95. package/lib/clang/{14.0.0 → 15.0.2}/include/arm_neon.h +3999 -3999
  96. /package/lib/clang/{14.0.0 → 15.0.2}/include/arm_neon_sve_bridge.h +0 -0
  97. /package/lib/clang/{14.0.0 → 15.0.2}/include/armintr.h +0 -0
  98. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512bf16intrin.h +0 -0
  99. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512bitalgintrin.h +0 -0
  100. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512cdintrin.h +0 -0
  101. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512dqintrin.h +0 -0
  102. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512erintrin.h +0 -0
  103. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512fp16intrin.h +0 -0
  104. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512ifmaintrin.h +0 -0
  105. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512ifmavlintrin.h +0 -0
  106. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512pfintrin.h +0 -0
  107. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vbmi2intrin.h +0 -0
  108. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vbmiintrin.h +0 -0
  109. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vbmivlintrin.h +0 -0
  110. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vlbitalgintrin.h +0 -0
  111. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vlcdintrin.h +0 -0
  112. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vldqintrin.h +0 -0
  113. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vlfp16intrin.h +0 -0
  114. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vlvbmi2intrin.h +0 -0
  115. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vlvp2intersectintrin.h +0 -0
  116. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vnniintrin.h +0 -0
  117. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vp2intersectintrin.h +0 -0
  118. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vpopcntdqintrin.h +0 -0
  119. /package/lib/clang/{14.0.0 → 15.0.2}/include/avx512vpopcntdqvlintrin.h +0 -0
  120. /package/lib/clang/{14.0.0 → 15.0.2}/include/bmi2intrin.h +0 -0
  121. /package/lib/clang/{14.0.0 → 15.0.2}/include/builtins.h +0 -0
  122. /package/lib/clang/{14.0.0 → 15.0.2}/include/cet.h +0 -0
  123. /package/lib/clang/{14.0.0 → 15.0.2}/include/cldemoteintrin.h +0 -0
  124. /package/lib/clang/{14.0.0 → 15.0.2}/include/clflushoptintrin.h +0 -0
  125. /package/lib/clang/{14.0.0 → 15.0.2}/include/clwbintrin.h +0 -0
  126. /package/lib/clang/{14.0.0 → 15.0.2}/include/clzerointrin.h +0 -0
  127. /package/lib/clang/{14.0.0 → 15.0.2}/include/crc32intrin.h +0 -0
  128. /package/lib/clang/{14.0.0 → 15.0.2}/include/cuda_wrappers/algorithm +0 -0
  129. /package/lib/clang/{14.0.0 → 15.0.2}/include/cuda_wrappers/complex +0 -0
  130. /package/lib/clang/{14.0.0 → 15.0.2}/include/cuda_wrappers/new +0 -0
  131. /package/lib/clang/{14.0.0 → 15.0.2}/include/enqcmdintrin.h +0 -0
  132. /package/lib/clang/{14.0.0 → 15.0.2}/include/float.h +0 -0
  133. /package/lib/clang/{14.0.0 → 15.0.2}/include/fma4intrin.h +0 -0
  134. /package/lib/clang/{14.0.0 → 15.0.2}/include/fmaintrin.h +0 -0
  135. /package/lib/clang/{14.0.0 → 15.0.2}/include/fxsrintrin.h +0 -0
  136. /package/lib/clang/{14.0.0 → 15.0.2}/include/gfniintrin.h +0 -0
  137. /package/lib/clang/{14.0.0 → 15.0.2}/include/hexagon_circ_brev_intrinsics.h +0 -0
  138. /package/lib/clang/{14.0.0 → 15.0.2}/include/hexagon_protos.h +0 -0
  139. /package/lib/clang/{14.0.0 → 15.0.2}/include/hexagon_types.h +0 -0
  140. /package/lib/clang/{14.0.0 → 15.0.2}/include/htmintrin.h +0 -0
  141. /package/lib/clang/{14.0.0 → 15.0.2}/include/htmxlintrin.h +0 -0
  142. /package/lib/clang/{14.0.0 → 15.0.2}/include/hvx_hexagon_protos.h +0 -0
  143. /package/lib/clang/{14.0.0 → 15.0.2}/include/inttypes.h +0 -0
  144. /package/lib/clang/{14.0.0 → 15.0.2}/include/invpcidintrin.h +0 -0
  145. /package/lib/clang/{14.0.0 → 15.0.2}/include/iso646.h +0 -0
  146. /package/lib/clang/{14.0.0 → 15.0.2}/include/limits.h +0 -0
  147. /package/lib/clang/{14.0.0 → 15.0.2}/include/lwpintrin.h +0 -0
  148. /package/lib/clang/{14.0.0 → 15.0.2}/include/lzcntintrin.h +0 -0
  149. /package/lib/clang/{14.0.0 → 15.0.2}/include/mm3dnow.h +0 -0
  150. /package/lib/clang/{14.0.0 → 15.0.2}/include/mmintrin.h +0 -0
  151. /package/lib/clang/{14.0.0 → 15.0.2}/include/module.modulemap +0 -0
  152. /package/lib/clang/{14.0.0 → 15.0.2}/include/movdirintrin.h +0 -0
  153. /package/lib/clang/{14.0.0 → 15.0.2}/include/msa.h +0 -0
  154. /package/lib/clang/{14.0.0 → 15.0.2}/include/mwaitxintrin.h +0 -0
  155. /package/lib/clang/{14.0.0 → 15.0.2}/include/nmmintrin.h +0 -0
  156. /package/lib/clang/{14.0.0 → 15.0.2}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  157. /package/lib/clang/{14.0.0 → 15.0.2}/include/openmp_wrappers/cmath +0 -0
  158. /package/lib/clang/{14.0.0 → 15.0.2}/include/openmp_wrappers/complex +0 -0
  159. /package/lib/clang/{14.0.0 → 15.0.2}/include/openmp_wrappers/complex.h +0 -0
  160. /package/lib/clang/{14.0.0 → 15.0.2}/include/openmp_wrappers/complex_cmath.h +0 -0
  161. /package/lib/clang/{14.0.0 → 15.0.2}/include/openmp_wrappers/math.h +0 -0
  162. /package/lib/clang/{14.0.0 → 15.0.2}/include/openmp_wrappers/new +0 -0
  163. /package/lib/clang/{14.0.0 → 15.0.2}/include/pconfigintrin.h +0 -0
  164. /package/lib/clang/{14.0.0 → 15.0.2}/include/pkuintrin.h +0 -0
  165. /package/lib/clang/{14.0.0 → 15.0.2}/include/popcntintrin.h +0 -0
  166. /package/lib/clang/{14.0.0 → 15.0.2}/include/prfchwintrin.h +0 -0
  167. /package/lib/clang/{14.0.0 → 15.0.2}/include/ptwriteintrin.h +0 -0
  168. /package/lib/clang/{14.0.0 → 15.0.2}/include/s390intrin.h +0 -0
  169. /package/lib/clang/{14.0.0 → 15.0.2}/include/serializeintrin.h +0 -0
  170. /package/lib/clang/{14.0.0 → 15.0.2}/include/sgxintrin.h +0 -0
  171. /package/lib/clang/{14.0.0 → 15.0.2}/include/shaintrin.h +0 -0
  172. /package/lib/clang/{14.0.0 → 15.0.2}/include/stdalign.h +0 -0
  173. /package/lib/clang/{14.0.0 → 15.0.2}/include/stdarg.h +0 -0
  174. /package/lib/clang/{14.0.0 → 15.0.2}/include/stdint.h +0 -0
  175. /package/lib/clang/{14.0.0 → 15.0.2}/include/tbmintrin.h +0 -0
  176. /package/lib/clang/{14.0.0 → 15.0.2}/include/tgmath.h +0 -0
  177. /package/lib/clang/{14.0.0 → 15.0.2}/include/tmmintrin.h +0 -0
  178. /package/lib/clang/{14.0.0 → 15.0.2}/include/tsxldtrkintrin.h +0 -0
  179. /package/lib/clang/{14.0.0 → 15.0.2}/include/vadefs.h +0 -0
  180. /package/lib/clang/{14.0.0 → 15.0.2}/include/vaesintrin.h +0 -0
  181. /package/lib/clang/{14.0.0 → 15.0.2}/include/varargs.h +0 -0
  182. /package/lib/clang/{14.0.0 → 15.0.2}/include/vecintrin.h +0 -0
  183. /package/lib/clang/{14.0.0 → 15.0.2}/include/vpclmulqdqintrin.h +0 -0
  184. /package/lib/clang/{14.0.0 → 15.0.2}/include/waitpkgintrin.h +0 -0
  185. /package/lib/clang/{14.0.0 → 15.0.2}/include/wbnoinvdintrin.h +0 -0
  186. /package/lib/clang/{14.0.0 → 15.0.2}/include/wmmintrin.h +0 -0
  187. /package/lib/clang/{14.0.0 → 15.0.2}/include/xopintrin.h +0 -0
  188. /package/lib/clang/{14.0.0 → 15.0.2}/include/xsavecintrin.h +0 -0
  189. /package/lib/clang/{14.0.0 → 15.0.2}/include/xsaveintrin.h +0 -0
  190. /package/lib/clang/{14.0.0 → 15.0.2}/include/xsaveoptintrin.h +0 -0
  191. /package/lib/clang/{14.0.0 → 15.0.2}/include/xsavesintrin.h +0 -0
  192. /package/lib/clang/{14.0.0 → 15.0.2}/include/xtestintrin.h +0 -0
@@ -65,9 +65,9 @@ _cvtsh_ss(unsigned short __a)
65
65
  /// 011: Truncate \n
66
66
  /// 1XX: Use MXCSR.RC for rounding
67
67
  /// \returns The converted 16-bit half-precision float value.
68
- #define _cvtss_sh(a, imm) \
69
- ((unsigned short)(((__v8hi)__builtin_ia32_vcvtps2ph((__v4sf){a, 0, 0, 0}, \
70
- (imm)))[0]))
68
+ #define _cvtss_sh(a, imm) __extension__ ({ \
69
+ (unsigned short)(((__v8hi)__builtin_ia32_vcvtps2ph((__v4sf){a, 0, 0, 0}, \
70
+ (imm)))[0]); })
71
71
 
72
72
  /// Converts a 128-bit vector containing 32-bit float values into a
73
73
  /// 128-bit vector containing 16-bit half-precision float values.
@@ -0,0 +1,64 @@
1
+ //===----- hlsl_basic_types.h - HLSL definitions for basic types ----------===//
2
+ //
3
+ // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ // See https://llvm.org/LICENSE.txt for license information.
5
+ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ //
7
+ //===----------------------------------------------------------------------===//
8
+
9
+ #ifndef _HLSL_HLSL_BASIC_TYPES_H_
10
+ #define _HLSL_HLSL_BASIC_TYPES_H_
11
+
12
+ // built-in scalar data types:
13
+
14
+ #ifdef __HLSL_ENABLE_16_BIT
15
+ // 16-bit integer.
16
+ typedef unsigned short uint16_t;
17
+ typedef short int16_t;
18
+ #endif
19
+
20
+ // unsigned 32-bit integer.
21
+ typedef unsigned int uint;
22
+
23
+ // 64-bit integer.
24
+ typedef unsigned long uint64_t;
25
+ typedef long int64_t;
26
+
27
+ // built-in vector data types:
28
+
29
+ #ifdef __HLSL_ENABLE_16_BIT
30
+ typedef vector<int16_t, 2> int16_t2;
31
+ typedef vector<int16_t, 3> int16_t3;
32
+ typedef vector<int16_t, 4> int16_t4;
33
+ typedef vector<uint16_t, 2> uint16_t2;
34
+ typedef vector<uint16_t, 3> uint16_t3;
35
+ typedef vector<uint16_t, 4> uint16_t4;
36
+ #endif
37
+
38
+ typedef vector<int, 2> int2;
39
+ typedef vector<int, 3> int3;
40
+ typedef vector<int, 4> int4;
41
+ typedef vector<uint, 2> uint2;
42
+ typedef vector<uint, 3> uint3;
43
+ typedef vector<uint, 4> uint4;
44
+ typedef vector<int64_t, 2> int64_t2;
45
+ typedef vector<int64_t, 3> int64_t3;
46
+ typedef vector<int64_t, 4> int64_t4;
47
+ typedef vector<uint64_t, 2> uint64_t2;
48
+ typedef vector<uint64_t, 3> uint64_t3;
49
+ typedef vector<uint64_t, 4> uint64_t4;
50
+
51
+ #ifdef __HLSL_ENABLE_16_BIT
52
+ typedef vector<half, 2> half2;
53
+ typedef vector<half, 3> half3;
54
+ typedef vector<half, 4> half4;
55
+ #endif
56
+
57
+ typedef vector<float, 2> float2;
58
+ typedef vector<float, 3> float3;
59
+ typedef vector<float, 4> float4;
60
+ typedef vector<double, 2> double2;
61
+ typedef vector<double, 3> double3;
62
+ typedef vector<double, 4> double4;
63
+
64
+ #endif //_HLSL_HLSL_BASIC_TYPES_H_
@@ -0,0 +1,15 @@
1
+ //===----- hlsl_intrinsics.h - HLSL definitions for intrinsics ----------===//
2
+ //
3
+ // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ // See https://llvm.org/LICENSE.txt for license information.
5
+ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ //
7
+ //===----------------------------------------------------------------------===//
8
+
9
+ #ifndef _HLSL_HLSL_INTRINSICS_H_
10
+ #define _HLSL_HLSL_INTRINSICS_H_
11
+
12
+ __attribute__((clang_builtin_alias(__builtin_hlsl_wave_active_count_bits))) uint
13
+ WaveActiveCountBits(bool bBit);
14
+
15
+ #endif //_HLSL_HLSL_INTRINSICS_H_
@@ -0,0 +1,15 @@
1
+ //===----- hlsl.h - HLSL definitions --------------------------------------===//
2
+ //
3
+ // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ // See https://llvm.org/LICENSE.txt for license information.
5
+ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ //
7
+ //===----------------------------------------------------------------------===//
8
+
9
+ #ifndef _HLSL_H_
10
+ #define _HLSL_H_
11
+
12
+ #include "hlsl/hlsl_basic_types.h"
13
+ #include "hlsl/hlsl_intrinsics.h"
14
+
15
+ #endif //_HLSL_H_
@@ -25,7 +25,7 @@
25
25
  ///
26
26
  /// This intrinsic corresponds to the <c> HRESET </c> instruction.
27
27
  ///
28
- /// \operation
28
+ /// \code{.operation}
29
29
  /// IF __eax == 0
30
30
  /// // nop
31
31
  /// ELSE
@@ -35,7 +35,7 @@
35
35
  /// FI
36
36
  /// ENDFOR
37
37
  /// FI
38
- /// \endoperation
38
+ /// \endcode
39
39
  static __inline void __DEFAULT_FN_ATTRS
40
40
  _hreset(int __eax)
41
41
  {
@@ -40,7 +40,7 @@
40
40
  */
41
41
  static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
42
42
  __bsfd(int __A) {
43
- return __builtin_ctz(__A);
43
+ return __builtin_ctz((unsigned int)__A);
44
44
  }
45
45
 
46
46
  /** Find the first set bit starting from the msb. Result is undefined if
@@ -57,7 +57,7 @@ __bsfd(int __A) {
57
57
  */
58
58
  static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
59
59
  __bsrd(int __A) {
60
- return 31 - __builtin_clz(__A);
60
+ return 31 - __builtin_clz((unsigned int)__A);
61
61
  }
62
62
 
63
63
  /** Swaps the bytes in the input. Converting little endian to big endian or
@@ -73,12 +73,12 @@ __bsrd(int __A) {
73
73
  */
74
74
  static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
75
75
  __bswapd(int __A) {
76
- return __builtin_bswap32(__A);
76
+ return (int)__builtin_bswap32((unsigned int)__A);
77
77
  }
78
78
 
79
79
  static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
80
80
  _bswap(int __A) {
81
- return __builtin_bswap32(__A);
81
+ return (int)__builtin_bswap32((unsigned int)__A);
82
82
  }
83
83
 
84
84
  #define _bit_scan_forward(A) __bsfd((A))
@@ -99,7 +99,7 @@ _bswap(int __A) {
99
99
  */
100
100
  static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
101
101
  __bsfq(long long __A) {
102
- return __builtin_ctzll(__A);
102
+ return (long long)__builtin_ctzll((unsigned long long)__A);
103
103
  }
104
104
 
105
105
  /** Find the first set bit starting from the msb. Result is undefined if
@@ -116,7 +116,7 @@ __bsfq(long long __A) {
116
116
  */
117
117
  static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
118
118
  __bsrq(long long __A) {
119
- return 63 - __builtin_clzll(__A);
119
+ return 63 - __builtin_clzll((unsigned long long)__A);
120
120
  }
121
121
 
122
122
  /** Swaps the bytes in the input. Converting little endian to big endian or
@@ -132,7 +132,7 @@ __bsrq(long long __A) {
132
132
  */
133
133
  static __inline__ long long __DEFAULT_FN_ATTRS_CONSTEXPR
134
134
  __bswapq(long long __A) {
135
- return __builtin_bswap64(__A);
135
+ return (long long)__builtin_bswap64((unsigned long long)__A);
136
136
  }
137
137
 
138
138
  #define _bswap64(A) __bswapq((A))
@@ -395,23 +395,23 @@ __rorw(unsigned short __X, int __C) {
395
395
 
396
396
  static __inline__ unsigned int __DEFAULT_FN_ATTRS_CONSTEXPR
397
397
  __rold(unsigned int __X, int __C) {
398
- return __builtin_rotateleft32(__X, __C);
398
+ return __builtin_rotateleft32(__X, (unsigned int)__C);
399
399
  }
400
400
 
401
401
  static __inline__ unsigned int __DEFAULT_FN_ATTRS_CONSTEXPR
402
402
  __rord(unsigned int __X, int __C) {
403
- return __builtin_rotateright32(__X, __C);
403
+ return __builtin_rotateright32(__X, (unsigned int)__C);
404
404
  }
405
405
 
406
406
  #ifdef __x86_64__
407
407
  static __inline__ unsigned long long __DEFAULT_FN_ATTRS_CONSTEXPR
408
408
  __rolq(unsigned long long __X, int __C) {
409
- return __builtin_rotateleft64(__X, __C);
409
+ return __builtin_rotateleft64(__X, (unsigned long long)__C);
410
410
  }
411
411
 
412
412
  static __inline__ unsigned long long __DEFAULT_FN_ATTRS_CONSTEXPR
413
413
  __rorq(unsigned long long __X, int __C) {
414
- return __builtin_rotateright64(__X, __C);
414
+ return __builtin_rotateright64(__X, (unsigned long long)__C);
415
415
  }
416
416
  #endif /* __x86_64__ */
417
417
 
@@ -276,20 +276,20 @@ _rdpid_u32(void) {
276
276
  static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
277
277
  _rdrand16_step(unsigned short *__p)
278
278
  {
279
- return __builtin_ia32_rdrand16_step(__p);
279
+ return (int)__builtin_ia32_rdrand16_step(__p);
280
280
  }
281
281
 
282
282
  static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
283
283
  _rdrand32_step(unsigned int *__p)
284
284
  {
285
- return __builtin_ia32_rdrand32_step(__p);
285
+ return (int)__builtin_ia32_rdrand32_step(__p);
286
286
  }
287
287
 
288
288
  #ifdef __x86_64__
289
289
  static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
290
290
  _rdrand64_step(unsigned long long *__p)
291
291
  {
292
- return __builtin_ia32_rdrand64_step(__p);
292
+ return (int)__builtin_ia32_rdrand64_step(__p);
293
293
  }
294
294
  #endif
295
295
  #endif /* __RDRND__ */
@@ -360,50 +360,50 @@ _writegsbase_u64(unsigned long long __V)
360
360
  static __inline__ short __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
361
361
  _loadbe_i16(void const * __P) {
362
362
  struct __loadu_i16 {
363
- short __v;
363
+ unsigned short __v;
364
364
  } __attribute__((__packed__, __may_alias__));
365
- return __builtin_bswap16(((const struct __loadu_i16*)__P)->__v);
365
+ return (short)__builtin_bswap16(((const struct __loadu_i16*)__P)->__v);
366
366
  }
367
367
 
368
368
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
369
369
  _storebe_i16(void * __P, short __D) {
370
370
  struct __storeu_i16 {
371
- short __v;
371
+ unsigned short __v;
372
372
  } __attribute__((__packed__, __may_alias__));
373
- ((struct __storeu_i16*)__P)->__v = __builtin_bswap16(__D);
373
+ ((struct __storeu_i16*)__P)->__v = __builtin_bswap16((unsigned short)__D);
374
374
  }
375
375
 
376
376
  static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
377
377
  _loadbe_i32(void const * __P) {
378
378
  struct __loadu_i32 {
379
- int __v;
379
+ unsigned int __v;
380
380
  } __attribute__((__packed__, __may_alias__));
381
- return __builtin_bswap32(((const struct __loadu_i32*)__P)->__v);
381
+ return (int)__builtin_bswap32(((const struct __loadu_i32*)__P)->__v);
382
382
  }
383
383
 
384
384
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
385
385
  _storebe_i32(void * __P, int __D) {
386
386
  struct __storeu_i32 {
387
- int __v;
387
+ unsigned int __v;
388
388
  } __attribute__((__packed__, __may_alias__));
389
- ((struct __storeu_i32*)__P)->__v = __builtin_bswap32(__D);
389
+ ((struct __storeu_i32*)__P)->__v = __builtin_bswap32((unsigned int)__D);
390
390
  }
391
391
 
392
392
  #ifdef __x86_64__
393
393
  static __inline__ long long __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
394
394
  _loadbe_i64(void const * __P) {
395
395
  struct __loadu_i64 {
396
- long long __v;
396
+ unsigned long long __v;
397
397
  } __attribute__((__packed__, __may_alias__));
398
- return __builtin_bswap64(((const struct __loadu_i64*)__P)->__v);
398
+ return (long long)__builtin_bswap64(((const struct __loadu_i64*)__P)->__v);
399
399
  }
400
400
 
401
401
  static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
402
402
  _storebe_i64(void * __P, long long __D) {
403
403
  struct __storeu_i64 {
404
- long long __v;
404
+ unsigned long long __v;
405
405
  } __attribute__((__packed__, __may_alias__));
406
- ((struct __storeu_i64*)__P)->__v = __builtin_bswap64(__D);
406
+ ((struct __storeu_i64*)__P)->__v = __builtin_bswap64((unsigned long long)__D);
407
407
  }
408
408
  #endif
409
409
  #endif /* __MOVBE */
@@ -534,27 +534,6 @@ static __inline__ void __DEFAULT_FN_ATTRS __stosq(unsigned __int64 *__dst,
534
534
  |* Misc
535
535
  \*----------------------------------------------------------------------------*/
536
536
  #if defined(__i386__) || defined(__x86_64__)
537
- #if defined(__i386__)
538
- #define __cpuid_count(__leaf, __count, __eax, __ebx, __ecx, __edx) \
539
- __asm("cpuid" \
540
- : "=a"(__eax), "=b"(__ebx), "=c"(__ecx), "=d"(__edx) \
541
- : "0"(__leaf), "2"(__count))
542
- #else
543
- /* x86-64 uses %rbx as the base register, so preserve it. */
544
- #define __cpuid_count(__leaf, __count, __eax, __ebx, __ecx, __edx) \
545
- __asm("xchg{q} {%%rbx, %q1|%q1, rbx}\n" \
546
- "cpuid\n" \
547
- "xchg{q} {%%rbx, %q1|%q1, rbx}" \
548
- : "=a"(__eax), "=r"(__ebx), "=c"(__ecx), "=d"(__edx) \
549
- : "0"(__leaf), "2"(__count))
550
- #endif
551
- static __inline__ void __DEFAULT_FN_ATTRS __cpuid(int __info[4], int __level) {
552
- __cpuid_count(__level, 0, __info[0], __info[1], __info[2], __info[3]);
553
- }
554
- static __inline__ void __DEFAULT_FN_ATTRS __cpuidex(int __info[4], int __level,
555
- int __ecx) {
556
- __cpuid_count(__level, __ecx, __info[0], __info[1], __info[2], __info[3]);
557
- }
558
537
  static __inline__ void __DEFAULT_FN_ATTRS __halt(void) {
559
538
  __asm__ volatile("hlt");
560
539
  }
@@ -581,6 +560,18 @@ unsigned __int64 __cdecl _byteswap_uint64(unsigned __int64 val);
581
560
 
582
561
  __int64 __mulh(__int64 __a, __int64 __b);
583
562
  unsigned __int64 __umulh(unsigned __int64 __a, unsigned __int64 __b);
563
+
564
+ void __break(int);
565
+
566
+ void __writex18byte(unsigned long offset, unsigned char data);
567
+ void __writex18word(unsigned long offset, unsigned short data);
568
+ void __writex18dword(unsigned long offset, unsigned long data);
569
+ void __writex18qword(unsigned long offset, unsigned __int64 data);
570
+
571
+ unsigned char __readx18byte(unsigned long offset);
572
+ unsigned short __readx18word(unsigned long offset);
573
+ unsigned long __readx18dword(unsigned long offset);
574
+ unsigned __int64 __readx18qword(unsigned long offset);
584
575
  #endif
585
576
 
586
577
  /*----------------------------------------------------------------------------*\
@@ -46,7 +46,7 @@
46
46
  ///
47
47
  /// This intrinsic corresponds to the <c> LOADIWKEY </c> instructions.
48
48
  ///
49
- /// \operation
49
+ /// \code{.operation}
50
50
  /// IF CPL > 0 // LOADKWKEY only allowed at ring 0 (supervisor mode)
51
51
  /// GP (0)
52
52
  /// FI
@@ -91,7 +91,7 @@
91
91
  /// AF := 0
92
92
  /// PF := 0
93
93
  /// CF := 0
94
- /// \endoperation
94
+ /// \endcode
95
95
  static __inline__ void __DEFAULT_FN_ATTRS
96
96
  _mm_loadiwkey (unsigned int __ctl, __m128i __intkey,
97
97
  __m128i __enkey_lo, __m128i __enkey_hi) {
@@ -106,7 +106,7 @@ _mm_loadiwkey (unsigned int __ctl, __m128i __intkey,
106
106
  ///
107
107
  /// This intrinsic corresponds to the <c> ENCODEKEY128 </c> instructions.
108
108
  ///
109
- /// \operation
109
+ /// \code{.operation}
110
110
  /// InputKey[127:0] := __key[127:0]
111
111
  /// KeyMetadata[2:0] := __htype[2:0]
112
112
  /// KeyMetadata[23:3] := 0 // Reserved for future usage
@@ -126,7 +126,7 @@ _mm_loadiwkey (unsigned int __ctl, __m128i __intkey,
126
126
  /// AF := 0
127
127
  /// PF := 0
128
128
  /// CF := 0
129
- /// \endoperation
129
+ /// \endcode
130
130
  static __inline__ unsigned int __DEFAULT_FN_ATTRS
131
131
  _mm_encodekey128_u32(unsigned int __htype, __m128i __key, void *__h) {
132
132
  return __builtin_ia32_encodekey128_u32(__htype, (__v2di)__key, __h);
@@ -141,7 +141,7 @@ _mm_encodekey128_u32(unsigned int __htype, __m128i __key, void *__h) {
141
141
  ///
142
142
  /// This intrinsic corresponds to the <c> ENCODEKEY256 </c> instructions.
143
143
  ///
144
- /// \operation
144
+ /// \code{.operation}
145
145
  /// InputKey[127:0] := __key_lo[127:0]
146
146
  /// InputKey[255:128] := __key_hi[255:128]
147
147
  /// KeyMetadata[2:0] := __htype[2:0]
@@ -163,7 +163,7 @@ _mm_encodekey128_u32(unsigned int __htype, __m128i __key, void *__h) {
163
163
  /// AF := 0
164
164
  /// PF := 0
165
165
  /// CF := 0
166
- /// \endoperation
166
+ /// \endcode
167
167
  static __inline__ unsigned int __DEFAULT_FN_ATTRS
168
168
  _mm_encodekey256_u32(unsigned int __htype, __m128i __key_lo, __m128i __key_hi,
169
169
  void *__h) {
@@ -179,7 +179,7 @@ _mm_encodekey256_u32(unsigned int __htype, __m128i __key_lo, __m128i __key_hi,
179
179
  ///
180
180
  /// This intrinsic corresponds to the <c> AESENC128KL </c> instructions.
181
181
  ///
182
- /// \operation
182
+ /// \code{.operation}
183
183
  /// Handle[383:0] := MEM[__h+383:__h] // Load is not guaranteed to be atomic.
184
184
  /// IllegalHandle := ( HandleReservedBitSet (Handle[383:0]) ||
185
185
  /// (Handle[127:0] AND (CPL > 0)) ||
@@ -202,7 +202,7 @@ _mm_encodekey256_u32(unsigned int __htype, __m128i __key_lo, __m128i __key_hi,
202
202
  /// AF := 0
203
203
  /// PF := 0
204
204
  /// CF := 0
205
- /// \endoperation
205
+ /// \endcode
206
206
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
207
207
  _mm_aesenc128kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
208
208
  return __builtin_ia32_aesenc128kl_u8((__v2di *)__odata, (__v2di)__idata, __h);
@@ -216,7 +216,7 @@ _mm_aesenc128kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
216
216
  ///
217
217
  /// This intrinsic corresponds to the <c> AESENC256KL </c> instructions.
218
218
  ///
219
- /// \operation
219
+ /// \code{.operation}
220
220
  /// Handle[511:0] := MEM[__h+511:__h] // Load is not guaranteed to be atomic.
221
221
  /// IllegalHandle := ( HandleReservedBitSet (Handle[511:0]) ||
222
222
  /// (Handle[127:0] AND (CPL > 0)) ||
@@ -241,7 +241,7 @@ _mm_aesenc128kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
241
241
  /// AF := 0
242
242
  /// PF := 0
243
243
  /// CF := 0
244
- /// \endoperation
244
+ /// \endcode
245
245
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
246
246
  _mm_aesenc256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
247
247
  return __builtin_ia32_aesenc256kl_u8((__v2di *)__odata, (__v2di)__idata, __h);
@@ -255,7 +255,7 @@ _mm_aesenc256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
255
255
  ///
256
256
  /// This intrinsic corresponds to the <c> AESDEC128KL </c> instructions.
257
257
  ///
258
- /// \operation
258
+ /// \code{.operation}
259
259
  /// Handle[383:0] := MEM[__h+383:__h] // Load is not guaranteed to be atomic.
260
260
  /// IllegalHandle := (HandleReservedBitSet (Handle[383:0]) ||
261
261
  /// (Handle[127:0] AND (CPL > 0)) ||
@@ -280,7 +280,7 @@ _mm_aesenc256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
280
280
  /// AF := 0
281
281
  /// PF := 0
282
282
  /// CF := 0
283
- /// \endoperation
283
+ /// \endcode
284
284
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
285
285
  _mm_aesdec128kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
286
286
  return __builtin_ia32_aesdec128kl_u8((__v2di *)__odata, (__v2di)__idata, __h);
@@ -294,7 +294,7 @@ _mm_aesdec128kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
294
294
  ///
295
295
  /// This intrinsic corresponds to the <c> AESDEC256KL </c> instructions.
296
296
  ///
297
- /// \operation
297
+ /// \code{.operation}
298
298
  /// Handle[511:0] := MEM[__h+511:__h]
299
299
  /// IllegalHandle := (HandleReservedBitSet (Handle[511:0]) ||
300
300
  /// (Handle[127:0] AND (CPL > 0)) ||
@@ -319,7 +319,7 @@ _mm_aesdec128kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
319
319
  /// AF := 0
320
320
  /// PF := 0
321
321
  /// CF := 0
322
- /// \endoperation
322
+ /// \endcode
323
323
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
324
324
  _mm_aesdec256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
325
325
  return __builtin_ia32_aesdec256kl_u8((__v2di *)__odata, (__v2di)__idata, __h);
@@ -346,7 +346,7 @@ _mm_aesdec256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
346
346
  ///
347
347
  /// This intrinsic corresponds to the <c> AESENCWIDE128KL </c> instructions.
348
348
  ///
349
- /// \operation
349
+ /// \code{.operation}
350
350
  /// Handle := MEM[__h+383:__h]
351
351
  /// IllegalHandle := ( HandleReservedBitSet (Handle[383:0]) ||
352
352
  /// (Handle[127:0] AND (CPL > 0)) ||
@@ -377,7 +377,7 @@ _mm_aesdec256kl_u8(__m128i* __odata, __m128i __idata, const void *__h) {
377
377
  /// AF := 0
378
378
  /// PF := 0
379
379
  /// CF := 0
380
- /// \endoperation
380
+ /// \endcode
381
381
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
382
382
  _mm_aesencwide128kl_u8(__m128i __odata[8], const __m128i __idata[8], const void* __h) {
383
383
  return __builtin_ia32_aesencwide128kl_u8((__v2di *)__odata,
@@ -392,7 +392,7 @@ _mm_aesencwide128kl_u8(__m128i __odata[8], const __m128i __idata[8], const void*
392
392
  ///
393
393
  /// This intrinsic corresponds to the <c> AESENCWIDE256KL </c> instructions.
394
394
  ///
395
- /// \operation
395
+ /// \code{.operation}
396
396
  /// Handle[511:0] := MEM[__h+511:__h]
397
397
  /// IllegalHandle := ( HandleReservedBitSet (Handle[511:0]) ||
398
398
  /// (Handle[127:0] AND (CPL > 0)) ||
@@ -423,7 +423,7 @@ _mm_aesencwide128kl_u8(__m128i __odata[8], const __m128i __idata[8], const void*
423
423
  /// AF := 0
424
424
  /// PF := 0
425
425
  /// CF := 0
426
- /// \endoperation
426
+ /// \endcode
427
427
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
428
428
  _mm_aesencwide256kl_u8(__m128i __odata[8], const __m128i __idata[8], const void* __h) {
429
429
  return __builtin_ia32_aesencwide256kl_u8((__v2di *)__odata,
@@ -438,7 +438,7 @@ _mm_aesencwide256kl_u8(__m128i __odata[8], const __m128i __idata[8], const void*
438
438
  ///
439
439
  /// This intrinsic corresponds to the <c> AESDECWIDE128KL </c> instructions.
440
440
  ///
441
- /// \operation
441
+ /// \code{.operation}
442
442
  /// Handle[383:0] := MEM[__h+383:__h]
443
443
  /// IllegalHandle := ( HandleReservedBitSet (Handle[383:0]) ||
444
444
  /// (Handle[127:0] AND (CPL > 0)) ||
@@ -469,7 +469,7 @@ _mm_aesencwide256kl_u8(__m128i __odata[8], const __m128i __idata[8], const void*
469
469
  /// AF := 0
470
470
  /// PF := 0
471
471
  /// CF := 0
472
- /// \endoperation
472
+ /// \endcode
473
473
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
474
474
  _mm_aesdecwide128kl_u8(__m128i __odata[8], const __m128i __idata[8], const void* __h) {
475
475
  return __builtin_ia32_aesdecwide128kl_u8((__v2di *)__odata,
@@ -484,7 +484,7 @@ _mm_aesdecwide128kl_u8(__m128i __odata[8], const __m128i __idata[8], const void*
484
484
  ///
485
485
  /// This intrinsic corresponds to the <c> AESDECWIDE256KL </c> instructions.
486
486
  ///
487
- /// \operation
487
+ /// \code{.operation}
488
488
  /// Handle[511:0] := MEM[__h+511:__h]
489
489
  /// IllegalHandle = ( HandleReservedBitSet (Handle[511:0]) ||
490
490
  /// (Handle[127:0] AND (CPL > 0)) ||
@@ -515,7 +515,7 @@ _mm_aesdecwide128kl_u8(__m128i __odata[8], const __m128i __idata[8], const void*
515
515
  /// AF := 0
516
516
  /// PF := 0
517
517
  /// CF := 0
518
- /// \endoperation
518
+ /// \endcode
519
519
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
520
520
  _mm_aesdecwide256kl_u8(__m128i __odata[8], const __m128i __idata[8], const void* __h) {
521
521
  return __builtin_ia32_aesdecwide256kl_u8((__v2di *)__odata,
@@ -28,9 +28,9 @@ extern "C" int posix_memalign(void **__memptr, size_t __alignment, size_t __size
28
28
 
29
29
  #if !(defined(_WIN32) && defined(_mm_malloc))
30
30
  static __inline__ void *__attribute__((__always_inline__, __nodebug__,
31
- __malloc__))
32
- _mm_malloc(size_t __size, size_t __align)
33
- {
31
+ __malloc__, __alloc_size__(1),
32
+ __alloc_align__(2)))
33
+ _mm_malloc(size_t __size, size_t __align) {
34
34
  if (__align == 1) {
35
35
  return malloc(__size);
36
36
  }
@@ -21,6 +21,7 @@
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
+ #define cl_khr_subgroup_rotate 1
24
25
  #define cl_khr_extended_bit_ops 1
25
26
  #define cl_khr_integer_dot_product 1
26
27
  #define __opencl_c_integer_dot_product_input_4x8bit 1
@@ -67,6 +68,7 @@
67
68
  #if (__OPENCL_CPP_VERSION__ == 202100 || __OPENCL_C_VERSION__ == 300)
68
69
  // For the SPIR and SPIR-V target all features are supported.
69
70
  #if defined(__SPIR__) || defined(__SPIRV__)
71
+ #define __opencl_c_work_group_collective_functions 1
70
72
  #define __opencl_c_atomic_order_seq_cst 1
71
73
  #define __opencl_c_atomic_scope_device 1
72
74
  #define __opencl_c_atomic_scope_all_devices 1
@@ -80,6 +82,11 @@
80
82
  #define __opencl_c_named_address_space_builtins 1
81
83
  #endif // !defined(__opencl_c_generic_address_space)
82
84
 
85
+ #if defined(cl_intel_subgroups) || defined(cl_khr_subgroups) || defined(__opencl_c_subgroups)
86
+ // Internal feature macro to provide subgroup builtins.
87
+ #define __opencl_subgroup_builtins 1
88
+ #endif
89
+
83
90
  // built-in scalar data types:
84
91
 
85
92
  /**
@@ -197,6 +204,9 @@ typedef double double8 __attribute__((ext_vector_type(8)));
197
204
  typedef double double16 __attribute__((ext_vector_type(16)));
198
205
  #endif
199
206
 
207
+ // An internal alias for half, for use by OpenCLBuiltins.td.
208
+ #define __half half
209
+
200
210
  #if defined(__OPENCL_CPP_VERSION__)
201
211
  #define NULL nullptr
202
212
  #elif defined(__OPENCL_C_VERSION__)