@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.
- package/README.md +2 -2
- package/bin/clang-tidy +2 -2
- package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_complex_builtins.h +3 -3
- package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_intrinsics.h +38 -6
- package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +6 -0
- package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_math.h +1 -1
- package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +62 -7
- package/lib/clang/16/include/__clang_cuda_texture_intrinsics.h +742 -0
- package/lib/clang/{13.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
- package/lib/clang/{13.0.0 → 16}/include/__clang_hip_math.h +10 -13
- package/lib/clang/{13.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +18 -4
- package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
- package/lib/clang/{13.0.0 → 16}/include/__wmmintrin_aes.h +1 -1
- package/lib/clang/{13.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
- package/lib/clang/{13.0.0 → 16}/include/altivec.h +691 -342
- package/lib/clang/{13.0.0 → 16}/include/ammintrin.h +4 -0
- package/lib/clang/16/include/amxfp16intrin.h +58 -0
- package/lib/clang/{13.0.0 → 16}/include/amxintrin.h +49 -18
- package/lib/clang/{13.0.0 → 16}/include/arm_acle.h +80 -73
- package/lib/clang/{13.0.0 → 16}/include/arm_fp16.h +90 -90
- package/lib/clang/{13.0.0 → 16}/include/arm_neon.h +28607 -28779
- package/lib/clang/16/include/arm_neon_sve_bridge.h +182 -0
- package/lib/clang/{13.0.0 → 16}/include/arm_sve.h +7848 -7996
- package/lib/clang/{13.0.0 → 16}/include/avx2intrin.h +189 -189
- package/lib/clang/{13.0.0 → 16}/include/avx512bf16intrin.h +21 -18
- package/lib/clang/{13.0.0 → 16}/include/avx512bwintrin.h +83 -83
- package/lib/clang/{13.0.0 → 16}/include/avx512dqintrin.h +365 -365
- package/lib/clang/{13.0.0 → 16}/include/avx512erintrin.h +102 -102
- package/lib/clang/{13.0.0 → 16}/include/avx512fintrin.h +1627 -1620
- package/lib/clang/16/include/avx512fp16intrin.h +3346 -0
- package/lib/clang/{13.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
- package/lib/clang/{13.0.0 → 16}/include/avx512vbmi2intrin.h +48 -48
- package/lib/clang/{13.0.0 → 16}/include/avx512vlbf16intrin.h +82 -41
- package/lib/clang/{13.0.0 → 16}/include/avx512vlbwintrin.h +454 -102
- package/lib/clang/{13.0.0 → 16}/include/avx512vldqintrin.h +134 -134
- package/lib/clang/16/include/avx512vlfp16intrin.h +2071 -0
- package/lib/clang/{13.0.0 → 16}/include/avx512vlintrin.h +596 -610
- package/lib/clang/{13.0.0 → 16}/include/avx512vlvbmi2intrin.h +96 -96
- package/lib/clang/{13.0.0 → 16}/include/avx512vlvnniintrin.h +24 -24
- package/lib/clang/16/include/avxifmaintrin.h +177 -0
- package/lib/clang/{13.0.0 → 16}/include/avxintrin.h +266 -224
- package/lib/clang/16/include/avxneconvertintrin.h +484 -0
- package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
- package/lib/clang/{13.0.0 → 16}/include/avxvnniintrin.h +16 -16
- package/lib/clang/{13.0.0 → 16}/include/bmiintrin.h +6 -2
- package/lib/clang/{13.0.0 → 16}/include/cetintrin.h +20 -4
- package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
- package/lib/clang/{13.0.0 → 16}/include/cpuid.h +14 -2
- package/lib/clang/16/include/crc32intrin.h +100 -0
- package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
- package/lib/clang/{13.0.0 → 16}/include/emmintrin.h +573 -779
- package/lib/clang/{13.0.0 → 16}/include/f16cintrin.h +4 -4
- package/lib/clang/{13.0.0 → 16}/include/float.h +22 -6
- package/lib/clang/{13.0.0 → 16}/include/gfniintrin.h +54 -53
- package/lib/clang/{13.0.0 → 16}/include/hexagon_protos.h +0 -11
- package/lib/clang/{13.0.0 → 16}/include/hexagon_types.h +0 -32
- package/lib/clang/16/include/hlsl/hlsl_basic_types.h +67 -0
- package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
- package/lib/clang/16/include/hlsl.h +15 -0
- package/lib/clang/{13.0.0 → 16}/include/hresetintrin.h +2 -2
- package/lib/clang/{13.0.0 → 16}/include/hvx_hexagon_protos.h +1200 -409
- package/lib/clang/{13.0.0 → 16}/include/ia32intrin.h +17 -17
- package/lib/clang/{13.0.0 → 16}/include/immintrin.h +74 -24
- package/lib/clang/{13.0.0 → 16}/include/intrin.h +34 -35
- package/lib/clang/{13.0.0 → 16}/include/keylockerintrin.h +24 -30
- package/lib/clang/16/include/larchintrin.h +234 -0
- package/lib/clang/{13.0.0 → 16}/include/limits.h +22 -1
- package/lib/clang/{13.0.0 → 16}/include/mm_malloc.h +3 -3
- package/lib/clang/{13.0.0 → 16}/include/mmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 16}/include/nmmintrin.h +4 -0
- package/lib/clang/{13.0.0 → 16}/include/opencl-c-base.h +98 -11
- package/lib/clang/{13.0.0 → 16}/include/opencl-c.h +7252 -6208
- package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex +10 -1
- package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex.h +9 -0
- package/lib/clang/{13.0.0 → 16}/include/pmmintrin.h +5 -1
- package/lib/clang/16/include/ppc_wrappers/bmi2intrin.h +134 -0
- package/lib/clang/16/include/ppc_wrappers/bmiintrin.h +165 -0
- package/lib/clang/16/include/ppc_wrappers/emmintrin.h +2268 -0
- package/lib/clang/16/include/ppc_wrappers/immintrin.h +27 -0
- package/lib/clang/{13.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
- package/lib/clang/{13.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -386
- package/lib/clang/16/include/ppc_wrappers/pmmintrin.h +145 -0
- package/lib/clang/16/include/ppc_wrappers/smmintrin.h +663 -0
- package/lib/clang/16/include/ppc_wrappers/tmmintrin.h +453 -0
- package/lib/clang/{13.0.0/include/stdnoreturn.h → 16/include/ppc_wrappers/x86gprintrin.h} +7 -6
- package/lib/clang/16/include/ppc_wrappers/x86intrin.h +28 -0
- package/lib/clang/16/include/ppc_wrappers/xmmintrin.h +1827 -0
- package/lib/clang/16/include/prfchiintrin.h +61 -0
- package/lib/clang/{13.0.0 → 16}/include/prfchwintrin.h +5 -2
- package/lib/clang/16/include/raointintrin.h +203 -0
- package/lib/clang/16/include/rdpruintrin.h +57 -0
- package/lib/clang/{13.0.0 → 16}/include/rdseedintrin.h +3 -3
- package/lib/clang/16/include/riscv_vector.h +211 -0
- package/lib/clang/{13.0.0 → 16}/include/rtmintrin.h +1 -1
- package/lib/clang/{13.0.0 → 16}/include/smmintrin.h +260 -362
- package/lib/clang/{13.0.0 → 16}/include/stdarg.h +23 -7
- package/lib/clang/{13.0.0 → 16}/include/stdatomic.h +14 -1
- package/lib/clang/{13.0.0 → 16}/include/stdbool.h +10 -7
- package/lib/clang/{13.0.0 → 16}/include/stddef.h +9 -2
- package/lib/clang/{13.0.0 → 16}/include/stdint.h +311 -25
- package/lib/clang/16/include/stdnoreturn.h +29 -0
- package/lib/clang/{13.0.0 → 16}/include/tmmintrin.h +10 -6
- package/lib/clang/{13.0.0 → 16}/include/uintrintrin.h +8 -8
- package/lib/clang/{13.0.0 → 16}/include/unwind.h +12 -7
- package/lib/clang/{13.0.0 → 16}/include/vaesintrin.h +1 -1
- package/lib/clang/16/include/velintrin.h +71 -0
- package/lib/clang/16/include/velintrin_approx.h +120 -0
- package/lib/clang/16/include/velintrin_gen.h +1257 -0
- package/lib/clang/{13.0.0 → 16}/include/vpclmulqdqintrin.h +6 -6
- package/lib/clang/{13.0.0 → 16}/include/wasm_simd128.h +169 -26
- package/lib/clang/{13.0.0 → 16}/include/wmmintrin.h +4 -0
- package/lib/clang/16/include/x86gprintrin.h +65 -0
- package/lib/clang/{13.0.0 → 16}/include/x86intrin.h +4 -0
- package/lib/clang/{13.0.0 → 16}/include/xmmintrin.h +19 -10
- package/lib/clang/{13.0.0 → 16}/include/xopintrin.h +31 -31
- package/package.json +6 -6
- package/lib/clang/13.0.0/include/ppc_wrappers/emmintrin.h +0 -2324
- package/lib/clang/13.0.0/include/ppc_wrappers/pmmintrin.h +0 -150
- package/lib/clang/13.0.0/include/ppc_wrappers/smmintrin.h +0 -109
- package/lib/clang/13.0.0/include/ppc_wrappers/tmmintrin.h +0 -495
- package/lib/clang/13.0.0/include/ppc_wrappers/xmmintrin.h +0 -1843
- package/lib/clang/13.0.0/include/riscv_vector.h +0 -123865
- package/lib/clang/13.0.0/include/x86gprintrin.h +0 -23
- /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/adxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/arm64intr.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/arm_bf16.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/arm_cde.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/arm_cmse.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/arm_mve.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/armintr.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/builtins.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/cet.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/clwbintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/clzerointrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/fma4intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/fmaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/htmintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/inttypes.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/iso646.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/lwpintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/mm3dnow.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/module.modulemap +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/movdirintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/msa.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/pkuintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/popcntintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/s390intrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/serializeintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/sgxintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/shaintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/stdalign.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/tbmintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/tgmath.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/vadefs.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/varargs.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/vecintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{13.0.0 → 16}/include/xsavesintrin.h +0 -0
- /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__) ||
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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
|
|
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
|
|
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__("
|
|
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
|
-
|
|
33
|
-
|
|
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
|
-
|
|
38
|
-
|
|
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
|
-
|
|
51
|
-
|
|
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
|
-
|
|
56
|
-
|
|
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
|
-
|
|
70
|
-
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
79
|
-
|
|
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
|
-
|
|
84
|
-
|
|
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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
93
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
122
|
-
|
|
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
|
-
|
|
126
|
-
|
|
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
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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
|
-
|
|
135
|
-
|
|
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
|
-
|
|
140
|
-
|
|
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
|
-
|
|
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
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
-
|
|
153
|
-
|
|
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
|
-
/// \
|
|
38
|
+
/// \endcode
|
|
39
39
|
static __inline void __DEFAULT_FN_ATTRS
|
|
40
40
|
_hreset(int __eax)
|
|
41
41
|
{
|