@cpp-linter/clang-tidy-darwin-x64 13.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 +2 -2
  3. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_complex_builtins.h +3 -3
  4. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_intrinsics.h +38 -6
  5. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +6 -0
  6. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_math.h +1 -1
  7. package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +62 -7
  8. package/lib/clang/16/include/__clang_cuda_texture_intrinsics.h +742 -0
  9. package/lib/clang/{13.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
  10. package/lib/clang/{13.0.0 → 16}/include/__clang_hip_math.h +10 -13
  11. package/lib/clang/{13.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +18 -4
  12. package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
  13. package/lib/clang/{13.0.0 → 16}/include/__wmmintrin_aes.h +1 -1
  14. package/lib/clang/{13.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
  15. package/lib/clang/{13.0.0 → 16}/include/altivec.h +691 -342
  16. package/lib/clang/{13.0.0 → 16}/include/ammintrin.h +4 -0
  17. package/lib/clang/16/include/amxfp16intrin.h +58 -0
  18. package/lib/clang/{13.0.0 → 16}/include/amxintrin.h +49 -18
  19. package/lib/clang/{13.0.0 → 16}/include/arm_acle.h +80 -73
  20. package/lib/clang/{13.0.0 → 16}/include/arm_fp16.h +90 -90
  21. package/lib/clang/{13.0.0 → 16}/include/arm_neon.h +28607 -28779
  22. package/lib/clang/16/include/arm_neon_sve_bridge.h +182 -0
  23. package/lib/clang/{13.0.0 → 16}/include/arm_sve.h +7848 -7996
  24. package/lib/clang/{13.0.0 → 16}/include/avx2intrin.h +189 -189
  25. package/lib/clang/{13.0.0 → 16}/include/avx512bf16intrin.h +21 -18
  26. package/lib/clang/{13.0.0 → 16}/include/avx512bwintrin.h +83 -83
  27. package/lib/clang/{13.0.0 → 16}/include/avx512dqintrin.h +365 -365
  28. package/lib/clang/{13.0.0 → 16}/include/avx512erintrin.h +102 -102
  29. package/lib/clang/{13.0.0 → 16}/include/avx512fintrin.h +1627 -1620
  30. package/lib/clang/16/include/avx512fp16intrin.h +3346 -0
  31. package/lib/clang/{13.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
  32. package/lib/clang/{13.0.0 → 16}/include/avx512vbmi2intrin.h +48 -48
  33. package/lib/clang/{13.0.0 → 16}/include/avx512vlbf16intrin.h +82 -41
  34. package/lib/clang/{13.0.0 → 16}/include/avx512vlbwintrin.h +454 -102
  35. package/lib/clang/{13.0.0 → 16}/include/avx512vldqintrin.h +134 -134
  36. package/lib/clang/16/include/avx512vlfp16intrin.h +2071 -0
  37. package/lib/clang/{13.0.0 → 16}/include/avx512vlintrin.h +596 -610
  38. package/lib/clang/{13.0.0 → 16}/include/avx512vlvbmi2intrin.h +96 -96
  39. package/lib/clang/{13.0.0 → 16}/include/avx512vlvnniintrin.h +24 -24
  40. package/lib/clang/16/include/avxifmaintrin.h +177 -0
  41. package/lib/clang/{13.0.0 → 16}/include/avxintrin.h +266 -224
  42. package/lib/clang/16/include/avxneconvertintrin.h +484 -0
  43. package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
  44. package/lib/clang/{13.0.0 → 16}/include/avxvnniintrin.h +16 -16
  45. package/lib/clang/{13.0.0 → 16}/include/bmiintrin.h +6 -2
  46. package/lib/clang/{13.0.0 → 16}/include/cetintrin.h +20 -4
  47. package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
  48. package/lib/clang/{13.0.0 → 16}/include/cpuid.h +14 -2
  49. package/lib/clang/16/include/crc32intrin.h +100 -0
  50. package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
  51. package/lib/clang/{13.0.0 → 16}/include/emmintrin.h +573 -779
  52. package/lib/clang/{13.0.0 → 16}/include/f16cintrin.h +4 -4
  53. package/lib/clang/{13.0.0 → 16}/include/float.h +22 -6
  54. package/lib/clang/{13.0.0 → 16}/include/gfniintrin.h +54 -53
  55. package/lib/clang/{13.0.0 → 16}/include/hexagon_protos.h +0 -11
  56. package/lib/clang/{13.0.0 → 16}/include/hexagon_types.h +0 -32
  57. package/lib/clang/16/include/hlsl/hlsl_basic_types.h +67 -0
  58. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
  59. package/lib/clang/16/include/hlsl.h +15 -0
  60. package/lib/clang/{13.0.0 → 16}/include/hresetintrin.h +2 -2
  61. package/lib/clang/{13.0.0 → 16}/include/hvx_hexagon_protos.h +1200 -409
  62. package/lib/clang/{13.0.0 → 16}/include/ia32intrin.h +17 -17
  63. package/lib/clang/{13.0.0 → 16}/include/immintrin.h +74 -24
  64. package/lib/clang/{13.0.0 → 16}/include/intrin.h +34 -35
  65. package/lib/clang/{13.0.0 → 16}/include/keylockerintrin.h +24 -30
  66. package/lib/clang/16/include/larchintrin.h +234 -0
  67. package/lib/clang/{13.0.0 → 16}/include/limits.h +22 -1
  68. package/lib/clang/{13.0.0 → 16}/include/mm_malloc.h +3 -3
  69. package/lib/clang/{13.0.0 → 16}/include/mmintrin.h +4 -0
  70. package/lib/clang/{13.0.0 → 16}/include/nmmintrin.h +4 -0
  71. package/lib/clang/{13.0.0 → 16}/include/opencl-c-base.h +98 -11
  72. package/lib/clang/{13.0.0 → 16}/include/opencl-c.h +7252 -6208
  73. package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex +10 -1
  74. package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex.h +9 -0
  75. package/lib/clang/{13.0.0 → 16}/include/pmmintrin.h +5 -1
  76. package/lib/clang/16/include/ppc_wrappers/bmi2intrin.h +134 -0
  77. package/lib/clang/16/include/ppc_wrappers/bmiintrin.h +165 -0
  78. package/lib/clang/16/include/ppc_wrappers/emmintrin.h +2268 -0
  79. package/lib/clang/16/include/ppc_wrappers/immintrin.h +27 -0
  80. package/lib/clang/{13.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
  81. package/lib/clang/{13.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -386
  82. package/lib/clang/16/include/ppc_wrappers/pmmintrin.h +145 -0
  83. package/lib/clang/16/include/ppc_wrappers/smmintrin.h +663 -0
  84. package/lib/clang/16/include/ppc_wrappers/tmmintrin.h +453 -0
  85. package/lib/clang/{13.0.0/include/stdnoreturn.h → 16/include/ppc_wrappers/x86gprintrin.h} +7 -6
  86. package/lib/clang/16/include/ppc_wrappers/x86intrin.h +28 -0
  87. package/lib/clang/16/include/ppc_wrappers/xmmintrin.h +1827 -0
  88. package/lib/clang/16/include/prfchiintrin.h +61 -0
  89. package/lib/clang/{13.0.0 → 16}/include/prfchwintrin.h +5 -2
  90. package/lib/clang/16/include/raointintrin.h +203 -0
  91. package/lib/clang/16/include/rdpruintrin.h +57 -0
  92. package/lib/clang/{13.0.0 → 16}/include/rdseedintrin.h +3 -3
  93. package/lib/clang/16/include/riscv_vector.h +211 -0
  94. package/lib/clang/{13.0.0 → 16}/include/rtmintrin.h +1 -1
  95. package/lib/clang/{13.0.0 → 16}/include/smmintrin.h +260 -362
  96. package/lib/clang/{13.0.0 → 16}/include/stdarg.h +23 -7
  97. package/lib/clang/{13.0.0 → 16}/include/stdatomic.h +14 -1
  98. package/lib/clang/{13.0.0 → 16}/include/stdbool.h +10 -7
  99. package/lib/clang/{13.0.0 → 16}/include/stddef.h +9 -2
  100. package/lib/clang/{13.0.0 → 16}/include/stdint.h +311 -25
  101. package/lib/clang/16/include/stdnoreturn.h +29 -0
  102. package/lib/clang/{13.0.0 → 16}/include/tmmintrin.h +10 -6
  103. package/lib/clang/{13.0.0 → 16}/include/uintrintrin.h +8 -8
  104. package/lib/clang/{13.0.0 → 16}/include/unwind.h +12 -7
  105. package/lib/clang/{13.0.0 → 16}/include/vaesintrin.h +1 -1
  106. package/lib/clang/16/include/velintrin.h +71 -0
  107. package/lib/clang/16/include/velintrin_approx.h +120 -0
  108. package/lib/clang/16/include/velintrin_gen.h +1257 -0
  109. package/lib/clang/{13.0.0 → 16}/include/vpclmulqdqintrin.h +6 -6
  110. package/lib/clang/{13.0.0 → 16}/include/wasm_simd128.h +169 -26
  111. package/lib/clang/{13.0.0 → 16}/include/wmmintrin.h +4 -0
  112. package/lib/clang/16/include/x86gprintrin.h +65 -0
  113. package/lib/clang/{13.0.0 → 16}/include/x86intrin.h +4 -0
  114. package/lib/clang/{13.0.0 → 16}/include/xmmintrin.h +19 -10
  115. package/lib/clang/{13.0.0 → 16}/include/xopintrin.h +31 -31
  116. package/package.json +6 -6
  117. package/lib/clang/13.0.0/include/ppc_wrappers/emmintrin.h +0 -2324
  118. package/lib/clang/13.0.0/include/ppc_wrappers/pmmintrin.h +0 -150
  119. package/lib/clang/13.0.0/include/ppc_wrappers/smmintrin.h +0 -109
  120. package/lib/clang/13.0.0/include/ppc_wrappers/tmmintrin.h +0 -495
  121. package/lib/clang/13.0.0/include/ppc_wrappers/xmmintrin.h +0 -1843
  122. package/lib/clang/13.0.0/include/riscv_vector.h +0 -123865
  123. package/lib/clang/13.0.0/include/x86gprintrin.h +0 -23
  124. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
  125. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
  126. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
  127. /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
  128. /package/lib/clang/{13.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
  129. /package/lib/clang/{13.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
  130. /package/lib/clang/{13.0.0 → 16}/include/adxintrin.h +0 -0
  131. /package/lib/clang/{13.0.0 → 16}/include/arm64intr.h +0 -0
  132. /package/lib/clang/{13.0.0 → 16}/include/arm_bf16.h +0 -0
  133. /package/lib/clang/{13.0.0 → 16}/include/arm_cde.h +0 -0
  134. /package/lib/clang/{13.0.0 → 16}/include/arm_cmse.h +0 -0
  135. /package/lib/clang/{13.0.0 → 16}/include/arm_mve.h +0 -0
  136. /package/lib/clang/{13.0.0 → 16}/include/armintr.h +0 -0
  137. /package/lib/clang/{13.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
  138. /package/lib/clang/{13.0.0 → 16}/include/avx512cdintrin.h +0 -0
  139. /package/lib/clang/{13.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
  140. /package/lib/clang/{13.0.0 → 16}/include/avx512pfintrin.h +0 -0
  141. /package/lib/clang/{13.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
  142. /package/lib/clang/{13.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
  143. /package/lib/clang/{13.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
  144. /package/lib/clang/{13.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
  145. /package/lib/clang/{13.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
  146. /package/lib/clang/{13.0.0 → 16}/include/avx512vnniintrin.h +0 -0
  147. /package/lib/clang/{13.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
  148. /package/lib/clang/{13.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
  149. /package/lib/clang/{13.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
  150. /package/lib/clang/{13.0.0 → 16}/include/bmi2intrin.h +0 -0
  151. /package/lib/clang/{13.0.0 → 16}/include/builtins.h +0 -0
  152. /package/lib/clang/{13.0.0 → 16}/include/cet.h +0 -0
  153. /package/lib/clang/{13.0.0 → 16}/include/cldemoteintrin.h +0 -0
  154. /package/lib/clang/{13.0.0 → 16}/include/clflushoptintrin.h +0 -0
  155. /package/lib/clang/{13.0.0 → 16}/include/clwbintrin.h +0 -0
  156. /package/lib/clang/{13.0.0 → 16}/include/clzerointrin.h +0 -0
  157. /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
  158. /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/complex +0 -0
  159. /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/new +0 -0
  160. /package/lib/clang/{13.0.0 → 16}/include/enqcmdintrin.h +0 -0
  161. /package/lib/clang/{13.0.0 → 16}/include/fma4intrin.h +0 -0
  162. /package/lib/clang/{13.0.0 → 16}/include/fmaintrin.h +0 -0
  163. /package/lib/clang/{13.0.0 → 16}/include/fxsrintrin.h +0 -0
  164. /package/lib/clang/{13.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
  165. /package/lib/clang/{13.0.0 → 16}/include/htmintrin.h +0 -0
  166. /package/lib/clang/{13.0.0 → 16}/include/htmxlintrin.h +0 -0
  167. /package/lib/clang/{13.0.0 → 16}/include/inttypes.h +0 -0
  168. /package/lib/clang/{13.0.0 → 16}/include/invpcidintrin.h +0 -0
  169. /package/lib/clang/{13.0.0 → 16}/include/iso646.h +0 -0
  170. /package/lib/clang/{13.0.0 → 16}/include/lwpintrin.h +0 -0
  171. /package/lib/clang/{13.0.0 → 16}/include/lzcntintrin.h +0 -0
  172. /package/lib/clang/{13.0.0 → 16}/include/mm3dnow.h +0 -0
  173. /package/lib/clang/{13.0.0 → 16}/include/module.modulemap +0 -0
  174. /package/lib/clang/{13.0.0 → 16}/include/movdirintrin.h +0 -0
  175. /package/lib/clang/{13.0.0 → 16}/include/msa.h +0 -0
  176. /package/lib/clang/{13.0.0 → 16}/include/mwaitxintrin.h +0 -0
  177. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  178. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
  179. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
  180. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
  181. /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/new +0 -0
  182. /package/lib/clang/{13.0.0 → 16}/include/pconfigintrin.h +0 -0
  183. /package/lib/clang/{13.0.0 → 16}/include/pkuintrin.h +0 -0
  184. /package/lib/clang/{13.0.0 → 16}/include/popcntintrin.h +0 -0
  185. /package/lib/clang/{13.0.0 → 16}/include/ptwriteintrin.h +0 -0
  186. /package/lib/clang/{13.0.0 → 16}/include/s390intrin.h +0 -0
  187. /package/lib/clang/{13.0.0 → 16}/include/serializeintrin.h +0 -0
  188. /package/lib/clang/{13.0.0 → 16}/include/sgxintrin.h +0 -0
  189. /package/lib/clang/{13.0.0 → 16}/include/shaintrin.h +0 -0
  190. /package/lib/clang/{13.0.0 → 16}/include/stdalign.h +0 -0
  191. /package/lib/clang/{13.0.0 → 16}/include/tbmintrin.h +0 -0
  192. /package/lib/clang/{13.0.0 → 16}/include/tgmath.h +0 -0
  193. /package/lib/clang/{13.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
  194. /package/lib/clang/{13.0.0 → 16}/include/vadefs.h +0 -0
  195. /package/lib/clang/{13.0.0 → 16}/include/varargs.h +0 -0
  196. /package/lib/clang/{13.0.0 → 16}/include/vecintrin.h +0 -0
  197. /package/lib/clang/{13.0.0 → 16}/include/waitpkgintrin.h +0 -0
  198. /package/lib/clang/{13.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
  199. /package/lib/clang/{13.0.0 → 16}/include/xsavecintrin.h +0 -0
  200. /package/lib/clang/{13.0.0 → 16}/include/xsaveintrin.h +0 -0
  201. /package/lib/clang/{13.0.0 → 16}/include/xsaveoptintrin.h +0 -0
  202. /package/lib/clang/{13.0.0 → 16}/include/xsavesintrin.h +0 -0
  203. /package/lib/clang/{13.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) \
68
+ #define _cvtss_sh(a, imm) __extension__ ({ \
69
69
  (unsigned short)(((__v8hi)__builtin_ia32_vcvtps2ph((__v4sf){a, 0, 0, 0}, \
70
- (imm)))[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.
@@ -93,7 +93,7 @@ _cvtsh_ss(unsigned short __a)
93
93
  /// values. The lower 64 bits are used to store the converted 16-bit
94
94
  /// half-precision floating-point values.
95
95
  #define _mm_cvtps_ph(a, imm) \
96
- (__m128i)__builtin_ia32_vcvtps2ph((__v4sf)(__m128)(a), (imm))
96
+ ((__m128i)__builtin_ia32_vcvtps2ph((__v4sf)(__m128)(a), (imm)))
97
97
 
98
98
  /// Converts a 128-bit vector containing 16-bit half-precision float
99
99
  /// values into a 128-bit vector containing 32-bit float values.
@@ -136,7 +136,7 @@ _mm_cvtph_ps(__m128i __a)
136
136
  /// \returns A 128-bit vector containing the converted 16-bit half-precision
137
137
  /// float values.
138
138
  #define _mm256_cvtps_ph(a, imm) \
139
- (__m128i)__builtin_ia32_vcvtps2ph256((__v8sf)(__m256)(a), (imm))
139
+ ((__m128i)__builtin_ia32_vcvtps2ph256((__v8sf)(__m256)(a), (imm)))
140
140
 
141
141
  /// Converts a 128-bit vector containing 16-bit half-precision float
142
142
  /// values into a 256-bit vector of [8 x float].
@@ -14,10 +14,11 @@
14
14
  * additional definitions provided for Windows.
15
15
  * For more details see http://msdn.microsoft.com/en-us/library/y0ybw9fy.aspx
16
16
  *
17
- * Also fall back on Darwin to allow additional definitions and
17
+ * Also fall back on Darwin and AIX to allow additional definitions and
18
18
  * implementation-defined values.
19
19
  */
20
- #if (defined(__APPLE__) || (defined(__MINGW32__) || defined(_MSC_VER))) && \
20
+ #if (defined(__APPLE__) || defined(__MINGW32__) || defined(_MSC_VER) || \
21
+ defined(_AIX)) && \
21
22
  __STDC_HOSTED__ && __has_include_next(<float.h>)
22
23
 
23
24
  /* Prior to Apple's 10.7 SDK, float.h SDK header used to apply an extra level
@@ -37,7 +38,10 @@
37
38
  # undef FLT_MANT_DIG
38
39
  # undef DBL_MANT_DIG
39
40
  # undef LDBL_MANT_DIG
40
- # if __STDC_VERSION__ >= 199901L || !defined(__STRICT_ANSI__) || __cplusplus >= 201103L
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))
41
45
  # undef DECIMAL_DIG
42
46
  # endif
43
47
  # undef FLT_DIG
@@ -64,7 +68,10 @@
64
68
  # undef FLT_MIN
65
69
  # undef DBL_MIN
66
70
  # undef LDBL_MIN
67
- # if __STDC_VERSION__ >= 201112L || !defined(__STRICT_ANSI__) || __cplusplus >= 201703L
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))
68
75
  # undef FLT_TRUE_MIN
69
76
  # undef DBL_TRUE_MIN
70
77
  # undef LDBL_TRUE_MIN
@@ -79,7 +86,10 @@
79
86
 
80
87
  /* Characteristics of floating point types, C99 5.2.4.2.2 */
81
88
 
89
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
90
+ (defined(__cplusplus) && __cplusplus >= 201103L)
82
91
  #define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
92
+ #endif
83
93
  #define FLT_ROUNDS (__builtin_flt_rounds())
84
94
  #define FLT_RADIX __FLT_RADIX__
85
95
 
@@ -87,7 +97,10 @@
87
97
  #define DBL_MANT_DIG __DBL_MANT_DIG__
88
98
  #define LDBL_MANT_DIG __LDBL_MANT_DIG__
89
99
 
90
- #if __STDC_VERSION__ >= 199901L || !defined(__STRICT_ANSI__) || __cplusplus >= 201103L
100
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
101
+ !defined(__STRICT_ANSI__) || \
102
+ (defined(__cplusplus) && __cplusplus >= 201103L) || \
103
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
91
104
  # define DECIMAL_DIG __DECIMAL_DIG__
92
105
  #endif
93
106
 
@@ -123,7 +136,10 @@
123
136
  #define DBL_MIN __DBL_MIN__
124
137
  #define LDBL_MIN __LDBL_MIN__
125
138
 
126
- #if __STDC_VERSION__ >= 201112L || !defined(__STRICT_ANSI__) || __cplusplus >= 201703L
139
+ #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
140
+ !defined(__STRICT_ANSI__) || \
141
+ (defined(__cplusplus) && __cplusplus >= 201703L) || \
142
+ (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
127
143
  # define FLT_TRUE_MIN __FLT_DENORM_MIN__
128
144
  # define DBL_TRUE_MIN __DBL_DENORM_MIN__
129
145
  # define LDBL_TRUE_MIN __LDBL_DENORM_MIN__
@@ -20,22 +20,24 @@
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
 
30
32
  #define _mm_gf2p8affineinv_epi64_epi8(A, B, I) \
31
- (__m128i)__builtin_ia32_vgf2p8affineinvqb_v16qi((__v16qi)(__m128i)(A), \
32
- (__v16qi)(__m128i)(B), \
33
- (char)(I))
33
+ ((__m128i)__builtin_ia32_vgf2p8affineinvqb_v16qi((__v16qi)(__m128i)(A), \
34
+ (__v16qi)(__m128i)(B), \
35
+ (char)(I)))
34
36
 
35
37
  #define _mm_gf2p8affine_epi64_epi8(A, B, I) \
36
- (__m128i)__builtin_ia32_vgf2p8affineqb_v16qi((__v16qi)(__m128i)(A), \
37
- (__v16qi)(__m128i)(B), \
38
- (char)(I))
38
+ ((__m128i)__builtin_ia32_vgf2p8affineqb_v16qi((__v16qi)(__m128i)(A), \
39
+ (__v16qi)(__m128i)(B), \
40
+ (char)(I)))
39
41
 
40
42
  static __inline__ __m128i __DEFAULT_FN_ATTRS
41
43
  _mm_gf2p8mul_epi8(__m128i __A, __m128i __B)
@@ -46,14 +48,14 @@ _mm_gf2p8mul_epi8(__m128i __A, __m128i __B)
46
48
 
47
49
  #ifdef __AVXINTRIN_H
48
50
  #define _mm256_gf2p8affineinv_epi64_epi8(A, B, I) \
49
- (__m256i)__builtin_ia32_vgf2p8affineinvqb_v32qi((__v32qi)(__m256i)(A), \
50
- (__v32qi)(__m256i)(B), \
51
- (char)(I))
51
+ ((__m256i)__builtin_ia32_vgf2p8affineinvqb_v32qi((__v32qi)(__m256i)(A), \
52
+ (__v32qi)(__m256i)(B), \
53
+ (char)(I)))
52
54
 
53
55
  #define _mm256_gf2p8affine_epi64_epi8(A, B, I) \
54
- (__m256i)__builtin_ia32_vgf2p8affineqb_v32qi((__v32qi)(__m256i)(A), \
55
- (__v32qi)(__m256i)(B), \
56
- (char)(I))
56
+ ((__m256i)__builtin_ia32_vgf2p8affineqb_v32qi((__v32qi)(__m256i)(A), \
57
+ (__v32qi)(__m256i)(B), \
58
+ (char)(I)))
57
59
 
58
60
  static __inline__ __m256i __DEFAULT_FN_ATTRS_Y
59
61
  _mm256_gf2p8mul_epi8(__m256i __A, __m256i __B)
@@ -65,32 +67,32 @@ _mm256_gf2p8mul_epi8(__m256i __A, __m256i __B)
65
67
 
66
68
  #ifdef __AVX512BWINTRIN_H
67
69
  #define _mm512_gf2p8affineinv_epi64_epi8(A, B, I) \
68
- (__m512i)__builtin_ia32_vgf2p8affineinvqb_v64qi((__v64qi)(__m512i)(A), \
69
- (__v64qi)(__m512i)(B), \
70
- (char)(I))
70
+ ((__m512i)__builtin_ia32_vgf2p8affineinvqb_v64qi((__v64qi)(__m512i)(A), \
71
+ (__v64qi)(__m512i)(B), \
72
+ (char)(I)))
71
73
 
72
74
  #define _mm512_mask_gf2p8affineinv_epi64_epi8(S, U, A, B, I) \
73
- (__m512i)__builtin_ia32_selectb_512((__mmask64)(U), \
74
- (__v64qi)_mm512_gf2p8affineinv_epi64_epi8(A, B, I), \
75
- (__v64qi)(__m512i)(S))
75
+ ((__m512i)__builtin_ia32_selectb_512((__mmask64)(U), \
76
+ (__v64qi)_mm512_gf2p8affineinv_epi64_epi8(A, B, I), \
77
+ (__v64qi)(__m512i)(S)))
76
78
 
77
79
  #define _mm512_maskz_gf2p8affineinv_epi64_epi8(U, A, B, I) \
78
- (__m512i)_mm512_mask_gf2p8affineinv_epi64_epi8((__m512i)_mm512_setzero_si512(), \
79
- U, A, B, I)
80
+ _mm512_mask_gf2p8affineinv_epi64_epi8((__m512i)_mm512_setzero_si512(), \
81
+ U, A, B, I)
80
82
 
81
83
  #define _mm512_gf2p8affine_epi64_epi8(A, B, I) \
82
- (__m512i)__builtin_ia32_vgf2p8affineqb_v64qi((__v64qi)(__m512i)(A), \
83
- (__v64qi)(__m512i)(B), \
84
- (char)(I))
84
+ ((__m512i)__builtin_ia32_vgf2p8affineqb_v64qi((__v64qi)(__m512i)(A), \
85
+ (__v64qi)(__m512i)(B), \
86
+ (char)(I)))
85
87
 
86
88
  #define _mm512_mask_gf2p8affine_epi64_epi8(S, U, A, B, I) \
87
- (__m512i)__builtin_ia32_selectb_512((__mmask64)(U), \
88
- (__v64qi)_mm512_gf2p8affine_epi64_epi8(A, B, I), \
89
- (__v64qi)(__m512i)(S))
89
+ ((__m512i)__builtin_ia32_selectb_512((__mmask64)(U), \
90
+ (__v64qi)_mm512_gf2p8affine_epi64_epi8((A), (B), (I)), \
91
+ (__v64qi)(__m512i)(S)))
90
92
 
91
93
  #define _mm512_maskz_gf2p8affine_epi64_epi8(U, A, B, I) \
92
- (__m512i)_mm512_mask_gf2p8affine_epi64_epi8((__m512i)_mm512_setzero_si512(), \
93
- U, A, B, I)
94
+ _mm512_mask_gf2p8affine_epi64_epi8((__m512i)_mm512_setzero_si512(), \
95
+ U, A, B, I)
94
96
 
95
97
  static __inline__ __m512i __DEFAULT_FN_ATTRS_Z
96
98
  _mm512_gf2p8mul_epi8(__m512i __A, __m512i __B)
@@ -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(),
@@ -117,40 +119,39 @@ _mm512_maskz_gf2p8mul_epi8(__mmask64 __U, __m512i __A, __m512i __B)
117
119
 
118
120
  #ifdef __AVX512VLBWINTRIN_H
119
121
  #define _mm_mask_gf2p8affineinv_epi64_epi8(S, U, A, B, I) \
120
- (__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
121
- (__v16qi)_mm_gf2p8affineinv_epi64_epi8(A, B, I), \
122
- (__v16qi)(__m128i)(S))
122
+ ((__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
123
+ (__v16qi)_mm_gf2p8affineinv_epi64_epi8(A, B, I), \
124
+ (__v16qi)(__m128i)(S)))
123
125
 
124
126
  #define _mm_maskz_gf2p8affineinv_epi64_epi8(U, A, B, I) \
125
- (__m128i)_mm_mask_gf2p8affineinv_epi64_epi8((__m128i)_mm_setzero_si128(), \
126
- U, A, B, I)
127
+ _mm_mask_gf2p8affineinv_epi64_epi8((__m128i)_mm_setzero_si128(), \
128
+ U, A, B, I)
127
129
 
128
130
  #define _mm256_mask_gf2p8affineinv_epi64_epi8(S, U, A, B, I) \
129
- (__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
130
- (__v32qi)_mm256_gf2p8affineinv_epi64_epi8(A, B, I), \
131
- (__v32qi)(__m256i)(S))
131
+ ((__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
132
+ (__v32qi)_mm256_gf2p8affineinv_epi64_epi8(A, B, I), \
133
+ (__v32qi)(__m256i)(S)))
132
134
 
133
135
  #define _mm256_maskz_gf2p8affineinv_epi64_epi8(U, A, B, I) \
134
- (__m256i)_mm256_mask_gf2p8affineinv_epi64_epi8((__m256i)_mm256_setzero_si256(), \
135
- U, A, B, I)
136
+ _mm256_mask_gf2p8affineinv_epi64_epi8((__m256i)_mm256_setzero_si256(), \
137
+ U, A, B, I)
136
138
 
137
139
  #define _mm_mask_gf2p8affine_epi64_epi8(S, U, A, B, I) \
138
- (__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
139
- (__v16qi)_mm_gf2p8affine_epi64_epi8(A, B, I), \
140
- (__v16qi)(__m128i)(S))
140
+ ((__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
141
+ (__v16qi)_mm_gf2p8affine_epi64_epi8(A, B, I), \
142
+ (__v16qi)(__m128i)(S)))
141
143
 
142
144
  #define _mm_maskz_gf2p8affine_epi64_epi8(U, A, B, I) \
143
- (__m128i)_mm_mask_gf2p8affine_epi64_epi8((__m128i)_mm_setzero_si128(), \
144
- U, A, B, I)
145
+ _mm_mask_gf2p8affine_epi64_epi8((__m128i)_mm_setzero_si128(), U, A, B, I)
145
146
 
146
147
  #define _mm256_mask_gf2p8affine_epi64_epi8(S, U, A, B, I) \
147
- (__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
148
- (__v32qi)_mm256_gf2p8affine_epi64_epi8(A, B, I), \
149
- (__v32qi)(__m256i)(S))
148
+ ((__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
149
+ (__v32qi)_mm256_gf2p8affine_epi64_epi8(A, B, I), \
150
+ (__v32qi)(__m256i)(S)))
150
151
 
151
152
  #define _mm256_maskz_gf2p8affine_epi64_epi8(U, A, B, I) \
152
- (__m256i)_mm256_mask_gf2p8affine_epi64_epi8((__m256i)_mm256_setzero_si256(), \
153
- U, A, B, I)
153
+ _mm256_mask_gf2p8affine_epi64_epi8((__m256i)_mm256_setzero_si256(), \
154
+ U, A, B, I)
154
155
 
155
156
  static __inline__ __m128i __DEFAULT_FN_ATTRS_VL128
156
157
  _mm_mask_gf2p8mul_epi8(__m128i __S, __mmask16 __U, __m128i __A, __m128i __B)
@@ -8003,17 +8003,6 @@
8003
8003
  #define Q6_P_vtrunohb_PP __builtin_HEXAGON_S6_vtrunohb_ppp
8004
8004
  #endif /* __HEXAGON_ARCH___ >= 62 */
8005
8005
 
8006
- #if __HEXAGON_ARCH__ >= 62
8007
- /* ==========================================================================
8008
- Assembly Syntax: Vd32=vmem(Rt32):nt
8009
- C Intrinsic Prototype: HVX_Vector Q6_V_vmem_R_nt(Word32 Rt)
8010
- Instruction Type: MAPPING
8011
- Execution Slots: SLOT0123
8012
- ========================================================================== */
8013
-
8014
- #define Q6_V_vmem_R_nt __builtin_HEXAGON_V6_ldntnt0
8015
- #endif /* __HEXAGON_ARCH___ >= 62 */
8016
-
8017
8006
  #if __HEXAGON_ARCH__ >= 65
8018
8007
  /* ==========================================================================
8019
8008
  Assembly Syntax: Pd4=!any8(vcmpb.eq(Rss32,Rtt32))
@@ -1177,37 +1177,6 @@ private:
1177
1177
 
1178
1178
  #endif /* __cplusplus */
1179
1179
 
1180
- // V65 Silver types
1181
- #if __Q6S_ARCH__ >= 65
1182
- // Silver vector types are 128 bytes, and pairs are 256. The vector predicate
1183
- // types are 16 bytes and 32 bytes for pairs.
1184
- typedef long HEXAGON_VecPred128 __attribute__((__vector_size__(16)))
1185
- __attribute__((aligned(128)));
1186
-
1187
- typedef long HEXAGON_VecPred256 __attribute__((__vector_size__(32)))
1188
- __attribute__((aligned(128)));
1189
-
1190
- typedef long HEXAGON_Vect1024 __attribute__((__vector_size__(128)))
1191
- __attribute__((aligned(128)));
1192
-
1193
- typedef long HEXAGON_Vect2048 __attribute__((__vector_size__(256)))
1194
- __attribute__((aligned(256)));
1195
-
1196
- typedef long HEXAGON_UVect1024 __attribute__((__vector_size__(128)))
1197
- __attribute__((aligned(4)));
1198
-
1199
- typedef long HEXAGON_UVect2048 __attribute__((__vector_size__(256)))
1200
- __attribute__((aligned(4)));
1201
-
1202
- #define Q6S_VectorPredPair HEXAGON_VecPred256
1203
- #define Q6S_VectorPred HEXAGON_VecPred128
1204
- #define Q6S_Vector HEXAGON_Vect1024
1205
- #define Q6S_VectorPair HEXAGON_Vect2048
1206
- #define Q6S_UVector HEXAGON_UVect1024
1207
- #define Q6S_UVectorPair HEXAGON_UVect2048
1208
-
1209
- #else /* __Q6S_ARCH__ >= 65 */
1210
-
1211
1180
  // V65 Vector types
1212
1181
  #if __HVX_ARCH__ >= 65
1213
1182
  #if defined __HVX__ && (__HVX_LENGTH__ == 128)
@@ -1256,7 +1225,6 @@ private:
1256
1225
  #endif /* defined __HVX__ && (__HVX_LENGTH__ == 64) */
1257
1226
  #endif /* defined __HVX__ && (__HVX_LENGTH__ == 128) */
1258
1227
  #endif /* __HVX_ARCH__ >= 65 */
1259
- #endif /* __Q6S_ARCH__ >= 65 */
1260
1228
 
1261
1229
  /* Predicates */
1262
1230
 
@@ -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
  {