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

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 (203) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_intrinsics.h +7 -7
  4. package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_texture_intrinsics.h +2 -0
  5. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
  6. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_math.h +10 -13
  7. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +1 -0
  8. package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
  9. package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
  10. package/lib/clang/{14.0.0 → 16}/include/altivec.h +501 -262
  11. package/lib/clang/16/include/amxfp16intrin.h +58 -0
  12. package/lib/clang/{14.0.0 → 16}/include/amxintrin.h +32 -2
  13. package/lib/clang/{14.0.0 → 16}/include/arm_acle.h +76 -75
  14. package/lib/clang/{14.0.0 → 16}/include/arm_fp16.h +90 -90
  15. package/lib/clang/{14.0.0 → 16}/include/arm_neon.h +28468 -28638
  16. package/lib/clang/{14.0.0 → 16}/include/arm_neon_sve_bridge.h +0 -2
  17. package/lib/clang/{14.0.0 → 16}/include/arm_sve.h +7848 -7996
  18. package/lib/clang/{14.0.0 → 16}/include/avx2intrin.h +8 -8
  19. package/lib/clang/{14.0.0 → 16}/include/avx512bf16intrin.h +18 -15
  20. package/lib/clang/{14.0.0 → 16}/include/avx512bwintrin.h +12 -12
  21. package/lib/clang/{14.0.0 → 16}/include/avx512fintrin.h +78 -75
  22. package/lib/clang/{14.0.0 → 16}/include/avx512fp16intrin.h +6 -9
  23. package/lib/clang/{14.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
  24. package/lib/clang/{14.0.0 → 16}/include/avx512vlbf16intrin.h +31 -38
  25. package/lib/clang/{14.0.0 → 16}/include/avx512vlbwintrin.h +360 -8
  26. package/lib/clang/{14.0.0 → 16}/include/avx512vlfp16intrin.h +3 -0
  27. package/lib/clang/{14.0.0 → 16}/include/avx512vlintrin.h +81 -95
  28. package/lib/clang/{14.0.0 → 16}/include/avx512vlvnniintrin.h +16 -16
  29. package/lib/clang/16/include/avxifmaintrin.h +177 -0
  30. package/lib/clang/{14.0.0 → 16}/include/avxintrin.h +77 -32
  31. package/lib/clang/16/include/avxneconvertintrin.h +484 -0
  32. package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
  33. package/lib/clang/{14.0.0 → 16}/include/avxvnniintrin.h +16 -16
  34. package/lib/clang/{14.0.0 → 16}/include/bmiintrin.h +6 -2
  35. package/lib/clang/{14.0.0 → 16}/include/cetintrin.h +12 -6
  36. package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
  37. package/lib/clang/{14.0.0 → 16}/include/cpuid.h +12 -1
  38. package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
  39. package/lib/clang/{14.0.0 → 16}/include/emmintrin.h +559 -769
  40. package/lib/clang/{14.0.0 → 16}/include/f16cintrin.h +3 -3
  41. package/lib/clang/{14.0.0 → 16}/include/float.h +17 -10
  42. package/lib/clang/{14.0.0 → 16}/include/gfniintrin.h +7 -5
  43. package/lib/clang/16/include/hlsl/hlsl_basic_types.h +67 -0
  44. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
  45. package/lib/clang/16/include/hlsl.h +15 -0
  46. package/lib/clang/{14.0.0 → 16}/include/hresetintrin.h +2 -2
  47. package/lib/clang/{14.0.0 → 16}/include/ia32intrin.h +11 -11
  48. package/lib/clang/{14.0.0 → 16}/include/immintrin.h +56 -24
  49. package/lib/clang/{14.0.0 → 16}/include/intrin.h +12 -21
  50. package/lib/clang/{14.0.0 → 16}/include/keylockerintrin.h +22 -22
  51. package/lib/clang/16/include/larchintrin.h +234 -0
  52. package/lib/clang/{14.0.0 → 16}/include/limits.h +3 -2
  53. package/lib/clang/{14.0.0 → 16}/include/mm_malloc.h +3 -3
  54. package/lib/clang/{14.0.0 → 16}/include/opencl-c-base.h +29 -0
  55. package/lib/clang/{14.0.0 → 16}/include/opencl-c.h +6904 -7100
  56. package/lib/clang/{14.0.0 → 16}/include/pmmintrin.h +1 -1
  57. package/lib/clang/16/include/ppc_wrappers/bmi2intrin.h +134 -0
  58. package/lib/clang/16/include/ppc_wrappers/bmiintrin.h +165 -0
  59. package/lib/clang/16/include/ppc_wrappers/emmintrin.h +2268 -0
  60. package/lib/clang/16/include/ppc_wrappers/immintrin.h +27 -0
  61. package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
  62. package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -387
  63. package/lib/clang/16/include/ppc_wrappers/pmmintrin.h +145 -0
  64. package/lib/clang/16/include/ppc_wrappers/smmintrin.h +663 -0
  65. package/lib/clang/16/include/ppc_wrappers/tmmintrin.h +453 -0
  66. package/lib/clang/{14.0.0/include/stdnoreturn.h → 16/include/ppc_wrappers/x86gprintrin.h} +7 -6
  67. package/lib/clang/16/include/ppc_wrappers/x86intrin.h +28 -0
  68. package/lib/clang/16/include/ppc_wrappers/xmmintrin.h +1827 -0
  69. package/lib/clang/16/include/prfchiintrin.h +61 -0
  70. package/lib/clang/16/include/raointintrin.h +203 -0
  71. package/lib/clang/16/include/rdpruintrin.h +57 -0
  72. package/lib/clang/{14.0.0 → 16}/include/rdseedintrin.h +3 -3
  73. package/lib/clang/16/include/riscv_vector.h +211 -0
  74. package/lib/clang/{14.0.0 → 16}/include/rtmintrin.h +1 -1
  75. package/lib/clang/{14.0.0 → 16}/include/smmintrin.h +236 -259
  76. package/lib/clang/{14.0.0 → 16}/include/stdarg.h +23 -7
  77. package/lib/clang/{14.0.0 → 16}/include/stdatomic.h +7 -7
  78. package/lib/clang/{14.0.0 → 16}/include/stdbool.h +10 -7
  79. package/lib/clang/{14.0.0 → 16}/include/stddef.h +9 -2
  80. package/lib/clang/{14.0.0 → 16}/include/stdint.h +158 -40
  81. package/lib/clang/16/include/stdnoreturn.h +29 -0
  82. package/lib/clang/{14.0.0 → 16}/include/uintrintrin.h +8 -8
  83. package/lib/clang/{14.0.0 → 16}/include/unwind.h +10 -6
  84. package/lib/clang/16/include/velintrin.h +71 -0
  85. package/lib/clang/16/include/velintrin_approx.h +120 -0
  86. package/lib/clang/16/include/velintrin_gen.h +1257 -0
  87. package/lib/clang/{14.0.0 → 16}/include/wasm_simd128.h +2 -2
  88. package/lib/clang/16/include/x86gprintrin.h +65 -0
  89. package/lib/clang/{14.0.0 → 16}/include/x86intrin.h +4 -0
  90. package/lib/clang/{14.0.0 → 16}/include/xmmintrin.h +10 -5
  91. package/package.json +6 -6
  92. package/lib/clang/14.0.0/include/ppc_wrappers/emmintrin.h +0 -2325
  93. package/lib/clang/14.0.0/include/ppc_wrappers/pmmintrin.h +0 -151
  94. package/lib/clang/14.0.0/include/ppc_wrappers/smmintrin.h +0 -110
  95. package/lib/clang/14.0.0/include/ppc_wrappers/tmmintrin.h +0 -496
  96. package/lib/clang/14.0.0/include/ppc_wrappers/xmmintrin.h +0 -1844
  97. package/lib/clang/14.0.0/include/riscv_vector.h +0 -95423
  98. package/lib/clang/14.0.0/include/x86gprintrin.h +0 -35
  99. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
  100. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
  101. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_complex_builtins.h +0 -0
  102. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
  103. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +0 -0
  104. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math.h +0 -0
  105. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
  106. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +0 -0
  107. /package/lib/clang/{14.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
  108. /package/lib/clang/{14.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
  109. /package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_aes.h +0 -0
  110. /package/lib/clang/{14.0.0 → 16}/include/adxintrin.h +0 -0
  111. /package/lib/clang/{14.0.0 → 16}/include/ammintrin.h +0 -0
  112. /package/lib/clang/{14.0.0 → 16}/include/arm64intr.h +0 -0
  113. /package/lib/clang/{14.0.0 → 16}/include/arm_bf16.h +0 -0
  114. /package/lib/clang/{14.0.0 → 16}/include/arm_cde.h +0 -0
  115. /package/lib/clang/{14.0.0 → 16}/include/arm_cmse.h +0 -0
  116. /package/lib/clang/{14.0.0 → 16}/include/arm_mve.h +0 -0
  117. /package/lib/clang/{14.0.0 → 16}/include/armintr.h +0 -0
  118. /package/lib/clang/{14.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
  119. /package/lib/clang/{14.0.0 → 16}/include/avx512cdintrin.h +0 -0
  120. /package/lib/clang/{14.0.0 → 16}/include/avx512dqintrin.h +0 -0
  121. /package/lib/clang/{14.0.0 → 16}/include/avx512erintrin.h +0 -0
  122. /package/lib/clang/{14.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
  123. /package/lib/clang/{14.0.0 → 16}/include/avx512pfintrin.h +0 -0
  124. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmi2intrin.h +0 -0
  125. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
  126. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
  127. /package/lib/clang/{14.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
  128. /package/lib/clang/{14.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
  129. /package/lib/clang/{14.0.0 → 16}/include/avx512vldqintrin.h +0 -0
  130. /package/lib/clang/{14.0.0 → 16}/include/avx512vlvbmi2intrin.h +0 -0
  131. /package/lib/clang/{14.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
  132. /package/lib/clang/{14.0.0 → 16}/include/avx512vnniintrin.h +0 -0
  133. /package/lib/clang/{14.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
  134. /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
  135. /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
  136. /package/lib/clang/{14.0.0 → 16}/include/bmi2intrin.h +0 -0
  137. /package/lib/clang/{14.0.0 → 16}/include/builtins.h +0 -0
  138. /package/lib/clang/{14.0.0 → 16}/include/cet.h +0 -0
  139. /package/lib/clang/{14.0.0 → 16}/include/cldemoteintrin.h +0 -0
  140. /package/lib/clang/{14.0.0 → 16}/include/clflushoptintrin.h +0 -0
  141. /package/lib/clang/{14.0.0 → 16}/include/clwbintrin.h +0 -0
  142. /package/lib/clang/{14.0.0 → 16}/include/clzerointrin.h +0 -0
  143. /package/lib/clang/{14.0.0 → 16}/include/crc32intrin.h +0 -0
  144. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
  145. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/complex +0 -0
  146. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/new +0 -0
  147. /package/lib/clang/{14.0.0 → 16}/include/enqcmdintrin.h +0 -0
  148. /package/lib/clang/{14.0.0 → 16}/include/fma4intrin.h +0 -0
  149. /package/lib/clang/{14.0.0 → 16}/include/fmaintrin.h +0 -0
  150. /package/lib/clang/{14.0.0 → 16}/include/fxsrintrin.h +0 -0
  151. /package/lib/clang/{14.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
  152. /package/lib/clang/{14.0.0 → 16}/include/hexagon_protos.h +0 -0
  153. /package/lib/clang/{14.0.0 → 16}/include/hexagon_types.h +0 -0
  154. /package/lib/clang/{14.0.0 → 16}/include/htmintrin.h +0 -0
  155. /package/lib/clang/{14.0.0 → 16}/include/htmxlintrin.h +0 -0
  156. /package/lib/clang/{14.0.0 → 16}/include/hvx_hexagon_protos.h +0 -0
  157. /package/lib/clang/{14.0.0 → 16}/include/inttypes.h +0 -0
  158. /package/lib/clang/{14.0.0 → 16}/include/invpcidintrin.h +0 -0
  159. /package/lib/clang/{14.0.0 → 16}/include/iso646.h +0 -0
  160. /package/lib/clang/{14.0.0 → 16}/include/lwpintrin.h +0 -0
  161. /package/lib/clang/{14.0.0 → 16}/include/lzcntintrin.h +0 -0
  162. /package/lib/clang/{14.0.0 → 16}/include/mm3dnow.h +0 -0
  163. /package/lib/clang/{14.0.0 → 16}/include/mmintrin.h +0 -0
  164. /package/lib/clang/{14.0.0 → 16}/include/module.modulemap +0 -0
  165. /package/lib/clang/{14.0.0 → 16}/include/movdirintrin.h +0 -0
  166. /package/lib/clang/{14.0.0 → 16}/include/msa.h +0 -0
  167. /package/lib/clang/{14.0.0 → 16}/include/mwaitxintrin.h +0 -0
  168. /package/lib/clang/{14.0.0 → 16}/include/nmmintrin.h +0 -0
  169. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  170. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
  171. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex +0 -0
  172. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex.h +0 -0
  173. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
  174. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
  175. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/new +0 -0
  176. /package/lib/clang/{14.0.0 → 16}/include/pconfigintrin.h +0 -0
  177. /package/lib/clang/{14.0.0 → 16}/include/pkuintrin.h +0 -0
  178. /package/lib/clang/{14.0.0 → 16}/include/popcntintrin.h +0 -0
  179. /package/lib/clang/{14.0.0 → 16}/include/prfchwintrin.h +0 -0
  180. /package/lib/clang/{14.0.0 → 16}/include/ptwriteintrin.h +0 -0
  181. /package/lib/clang/{14.0.0 → 16}/include/s390intrin.h +0 -0
  182. /package/lib/clang/{14.0.0 → 16}/include/serializeintrin.h +0 -0
  183. /package/lib/clang/{14.0.0 → 16}/include/sgxintrin.h +0 -0
  184. /package/lib/clang/{14.0.0 → 16}/include/shaintrin.h +0 -0
  185. /package/lib/clang/{14.0.0 → 16}/include/stdalign.h +0 -0
  186. /package/lib/clang/{14.0.0 → 16}/include/tbmintrin.h +0 -0
  187. /package/lib/clang/{14.0.0 → 16}/include/tgmath.h +0 -0
  188. /package/lib/clang/{14.0.0 → 16}/include/tmmintrin.h +0 -0
  189. /package/lib/clang/{14.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
  190. /package/lib/clang/{14.0.0 → 16}/include/vadefs.h +0 -0
  191. /package/lib/clang/{14.0.0 → 16}/include/vaesintrin.h +0 -0
  192. /package/lib/clang/{14.0.0 → 16}/include/varargs.h +0 -0
  193. /package/lib/clang/{14.0.0 → 16}/include/vecintrin.h +0 -0
  194. /package/lib/clang/{14.0.0 → 16}/include/vpclmulqdqintrin.h +0 -0
  195. /package/lib/clang/{14.0.0 → 16}/include/waitpkgintrin.h +0 -0
  196. /package/lib/clang/{14.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
  197. /package/lib/clang/{14.0.0 → 16}/include/wmmintrin.h +0 -0
  198. /package/lib/clang/{14.0.0 → 16}/include/xopintrin.h +0 -0
  199. /package/lib/clang/{14.0.0 → 16}/include/xsavecintrin.h +0 -0
  200. /package/lib/clang/{14.0.0 → 16}/include/xsaveintrin.h +0 -0
  201. /package/lib/clang/{14.0.0 → 16}/include/xsaveoptintrin.h +0 -0
  202. /package/lib/clang/{14.0.0 → 16}/include/xsavesintrin.h +0 -0
  203. /package/lib/clang/{14.0.0 → 16}/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.
@@ -38,9 +38,10 @@
38
38
  # undef FLT_MANT_DIG
39
39
  # undef DBL_MANT_DIG
40
40
  # undef LDBL_MANT_DIG
41
- # if __STDC_VERSION__ >= 199901L || !defined(__STRICT_ANSI__) || \
42
- __cplusplus >= 201103L || \
43
- (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
41
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
42
+ !defined(__STRICT_ANSI__) || \
43
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
44
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
44
45
  # undef DECIMAL_DIG
45
46
  # endif
46
47
  # undef FLT_DIG
@@ -67,9 +68,10 @@
67
68
  # undef FLT_MIN
68
69
  # undef DBL_MIN
69
70
  # undef LDBL_MIN
70
- # if __STDC_VERSION__ >= 201112L || !defined(__STRICT_ANSI__) || \
71
- __cplusplus >= 201703L || \
72
- (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
71
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
72
+ !defined(__STRICT_ANSI__) || \
73
+ (defined(__cplusplus) && __cplusplus >= 201703L) || \
74
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
73
75
  # undef FLT_TRUE_MIN
74
76
  # undef DBL_TRUE_MIN
75
77
  # undef LDBL_TRUE_MIN
@@ -84,7 +86,10 @@
84
86
 
85
87
  /* Characteristics of floating point types, C99 5.2.4.2.2 */
86
88
 
89
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
90
+ (defined(__cplusplus) && __cplusplus >= 201103L)
87
91
  #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
92
+ #endif
88
93
  #define FLT_ROUNDS (__builtin_flt_rounds())
89
94
  #define FLT_RADIX __FLT_RADIX__
90
95
 
@@ -92,8 +97,9 @@
92
97
  #define DBL_MANT_DIG __DBL_MANT_DIG__
93
98
  #define LDBL_MANT_DIG __LDBL_MANT_DIG__
94
99
 
95
- #if __STDC_VERSION__ >= 199901L || !defined(__STRICT_ANSI__) || \
96
- __cplusplus >= 201103L || \
100
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
101
+ !defined(__STRICT_ANSI__) || \
102
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
97
103
  (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
98
104
  # define DECIMAL_DIG __DECIMAL_DIG__
99
105
  #endif
@@ -130,8 +136,9 @@
130
136
  #define DBL_MIN __DBL_MIN__
131
137
  #define LDBL_MIN __LDBL_MIN__
132
138
 
133
- #if __STDC_VERSION__ >= 201112L || !defined(__STRICT_ANSI__) || \
134
- __cplusplus >= 201703L || \
139
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
140
+ !defined(__STRICT_ANSI__) || \
141
+ (defined(__cplusplus) && __cplusplus >= 201703L) || \
135
142
  (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
136
143
  # define FLT_TRUE_MIN __FLT_DENORM_MIN__
137
144
  # define DBL_TRUE_MIN __DBL_DENORM_MIN__
@@ -20,10 +20,12 @@
20
20
  /* Default attributes for YMM unmasked form. */
21
21
  #define __DEFAULT_FN_ATTRS_Y __attribute__((__always_inline__, __nodebug__, __target__("avx,gfni"), __min_vector_width__(256)))
22
22
 
23
- /* Default attributes for ZMM forms. */
24
- #define __DEFAULT_FN_ATTRS_Z __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,gfni"), __min_vector_width__(512)))
23
+ /* Default attributes for ZMM unmasked forms. */
24
+ #define __DEFAULT_FN_ATTRS_Z __attribute__((__always_inline__, __nodebug__, __target__("avx512f,gfni"), __min_vector_width__(512)))
25
+ /* Default attributes for ZMM masked forms. */
26
+ #define __DEFAULT_FN_ATTRS_Z_MASK __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,gfni"), __min_vector_width__(512)))
25
27
 
26
- /* Default attributes for VLX forms. */
28
+ /* Default attributes for VLX masked forms. */
27
29
  #define __DEFAULT_FN_ATTRS_VL128 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,avx512vl,gfni"), __min_vector_width__(128)))
28
30
  #define __DEFAULT_FN_ATTRS_VL256 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,avx512vl,gfni"), __min_vector_width__(256)))
29
31
 
@@ -99,7 +101,7 @@ _mm512_gf2p8mul_epi8(__m512i __A, __m512i __B)
99
101
  (__v64qi) __B);
100
102
  }
101
103
 
102
- static __inline__ __m512i __DEFAULT_FN_ATTRS_Z
104
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_Z_MASK
103
105
  _mm512_mask_gf2p8mul_epi8(__m512i __S, __mmask64 __U, __m512i __A, __m512i __B)
104
106
  {
105
107
  return (__m512i) __builtin_ia32_selectb_512(__U,
@@ -107,7 +109,7 @@ _mm512_mask_gf2p8mul_epi8(__m512i __S, __mmask64 __U, __m512i __A, __m512i __B)
107
109
  (__v64qi) __S);
108
110
  }
109
111
 
110
- static __inline__ __m512i __DEFAULT_FN_ATTRS_Z
112
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_Z_MASK
111
113
  _mm512_maskz_gf2p8mul_epi8(__mmask64 __U, __m512i __A, __m512i __B)
112
114
  {
113
115
  return _mm512_mask_gf2p8mul_epi8((__m512i)_mm512_setzero_si512(),
@@ -0,0 +1,67 @@
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
+ namespace hlsl {
13
+ // built-in scalar data types:
14
+
15
+ #ifdef __HLSL_ENABLE_16_BIT
16
+ // 16-bit integer.
17
+ typedef unsigned short uint16_t;
18
+ typedef short int16_t;
19
+ #endif
20
+
21
+ // unsigned 32-bit integer.
22
+ typedef unsigned int uint;
23
+
24
+ // 64-bit integer.
25
+ typedef unsigned long uint64_t;
26
+ typedef long int64_t;
27
+
28
+ // built-in vector data types:
29
+
30
+ #ifdef __HLSL_ENABLE_16_BIT
31
+ typedef vector<int16_t, 2> int16_t2;
32
+ typedef vector<int16_t, 3> int16_t3;
33
+ typedef vector<int16_t, 4> int16_t4;
34
+ typedef vector<uint16_t, 2> uint16_t2;
35
+ typedef vector<uint16_t, 3> uint16_t3;
36
+ typedef vector<uint16_t, 4> uint16_t4;
37
+ #endif
38
+
39
+ typedef vector<int, 2> int2;
40
+ typedef vector<int, 3> int3;
41
+ typedef vector<int, 4> int4;
42
+ typedef vector<uint, 2> uint2;
43
+ typedef vector<uint, 3> uint3;
44
+ typedef vector<uint, 4> uint4;
45
+ typedef vector<int64_t, 2> int64_t2;
46
+ typedef vector<int64_t, 3> int64_t3;
47
+ typedef vector<int64_t, 4> int64_t4;
48
+ typedef vector<uint64_t, 2> uint64_t2;
49
+ typedef vector<uint64_t, 3> uint64_t3;
50
+ typedef vector<uint64_t, 4> uint64_t4;
51
+
52
+ #ifdef __HLSL_ENABLE_16_BIT
53
+ typedef vector<half, 2> half2;
54
+ typedef vector<half, 3> half3;
55
+ typedef vector<half, 4> half4;
56
+ #endif
57
+
58
+ typedef vector<float, 2> float2;
59
+ typedef vector<float, 3> float3;
60
+ typedef vector<float, 4> float4;
61
+ typedef vector<double, 2> double2;
62
+ typedef vector<double, 3> double3;
63
+ typedef vector<double, 4> double4;
64
+
65
+ } // namespace hlsl
66
+
67
+ #endif //_HLSL_HLSL_BASIC_TYPES_H_
@@ -0,0 +1,223 @@
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
+ namespace hlsl {
13
+
14
+ __attribute__((availability(shadermodel, introduced = 6.0)))
15
+ __attribute__((clang_builtin_alias(__builtin_hlsl_wave_active_count_bits))) uint
16
+ WaveActiveCountBits(bool bBit);
17
+
18
+ // abs builtins
19
+ #ifdef __HLSL_ENABLE_16_BIT
20
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
21
+ int16_t abs(int16_t);
22
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
23
+ int16_t2 abs(int16_t2);
24
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
25
+ int16_t3 abs(int16_t3);
26
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
27
+ int16_t4 abs(int16_t4);
28
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs))) half abs(half);
29
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
30
+ half2 abs(half2);
31
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
32
+ half3 abs(half3);
33
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
34
+ half4 abs(half4);
35
+ #endif
36
+
37
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs))) int abs(int);
38
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs))) int2 abs(int2);
39
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs))) int3 abs(int3);
40
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs))) int4 abs(int4);
41
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs))) float
42
+ abs(float);
43
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
44
+ float2 abs(float2);
45
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
46
+ float3 abs(float3);
47
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
48
+ float4 abs(float4);
49
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
50
+ int64_t abs(int64_t);
51
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
52
+ int64_t2 abs(int64_t2);
53
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
54
+ int64_t3 abs(int64_t3);
55
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
56
+ int64_t4 abs(int64_t4);
57
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs))) double
58
+ abs(double);
59
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
60
+ double2 abs(double2);
61
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
62
+ double3 abs(double3);
63
+ __attribute__((clang_builtin_alias(__builtin_elementwise_abs)))
64
+ double4 abs(double4);
65
+
66
+ // sqrt builtins
67
+ __attribute__((clang_builtin_alias(__builtin_sqrt))) double sqrt(double In);
68
+ __attribute__((clang_builtin_alias(__builtin_sqrtf))) float sqrt(float In);
69
+
70
+ #ifdef __HLSL_ENABLE_16_BIT
71
+ __attribute__((clang_builtin_alias(__builtin_sqrtf16))) half sqrt(half In);
72
+ #endif
73
+
74
+ // ceil builtins
75
+ #ifdef __HLSL_ENABLE_16_BIT
76
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil)))
77
+ half ceil(half);
78
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil)))
79
+ half2 ceil(half2);
80
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil)))
81
+ half3 ceil(half3);
82
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil)))
83
+ half4 ceil(half4);
84
+ #endif
85
+
86
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil))) float
87
+ ceil(float);
88
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil)))
89
+ float2 ceil(float2);
90
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil)))
91
+ float3 ceil(float3);
92
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil)))
93
+ float4 ceil(float4);
94
+
95
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil))) double
96
+ ceil(double);
97
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil)))
98
+ double2 ceil(double2);
99
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil)))
100
+ double3 ceil(double3);
101
+ __attribute__((clang_builtin_alias(__builtin_elementwise_ceil)))
102
+ double4 ceil(double4);
103
+
104
+ // floor builtins
105
+ #ifdef __HLSL_ENABLE_16_BIT
106
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor)))
107
+ half floor(half);
108
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor)))
109
+ half2 floor(half2);
110
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor)))
111
+ half3 floor(half3);
112
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor)))
113
+ half4 floor(half4);
114
+ #endif
115
+
116
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor))) float
117
+ floor(float);
118
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor)))
119
+ float2 floor(float2);
120
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor)))
121
+ float3 floor(float3);
122
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor)))
123
+ float4 floor(float4);
124
+
125
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor))) double
126
+ floor(double);
127
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor)))
128
+ double2 floor(double2);
129
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor)))
130
+ double3 floor(double3);
131
+ __attribute__((clang_builtin_alias(__builtin_elementwise_floor)))
132
+ double4 floor(double4);
133
+
134
+ // cos builtins
135
+ #ifdef __HLSL_ENABLE_16_BIT
136
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos))) half cos(half);
137
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos)))
138
+ half2 cos(half2);
139
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos)))
140
+ half3 cos(half3);
141
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos)))
142
+ half4 cos(half4);
143
+ #endif
144
+
145
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos))) float
146
+ cos(float);
147
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos)))
148
+ float2 cos(float2);
149
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos)))
150
+ float3 cos(float3);
151
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos)))
152
+ float4 cos(float4);
153
+
154
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos))) double
155
+ cos(double);
156
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos)))
157
+ double2 cos(double2);
158
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos)))
159
+ double3 cos(double3);
160
+ __attribute__((clang_builtin_alias(__builtin_elementwise_cos)))
161
+ double4 cos(double4);
162
+
163
+ // sin builtins
164
+ #ifdef __HLSL_ENABLE_16_BIT
165
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin))) half sin(half);
166
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin)))
167
+ half2 sin(half2);
168
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin)))
169
+ half3 sin(half3);
170
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin)))
171
+ half4 sin(half4);
172
+ #endif
173
+
174
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin))) float
175
+ sin(float);
176
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin)))
177
+ float2 sin(float2);
178
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin)))
179
+ float3 sin(float3);
180
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin)))
181
+ float4 sin(float4);
182
+
183
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin))) double
184
+ sin(double);
185
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin)))
186
+ double2 sin(double2);
187
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin)))
188
+ double3 sin(double3);
189
+ __attribute__((clang_builtin_alias(__builtin_elementwise_sin)))
190
+ double4 sin(double4);
191
+
192
+ // trunc builtins
193
+ #ifdef __HLSL_ENABLE_16_BIT
194
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc)))
195
+ half trunc(half);
196
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc)))
197
+ half2 trunc(half2);
198
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc)))
199
+ half3 trunc(half3);
200
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc)))
201
+ half4 trunc(half4);
202
+ #endif
203
+
204
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc))) float
205
+ trunc(float);
206
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc)))
207
+ float2 trunc(float2);
208
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc)))
209
+ float3 trunc(float3);
210
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc)))
211
+ float4 trunc(float4);
212
+
213
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc))) double
214
+ trunc(double);
215
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc)))
216
+ double2 trunc(double2);
217
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc)))
218
+ double3 trunc(double3);
219
+ __attribute__((clang_builtin_alias(__builtin_elementwise_trunc)))
220
+ double4 trunc(double4);
221
+
222
+ } // namespace hlsl
223
+ #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