@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.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_intrinsics.h +7 -7
- package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_texture_intrinsics.h +2 -0
- package/lib/clang/{14.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
- package/lib/clang/{14.0.0 → 16}/include/__clang_hip_math.h +10 -13
- package/lib/clang/{14.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +1 -0
- package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
- package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
- package/lib/clang/{14.0.0 → 16}/include/altivec.h +501 -262
- package/lib/clang/16/include/amxfp16intrin.h +58 -0
- package/lib/clang/{14.0.0 → 16}/include/amxintrin.h +32 -2
- package/lib/clang/{14.0.0 → 16}/include/arm_acle.h +76 -75
- package/lib/clang/{14.0.0 → 16}/include/arm_fp16.h +90 -90
- package/lib/clang/{14.0.0 → 16}/include/arm_neon.h +28468 -28638
- package/lib/clang/{14.0.0 → 16}/include/arm_neon_sve_bridge.h +0 -2
- package/lib/clang/{14.0.0 → 16}/include/arm_sve.h +7848 -7996
- package/lib/clang/{14.0.0 → 16}/include/avx2intrin.h +8 -8
- package/lib/clang/{14.0.0 → 16}/include/avx512bf16intrin.h +18 -15
- package/lib/clang/{14.0.0 → 16}/include/avx512bwintrin.h +12 -12
- package/lib/clang/{14.0.0 → 16}/include/avx512fintrin.h +78 -75
- package/lib/clang/{14.0.0 → 16}/include/avx512fp16intrin.h +6 -9
- package/lib/clang/{14.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
- package/lib/clang/{14.0.0 → 16}/include/avx512vlbf16intrin.h +31 -38
- package/lib/clang/{14.0.0 → 16}/include/avx512vlbwintrin.h +360 -8
- package/lib/clang/{14.0.0 → 16}/include/avx512vlfp16intrin.h +3 -0
- package/lib/clang/{14.0.0 → 16}/include/avx512vlintrin.h +81 -95
- package/lib/clang/{14.0.0 → 16}/include/avx512vlvnniintrin.h +16 -16
- package/lib/clang/16/include/avxifmaintrin.h +177 -0
- package/lib/clang/{14.0.0 → 16}/include/avxintrin.h +77 -32
- package/lib/clang/16/include/avxneconvertintrin.h +484 -0
- package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
- package/lib/clang/{14.0.0 → 16}/include/avxvnniintrin.h +16 -16
- package/lib/clang/{14.0.0 → 16}/include/bmiintrin.h +6 -2
- package/lib/clang/{14.0.0 → 16}/include/cetintrin.h +12 -6
- package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
- package/lib/clang/{14.0.0 → 16}/include/cpuid.h +12 -1
- package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
- package/lib/clang/{14.0.0 → 16}/include/emmintrin.h +559 -769
- package/lib/clang/{14.0.0 → 16}/include/f16cintrin.h +3 -3
- package/lib/clang/{14.0.0 → 16}/include/float.h +17 -10
- package/lib/clang/{14.0.0 → 16}/include/gfniintrin.h +7 -5
- 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/{14.0.0 → 16}/include/hresetintrin.h +2 -2
- package/lib/clang/{14.0.0 → 16}/include/ia32intrin.h +11 -11
- package/lib/clang/{14.0.0 → 16}/include/immintrin.h +56 -24
- package/lib/clang/{14.0.0 → 16}/include/intrin.h +12 -21
- package/lib/clang/{14.0.0 → 16}/include/keylockerintrin.h +22 -22
- package/lib/clang/16/include/larchintrin.h +234 -0
- package/lib/clang/{14.0.0 → 16}/include/limits.h +3 -2
- package/lib/clang/{14.0.0 → 16}/include/mm_malloc.h +3 -3
- package/lib/clang/{14.0.0 → 16}/include/opencl-c-base.h +29 -0
- package/lib/clang/{14.0.0 → 16}/include/opencl-c.h +6904 -7100
- package/lib/clang/{14.0.0 → 16}/include/pmmintrin.h +1 -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/{14.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
- package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -387
- 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/{14.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/16/include/raointintrin.h +203 -0
- package/lib/clang/16/include/rdpruintrin.h +57 -0
- package/lib/clang/{14.0.0 → 16}/include/rdseedintrin.h +3 -3
- package/lib/clang/16/include/riscv_vector.h +211 -0
- package/lib/clang/{14.0.0 → 16}/include/rtmintrin.h +1 -1
- package/lib/clang/{14.0.0 → 16}/include/smmintrin.h +236 -259
- package/lib/clang/{14.0.0 → 16}/include/stdarg.h +23 -7
- package/lib/clang/{14.0.0 → 16}/include/stdatomic.h +7 -7
- package/lib/clang/{14.0.0 → 16}/include/stdbool.h +10 -7
- package/lib/clang/{14.0.0 → 16}/include/stddef.h +9 -2
- package/lib/clang/{14.0.0 → 16}/include/stdint.h +158 -40
- package/lib/clang/16/include/stdnoreturn.h +29 -0
- package/lib/clang/{14.0.0 → 16}/include/uintrintrin.h +8 -8
- package/lib/clang/{14.0.0 → 16}/include/unwind.h +10 -6
- 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/{14.0.0 → 16}/include/wasm_simd128.h +2 -2
- package/lib/clang/16/include/x86gprintrin.h +65 -0
- package/lib/clang/{14.0.0 → 16}/include/x86intrin.h +4 -0
- package/lib/clang/{14.0.0 → 16}/include/xmmintrin.h +10 -5
- package/package.json +6 -6
- package/lib/clang/14.0.0/include/ppc_wrappers/emmintrin.h +0 -2325
- package/lib/clang/14.0.0/include/ppc_wrappers/pmmintrin.h +0 -151
- package/lib/clang/14.0.0/include/ppc_wrappers/smmintrin.h +0 -110
- package/lib/clang/14.0.0/include/ppc_wrappers/tmmintrin.h +0 -496
- package/lib/clang/14.0.0/include/ppc_wrappers/xmmintrin.h +0 -1844
- package/lib/clang/14.0.0/include/riscv_vector.h +0 -95423
- package/lib/clang/14.0.0/include/x86gprintrin.h +0 -35
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/adxintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/ammintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/arm64intr.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/arm_bf16.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/arm_cde.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/arm_cmse.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/arm_mve.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/armintr.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512erintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512pfintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/bmi2intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/builtins.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/cet.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/clwbintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/clzerointrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/crc32intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/new +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/fma4intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/fmaintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/hexagon_types.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/htmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/hvx_hexagon_protos.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/inttypes.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/iso646.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/lwpintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/lzcntintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/mm3dnow.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/mmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/module.modulemap +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/movdirintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/msa.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/nmmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/pkuintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/popcntintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/prfchwintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/s390intrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/serializeintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/sgxintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/shaintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/stdalign.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/tbmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/tgmath.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/tmmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/vadefs.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/vaesintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/varargs.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/vecintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/wmmintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xopintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{14.0.0 → 16}/include/xsavesintrin.h +0 -0
- /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
|
-
(
|
|
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
|
-
#
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
#
|
|
71
|
-
|
|
72
|
-
|
|
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
|
|
96
|
-
|
|
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
|
|
134
|
-
|
|
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__("
|
|
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
|
|
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(),
|
|
@@ -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
|
{
|
|
@@ -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
|
|