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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_cuda_complex_builtins.h +3 -3
  4. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_cuda_intrinsics.h +38 -6
  5. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_cuda_libdevice_declares.h +6 -0
  6. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_cuda_math.h +1 -1
  7. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_cuda_runtime_wrapper.h +62 -7
  8. package/lib/clang/15.0.2/include/__clang_cuda_texture_intrinsics.h +740 -0
  9. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_hip_runtime_wrapper.h +17 -4
  10. package/lib/clang/{13.0.0 → 15.0.2}/include/__wmmintrin_aes.h +1 -1
  11. package/lib/clang/{13.0.0 → 15.0.2}/include/__wmmintrin_pclmul.h +10 -10
  12. package/lib/clang/{13.0.0 → 15.0.2}/include/altivec.h +677 -328
  13. package/lib/clang/{13.0.0 → 15.0.2}/include/ammintrin.h +4 -0
  14. package/lib/clang/{13.0.0 → 15.0.2}/include/amxintrin.h +17 -18
  15. package/lib/clang/{13.0.0 → 15.0.2}/include/arm_acle.h +6 -0
  16. package/lib/clang/{13.0.0 → 15.0.2}/include/arm_neon.h +8010 -8012
  17. package/lib/clang/15.0.2/include/arm_neon_sve_bridge.h +184 -0
  18. package/lib/clang/{13.0.0 → 15.0.2}/include/arm_sve.h +65 -61
  19. package/lib/clang/{13.0.0 → 15.0.2}/include/avx2intrin.h +189 -189
  20. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512bf16intrin.h +3 -3
  21. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512bwintrin.h +83 -83
  22. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512dqintrin.h +365 -365
  23. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512erintrin.h +102 -102
  24. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512fintrin.h +1625 -1618
  25. package/lib/clang/15.0.2/include/avx512fp16intrin.h +3349 -0
  26. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vbmi2intrin.h +48 -48
  27. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vlbf16intrin.h +52 -4
  28. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vlbwintrin.h +102 -102
  29. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vldqintrin.h +134 -134
  30. package/lib/clang/15.0.2/include/avx512vlfp16intrin.h +2068 -0
  31. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vlintrin.h +596 -610
  32. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vlvbmi2intrin.h +96 -96
  33. package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vlvnniintrin.h +24 -24
  34. package/lib/clang/{13.0.0 → 15.0.2}/include/avxintrin.h +254 -222
  35. package/lib/clang/{13.0.0 → 15.0.2}/include/avxvnniintrin.h +16 -16
  36. package/lib/clang/{13.0.0 → 15.0.2}/include/bmiintrin.h +6 -2
  37. package/lib/clang/{13.0.0 → 15.0.2}/include/cetintrin.h +20 -4
  38. package/lib/clang/{13.0.0 → 15.0.2}/include/cpuid.h +3 -1
  39. package/lib/clang/15.0.2/include/crc32intrin.h +100 -0
  40. package/lib/clang/{13.0.0 → 15.0.2}/include/emmintrin.h +563 -779
  41. package/lib/clang/{13.0.0 → 15.0.2}/include/f16cintrin.h +4 -4
  42. package/lib/clang/{13.0.0 → 15.0.2}/include/float.h +15 -6
  43. package/lib/clang/{13.0.0 → 15.0.2}/include/gfniintrin.h +47 -48
  44. package/lib/clang/{13.0.0 → 15.0.2}/include/hexagon_protos.h +0 -11
  45. package/lib/clang/{13.0.0 → 15.0.2}/include/hexagon_types.h +0 -32
  46. package/lib/clang/15.0.2/include/hlsl/hlsl_basic_types.h +64 -0
  47. package/lib/clang/15.0.2/include/hlsl/hlsl_intrinsics.h +15 -0
  48. package/lib/clang/15.0.2/include/hlsl.h +15 -0
  49. package/lib/clang/{13.0.0 → 15.0.2}/include/hresetintrin.h +2 -2
  50. package/lib/clang/{13.0.0 → 15.0.2}/include/hvx_hexagon_protos.h +1200 -409
  51. package/lib/clang/{13.0.0 → 15.0.2}/include/ia32intrin.h +17 -17
  52. package/lib/clang/{13.0.0 → 15.0.2}/include/immintrin.h +41 -23
  53. package/lib/clang/{13.0.0 → 15.0.2}/include/intrin.h +34 -35
  54. package/lib/clang/{13.0.0 → 15.0.2}/include/keylockerintrin.h +24 -30
  55. package/lib/clang/{13.0.0 → 15.0.2}/include/limits.h +20 -0
  56. package/lib/clang/{13.0.0 → 15.0.2}/include/mm_malloc.h +3 -3
  57. package/lib/clang/{13.0.0 → 15.0.2}/include/mmintrin.h +4 -0
  58. package/lib/clang/{13.0.0 → 15.0.2}/include/nmmintrin.h +4 -0
  59. package/lib/clang/{13.0.0 → 15.0.2}/include/opencl-c-base.h +79 -11
  60. package/lib/clang/{13.0.0 → 15.0.2}/include/opencl-c.h +7145 -6131
  61. package/lib/clang/{13.0.0 → 15.0.2}/include/openmp_wrappers/complex +10 -1
  62. package/lib/clang/{13.0.0 → 15.0.2}/include/openmp_wrappers/complex.h +9 -0
  63. package/lib/clang/{13.0.0 → 15.0.2}/include/pmmintrin.h +5 -1
  64. package/lib/clang/15.0.2/include/ppc_wrappers/bmi2intrin.h +134 -0
  65. package/lib/clang/15.0.2/include/ppc_wrappers/bmiintrin.h +165 -0
  66. package/lib/clang/15.0.2/include/ppc_wrappers/emmintrin.h +2268 -0
  67. package/lib/clang/15.0.2/include/ppc_wrappers/immintrin.h +27 -0
  68. package/lib/clang/{13.0.0 → 15.0.2}/include/ppc_wrappers/mm_malloc.h +12 -17
  69. package/lib/clang/{13.0.0 → 15.0.2}/include/ppc_wrappers/mmintrin.h +389 -386
  70. package/lib/clang/15.0.2/include/ppc_wrappers/pmmintrin.h +145 -0
  71. package/lib/clang/15.0.2/include/ppc_wrappers/smmintrin.h +663 -0
  72. package/lib/clang/15.0.2/include/ppc_wrappers/tmmintrin.h +453 -0
  73. package/lib/clang/{13.0.0/include/stdnoreturn.h → 15.0.2/include/ppc_wrappers/x86gprintrin.h} +7 -6
  74. package/lib/clang/15.0.2/include/ppc_wrappers/x86intrin.h +28 -0
  75. package/lib/clang/15.0.2/include/ppc_wrappers/xmmintrin.h +1827 -0
  76. package/lib/clang/{13.0.0 → 15.0.2}/include/prfchwintrin.h +5 -2
  77. package/lib/clang/15.0.2/include/rdpruintrin.h +57 -0
  78. package/lib/clang/{13.0.0 → 15.0.2}/include/rdseedintrin.h +3 -3
  79. package/lib/clang/15.0.2/include/riscv_vector.h +202 -0
  80. package/lib/clang/{13.0.0 → 15.0.2}/include/rtmintrin.h +1 -1
  81. package/lib/clang/{13.0.0 → 15.0.2}/include/smmintrin.h +258 -360
  82. package/lib/clang/{13.0.0 → 15.0.2}/include/stdatomic.h +11 -1
  83. package/lib/clang/{13.0.0 → 15.0.2}/include/stdbool.h +9 -6
  84. package/lib/clang/{13.0.0 → 15.0.2}/include/stddef.h +1 -1
  85. package/lib/clang/{13.0.0 → 15.0.2}/include/stdint.h +168 -0
  86. package/lib/clang/15.0.2/include/stdnoreturn.h +29 -0
  87. package/lib/clang/{13.0.0 → 15.0.2}/include/tmmintrin.h +10 -6
  88. package/lib/clang/{13.0.0 → 15.0.2}/include/uintrintrin.h +8 -8
  89. package/lib/clang/{13.0.0 → 15.0.2}/include/unwind.h +10 -6
  90. package/lib/clang/{13.0.0 → 15.0.2}/include/vaesintrin.h +1 -1
  91. package/lib/clang/15.0.2/include/velintrin.h +71 -0
  92. package/lib/clang/15.0.2/include/velintrin_approx.h +120 -0
  93. package/lib/clang/15.0.2/include/velintrin_gen.h +1257 -0
  94. package/lib/clang/{13.0.0 → 15.0.2}/include/vpclmulqdqintrin.h +6 -6
  95. package/lib/clang/{13.0.0 → 15.0.2}/include/wasm_simd128.h +169 -26
  96. package/lib/clang/{13.0.0 → 15.0.2}/include/wmmintrin.h +4 -0
  97. package/lib/clang/15.0.2/include/x86gprintrin.h +53 -0
  98. package/lib/clang/{13.0.0 → 15.0.2}/include/x86intrin.h +4 -0
  99. package/lib/clang/{13.0.0 → 15.0.2}/include/xmmintrin.h +18 -8
  100. package/lib/clang/{13.0.0 → 15.0.2}/include/xopintrin.h +31 -31
  101. package/package.json +6 -6
  102. package/lib/clang/13.0.0/include/ppc_wrappers/emmintrin.h +0 -2324
  103. package/lib/clang/13.0.0/include/ppc_wrappers/pmmintrin.h +0 -150
  104. package/lib/clang/13.0.0/include/ppc_wrappers/smmintrin.h +0 -109
  105. package/lib/clang/13.0.0/include/ppc_wrappers/tmmintrin.h +0 -495
  106. package/lib/clang/13.0.0/include/ppc_wrappers/xmmintrin.h +0 -1843
  107. package/lib/clang/13.0.0/include/riscv_vector.h +0 -123865
  108. package/lib/clang/13.0.0/include/x86gprintrin.h +0 -23
  109. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_cuda_builtin_vars.h +0 -0
  110. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_cuda_cmath.h +0 -0
  111. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_cuda_device_functions.h +0 -0
  112. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_cuda_math_forward_declares.h +0 -0
  113. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_hip_cmath.h +0 -0
  114. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_hip_libdevice_declares.h +0 -0
  115. package/lib/clang/{13.0.0 → 15.0.2}/include/__clang_hip_math.h +0 -0
  116. package/lib/clang/{13.0.0 → 15.0.2}/include/__stddef_max_align_t.h +0 -0
  117. package/lib/clang/{13.0.0 → 15.0.2}/include/adxintrin.h +0 -0
  118. package/lib/clang/{13.0.0 → 15.0.2}/include/arm64intr.h +0 -0
  119. package/lib/clang/{13.0.0 → 15.0.2}/include/arm_bf16.h +0 -0
  120. package/lib/clang/{13.0.0 → 15.0.2}/include/arm_cde.h +0 -0
  121. package/lib/clang/{13.0.0 → 15.0.2}/include/arm_cmse.h +0 -0
  122. package/lib/clang/{13.0.0 → 15.0.2}/include/arm_fp16.h +89 -89
  123. /package/lib/clang/{13.0.0 → 15.0.2}/include/arm_mve.h +0 -0
  124. /package/lib/clang/{13.0.0 → 15.0.2}/include/armintr.h +0 -0
  125. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512bitalgintrin.h +0 -0
  126. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512cdintrin.h +0 -0
  127. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512ifmaintrin.h +0 -0
  128. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512ifmavlintrin.h +0 -0
  129. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512pfintrin.h +0 -0
  130. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vbmiintrin.h +0 -0
  131. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vbmivlintrin.h +0 -0
  132. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vlbitalgintrin.h +0 -0
  133. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vlcdintrin.h +0 -0
  134. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vlvp2intersectintrin.h +0 -0
  135. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vnniintrin.h +0 -0
  136. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vp2intersectintrin.h +0 -0
  137. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vpopcntdqintrin.h +0 -0
  138. /package/lib/clang/{13.0.0 → 15.0.2}/include/avx512vpopcntdqvlintrin.h +0 -0
  139. /package/lib/clang/{13.0.0 → 15.0.2}/include/bmi2intrin.h +0 -0
  140. /package/lib/clang/{13.0.0 → 15.0.2}/include/builtins.h +0 -0
  141. /package/lib/clang/{13.0.0 → 15.0.2}/include/cet.h +0 -0
  142. /package/lib/clang/{13.0.0 → 15.0.2}/include/cldemoteintrin.h +0 -0
  143. /package/lib/clang/{13.0.0 → 15.0.2}/include/clflushoptintrin.h +0 -0
  144. /package/lib/clang/{13.0.0 → 15.0.2}/include/clwbintrin.h +0 -0
  145. /package/lib/clang/{13.0.0 → 15.0.2}/include/clzerointrin.h +0 -0
  146. /package/lib/clang/{13.0.0 → 15.0.2}/include/cuda_wrappers/algorithm +0 -0
  147. /package/lib/clang/{13.0.0 → 15.0.2}/include/cuda_wrappers/complex +0 -0
  148. /package/lib/clang/{13.0.0 → 15.0.2}/include/cuda_wrappers/new +0 -0
  149. /package/lib/clang/{13.0.0 → 15.0.2}/include/enqcmdintrin.h +0 -0
  150. /package/lib/clang/{13.0.0 → 15.0.2}/include/fma4intrin.h +0 -0
  151. /package/lib/clang/{13.0.0 → 15.0.2}/include/fmaintrin.h +0 -0
  152. /package/lib/clang/{13.0.0 → 15.0.2}/include/fxsrintrin.h +0 -0
  153. /package/lib/clang/{13.0.0 → 15.0.2}/include/hexagon_circ_brev_intrinsics.h +0 -0
  154. /package/lib/clang/{13.0.0 → 15.0.2}/include/htmintrin.h +0 -0
  155. /package/lib/clang/{13.0.0 → 15.0.2}/include/htmxlintrin.h +0 -0
  156. /package/lib/clang/{13.0.0 → 15.0.2}/include/inttypes.h +0 -0
  157. /package/lib/clang/{13.0.0 → 15.0.2}/include/invpcidintrin.h +0 -0
  158. /package/lib/clang/{13.0.0 → 15.0.2}/include/iso646.h +0 -0
  159. /package/lib/clang/{13.0.0 → 15.0.2}/include/lwpintrin.h +0 -0
  160. /package/lib/clang/{13.0.0 → 15.0.2}/include/lzcntintrin.h +0 -0
  161. /package/lib/clang/{13.0.0 → 15.0.2}/include/mm3dnow.h +0 -0
  162. /package/lib/clang/{13.0.0 → 15.0.2}/include/module.modulemap +0 -0
  163. /package/lib/clang/{13.0.0 → 15.0.2}/include/movdirintrin.h +0 -0
  164. /package/lib/clang/{13.0.0 → 15.0.2}/include/msa.h +0 -0
  165. /package/lib/clang/{13.0.0 → 15.0.2}/include/mwaitxintrin.h +0 -0
  166. /package/lib/clang/{13.0.0 → 15.0.2}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  167. /package/lib/clang/{13.0.0 → 15.0.2}/include/openmp_wrappers/cmath +0 -0
  168. /package/lib/clang/{13.0.0 → 15.0.2}/include/openmp_wrappers/complex_cmath.h +0 -0
  169. /package/lib/clang/{13.0.0 → 15.0.2}/include/openmp_wrappers/math.h +0 -0
  170. /package/lib/clang/{13.0.0 → 15.0.2}/include/openmp_wrappers/new +0 -0
  171. /package/lib/clang/{13.0.0 → 15.0.2}/include/pconfigintrin.h +0 -0
  172. /package/lib/clang/{13.0.0 → 15.0.2}/include/pkuintrin.h +0 -0
  173. /package/lib/clang/{13.0.0 → 15.0.2}/include/popcntintrin.h +0 -0
  174. /package/lib/clang/{13.0.0 → 15.0.2}/include/ptwriteintrin.h +0 -0
  175. /package/lib/clang/{13.0.0 → 15.0.2}/include/s390intrin.h +0 -0
  176. /package/lib/clang/{13.0.0 → 15.0.2}/include/serializeintrin.h +0 -0
  177. /package/lib/clang/{13.0.0 → 15.0.2}/include/sgxintrin.h +0 -0
  178. /package/lib/clang/{13.0.0 → 15.0.2}/include/shaintrin.h +0 -0
  179. /package/lib/clang/{13.0.0 → 15.0.2}/include/stdalign.h +0 -0
  180. /package/lib/clang/{13.0.0 → 15.0.2}/include/stdarg.h +0 -0
  181. /package/lib/clang/{13.0.0 → 15.0.2}/include/tbmintrin.h +0 -0
  182. /package/lib/clang/{13.0.0 → 15.0.2}/include/tgmath.h +0 -0
  183. /package/lib/clang/{13.0.0 → 15.0.2}/include/tsxldtrkintrin.h +0 -0
  184. /package/lib/clang/{13.0.0 → 15.0.2}/include/vadefs.h +0 -0
  185. /package/lib/clang/{13.0.0 → 15.0.2}/include/varargs.h +0 -0
  186. /package/lib/clang/{13.0.0 → 15.0.2}/include/vecintrin.h +0 -0
  187. /package/lib/clang/{13.0.0 → 15.0.2}/include/waitpkgintrin.h +0 -0
  188. /package/lib/clang/{13.0.0 → 15.0.2}/include/wbnoinvdintrin.h +0 -0
  189. /package/lib/clang/{13.0.0 → 15.0.2}/include/xsavecintrin.h +0 -0
  190. /package/lib/clang/{13.0.0 → 15.0.2}/include/xsaveintrin.h +0 -0
  191. /package/lib/clang/{13.0.0 → 15.0.2}/include/xsaveoptintrin.h +0 -0
  192. /package/lib/clang/{13.0.0 → 15.0.2}/include/xsavesintrin.h +0 -0
  193. /package/lib/clang/{13.0.0 → 15.0.2}/include/xtestintrin.h +0 -0
@@ -1,495 +0,0 @@
1
- /*===---- tmmintrin.h - Implementation of SSSE3 intrinsics on PowerPC ------===
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
-
10
- /* Implemented from the specification included in the Intel C++ Compiler
11
- User Guide and Reference, version 9.0. */
12
-
13
- #ifndef NO_WARN_X86_INTRINSICS
14
- /* This header is distributed to simplify porting x86_64 code that
15
- makes explicit use of Intel intrinsics to powerpc64le.
16
-
17
- It is the user's responsibility to determine if the results are
18
- acceptable and make additional changes as necessary.
19
-
20
- Note that much code that uses Intel intrinsics can be rewritten in
21
- standard C or GNU C extensions, which are more portable and better
22
- optimized across multiple targets. */
23
- #endif
24
-
25
- #ifndef TMMINTRIN_H_
26
- #define TMMINTRIN_H_
27
-
28
- #if defined(__linux__) && defined(__ppc64__)
29
-
30
- #include <altivec.h>
31
-
32
- /* We need definitions from the SSE header files. */
33
- #include <pmmintrin.h>
34
-
35
- extern __inline __m128i
36
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
37
- _mm_abs_epi16 (__m128i __A)
38
- {
39
- return (__m128i) vec_abs ((__v8hi) __A);
40
- }
41
-
42
- extern __inline __m128i
43
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
44
- _mm_abs_epi32 (__m128i __A)
45
- {
46
- return (__m128i) vec_abs ((__v4si) __A);
47
- }
48
-
49
- extern __inline __m128i
50
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
51
- _mm_abs_epi8 (__m128i __A)
52
- {
53
- return (__m128i) vec_abs ((__v16qi) __A);
54
- }
55
-
56
- extern __inline __m64
57
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
58
- _mm_abs_pi16 (__m64 __A)
59
- {
60
- __v8hi __B = (__v8hi) (__v2du) { __A, __A };
61
- return (__m64) ((__v2du) vec_abs (__B))[0];
62
- }
63
-
64
- extern __inline __m64
65
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
66
- _mm_abs_pi32 (__m64 __A)
67
- {
68
- __v4si __B = (__v4si) (__v2du) { __A, __A };
69
- return (__m64) ((__v2du) vec_abs (__B))[0];
70
- }
71
-
72
- extern __inline __m64
73
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
74
- _mm_abs_pi8 (__m64 __A)
75
- {
76
- __v16qi __B = (__v16qi) (__v2du) { __A, __A };
77
- return (__m64) ((__v2du) vec_abs (__B))[0];
78
- }
79
-
80
- extern __inline __m128i
81
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
82
- _mm_alignr_epi8 (__m128i __A, __m128i __B, const unsigned int __count)
83
- {
84
- if (__builtin_constant_p (__count) && __count < 16)
85
- {
86
- #ifdef __LITTLE_ENDIAN__
87
- __A = (__m128i) vec_reve ((__v16qu) __A);
88
- __B = (__m128i) vec_reve ((__v16qu) __B);
89
- #endif
90
- __A = (__m128i) vec_sld ((__v16qu) __B, (__v16qu) __A, __count);
91
- #ifdef __LITTLE_ENDIAN__
92
- __A = (__m128i) vec_reve ((__v16qu) __A);
93
- #endif
94
- return __A;
95
- }
96
-
97
- if (__count == 0)
98
- return __B;
99
-
100
- if (__count >= 16)
101
- {
102
- if (__count >= 32)
103
- {
104
- const __v16qu zero = { 0 };
105
- return (__m128i) zero;
106
- }
107
- else
108
- {
109
- const __v16qu __shift =
110
- vec_splats ((unsigned char) ((__count - 16) * 8));
111
- #ifdef __LITTLE_ENDIAN__
112
- return (__m128i) vec_sro ((__v16qu) __A, __shift);
113
- #else
114
- return (__m128i) vec_slo ((__v16qu) __A, __shift);
115
- #endif
116
- }
117
- }
118
- else
119
- {
120
- const __v16qu __shiftA =
121
- vec_splats ((unsigned char) ((16 - __count) * 8));
122
- const __v16qu __shiftB = vec_splats ((unsigned char) (__count * 8));
123
- #ifdef __LITTLE_ENDIAN__
124
- __A = (__m128i) vec_slo ((__v16qu) __A, __shiftA);
125
- __B = (__m128i) vec_sro ((__v16qu) __B, __shiftB);
126
- #else
127
- __A = (__m128i) vec_sro ((__v16qu) __A, __shiftA);
128
- __B = (__m128i) vec_slo ((__v16qu) __B, __shiftB);
129
- #endif
130
- return (__m128i) vec_or ((__v16qu) __A, (__v16qu) __B);
131
- }
132
- }
133
-
134
- extern __inline __m64
135
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
136
- _mm_alignr_pi8 (__m64 __A, __m64 __B, unsigned int __count)
137
- {
138
- if (__count < 16)
139
- {
140
- __v2du __C = { __B, __A };
141
- #ifdef __LITTLE_ENDIAN__
142
- const __v4su __shift = { __count << 3, 0, 0, 0 };
143
- __C = (__v2du) vec_sro ((__v16qu) __C, (__v16qu) __shift);
144
- #else
145
- const __v4su __shift = { 0, 0, 0, __count << 3 };
146
- __C = (__v2du) vec_slo ((__v16qu) __C, (__v16qu) __shift);
147
- #endif
148
- return (__m64) __C[0];
149
- }
150
- else
151
- {
152
- const __m64 __zero = { 0 };
153
- return __zero;
154
- }
155
- }
156
-
157
- extern __inline __m128i
158
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
159
- _mm_hadd_epi16 (__m128i __A, __m128i __B)
160
- {
161
- const __v16qu __P =
162
- { 0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29 };
163
- const __v16qu __Q =
164
- { 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31 };
165
- __v8hi __C = vec_perm ((__v8hi) __A, (__v8hi) __B, __P);
166
- __v8hi __D = vec_perm ((__v8hi) __A, (__v8hi) __B, __Q);
167
- return (__m128i) vec_add (__C, __D);
168
- }
169
-
170
- extern __inline __m128i
171
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
172
- _mm_hadd_epi32 (__m128i __A, __m128i __B)
173
- {
174
- const __v16qu __P =
175
- { 0, 1, 2, 3, 8, 9, 10, 11, 16, 17, 18, 19, 24, 25, 26, 27 };
176
- const __v16qu __Q =
177
- { 4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, 28, 29, 30, 31 };
178
- __v4si __C = vec_perm ((__v4si) __A, (__v4si) __B, __P);
179
- __v4si __D = vec_perm ((__v4si) __A, (__v4si) __B, __Q);
180
- return (__m128i) vec_add (__C, __D);
181
- }
182
-
183
- extern __inline __m64
184
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
185
- _mm_hadd_pi16 (__m64 __A, __m64 __B)
186
- {
187
- __v8hi __C = (__v8hi) (__v2du) { __A, __B };
188
- const __v16qu __P =
189
- { 0, 1, 4, 5, 8, 9, 12, 13, 0, 1, 4, 5, 8, 9, 12, 13 };
190
- const __v16qu __Q =
191
- { 2, 3, 6, 7, 10, 11, 14, 15, 2, 3, 6, 7, 10, 11, 14, 15 };
192
- __v8hi __D = vec_perm (__C, __C, __Q);
193
- __C = vec_perm (__C, __C, __P);
194
- __C = vec_add (__C, __D);
195
- return (__m64) ((__v2du) __C)[1];
196
- }
197
-
198
- extern __inline __m64
199
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
200
- _mm_hadd_pi32 (__m64 __A, __m64 __B)
201
- {
202
- __v4si __C = (__v4si) (__v2du) { __A, __B };
203
- const __v16qu __P =
204
- { 0, 1, 2, 3, 8, 9, 10, 11, 0, 1, 2, 3, 8, 9, 10, 11 };
205
- const __v16qu __Q =
206
- { 4, 5, 6, 7, 12, 13, 14, 15, 4, 5, 6, 7, 12, 13, 14, 15 };
207
- __v4si __D = vec_perm (__C, __C, __Q);
208
- __C = vec_perm (__C, __C, __P);
209
- __C = vec_add (__C, __D);
210
- return (__m64) ((__v2du) __C)[1];
211
- }
212
-
213
- extern __inline __m128i
214
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
215
- _mm_hadds_epi16 (__m128i __A, __m128i __B)
216
- {
217
- __v4si __C = { 0 }, __D = { 0 };
218
- __C = vec_sum4s ((__v8hi) __A, __C);
219
- __D = vec_sum4s ((__v8hi) __B, __D);
220
- __C = (__v4si) vec_packs (__C, __D);
221
- return (__m128i) __C;
222
- }
223
-
224
- extern __inline __m64
225
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
226
- _mm_hadds_pi16 (__m64 __A, __m64 __B)
227
- {
228
- const __v4si __zero = { 0 };
229
- __v8hi __C = (__v8hi) (__v2du) { __A, __B };
230
- __v4si __D = vec_sum4s (__C, __zero);
231
- __C = vec_packs (__D, __D);
232
- return (__m64) ((__v2du) __C)[1];
233
- }
234
-
235
- extern __inline __m128i
236
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
237
- _mm_hsub_epi16 (__m128i __A, __m128i __B)
238
- {
239
- const __v16qu __P =
240
- { 0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29 };
241
- const __v16qu __Q =
242
- { 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31 };
243
- __v8hi __C = vec_perm ((__v8hi) __A, (__v8hi) __B, __P);
244
- __v8hi __D = vec_perm ((__v8hi) __A, (__v8hi) __B, __Q);
245
- return (__m128i) vec_sub (__C, __D);
246
- }
247
-
248
- extern __inline __m128i
249
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
250
- _mm_hsub_epi32 (__m128i __A, __m128i __B)
251
- {
252
- const __v16qu __P =
253
- { 0, 1, 2, 3, 8, 9, 10, 11, 16, 17, 18, 19, 24, 25, 26, 27 };
254
- const __v16qu __Q =
255
- { 4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23, 28, 29, 30, 31 };
256
- __v4si __C = vec_perm ((__v4si) __A, (__v4si) __B, __P);
257
- __v4si __D = vec_perm ((__v4si) __A, (__v4si) __B, __Q);
258
- return (__m128i) vec_sub (__C, __D);
259
- }
260
-
261
- extern __inline __m64
262
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
263
- _mm_hsub_pi16 (__m64 __A, __m64 __B)
264
- {
265
- const __v16qu __P =
266
- { 0, 1, 4, 5, 8, 9, 12, 13, 0, 1, 4, 5, 8, 9, 12, 13 };
267
- const __v16qu __Q =
268
- { 2, 3, 6, 7, 10, 11, 14, 15, 2, 3, 6, 7, 10, 11, 14, 15 };
269
- __v8hi __C = (__v8hi) (__v2du) { __A, __B };
270
- __v8hi __D = vec_perm (__C, __C, __Q);
271
- __C = vec_perm (__C, __C, __P);
272
- __C = vec_sub (__C, __D);
273
- return (__m64) ((__v2du) __C)[1];
274
- }
275
-
276
- extern __inline __m64
277
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
278
- _mm_hsub_pi32 (__m64 __A, __m64 __B)
279
- {
280
- const __v16qu __P =
281
- { 0, 1, 2, 3, 8, 9, 10, 11, 0, 1, 2, 3, 8, 9, 10, 11 };
282
- const __v16qu __Q =
283
- { 4, 5, 6, 7, 12, 13, 14, 15, 4, 5, 6, 7, 12, 13, 14, 15 };
284
- __v4si __C = (__v4si) (__v2du) { __A, __B };
285
- __v4si __D = vec_perm (__C, __C, __Q);
286
- __C = vec_perm (__C, __C, __P);
287
- __C = vec_sub (__C, __D);
288
- return (__m64) ((__v2du) __C)[1];
289
- }
290
-
291
- extern __inline __m128i
292
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
293
- _mm_hsubs_epi16 (__m128i __A, __m128i __B)
294
- {
295
- const __v16qu __P =
296
- { 0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29 };
297
- const __v16qu __Q =
298
- { 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31 };
299
- __v8hi __C = vec_perm ((__v8hi) __A, (__v8hi) __B, __P);
300
- __v8hi __D = vec_perm ((__v8hi) __A, (__v8hi) __B, __Q);
301
- return (__m128i) vec_subs (__C, __D);
302
- }
303
-
304
- extern __inline __m64
305
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
306
- _mm_hsubs_pi16 (__m64 __A, __m64 __B)
307
- {
308
- const __v16qu __P =
309
- { 0, 1, 4, 5, 8, 9, 12, 13, 0, 1, 4, 5, 8, 9, 12, 13 };
310
- const __v16qu __Q =
311
- { 2, 3, 6, 7, 10, 11, 14, 15, 2, 3, 6, 7, 10, 11, 14, 15 };
312
- __v8hi __C = (__v8hi) (__v2du) { __A, __B };
313
- __v8hi __D = vec_perm (__C, __C, __P);
314
- __v8hi __E = vec_perm (__C, __C, __Q);
315
- __C = vec_subs (__D, __E);
316
- return (__m64) ((__v2du) __C)[1];
317
- }
318
-
319
- extern __inline __m128i
320
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
321
- _mm_shuffle_epi8 (__m128i __A, __m128i __B)
322
- {
323
- const __v16qi __zero = { 0 };
324
- __vector __bool char __select = vec_cmplt ((__v16qi) __B, __zero);
325
- __v16qi __C = vec_perm ((__v16qi) __A, (__v16qi) __A, (__v16qu) __B);
326
- return (__m128i) vec_sel (__C, __zero, __select);
327
- }
328
-
329
- extern __inline __m64
330
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
331
- _mm_shuffle_pi8 (__m64 __A, __m64 __B)
332
- {
333
- const __v16qi __zero = { 0 };
334
- __v16qi __C = (__v16qi) (__v2du) { __A, __A };
335
- __v16qi __D = (__v16qi) (__v2du) { __B, __B };
336
- __vector __bool char __select = vec_cmplt ((__v16qi) __D, __zero);
337
- __C = vec_perm ((__v16qi) __C, (__v16qi) __C, (__v16qu) __D);
338
- __C = vec_sel (__C, __zero, __select);
339
- return (__m64) ((__v2du) (__C))[0];
340
- }
341
-
342
- extern __inline __m128i
343
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
344
- _mm_sign_epi8 (__m128i __A, __m128i __B)
345
- {
346
- const __v16qi __zero = { 0 };
347
- __v16qi __selectneg = (__v16qi) vec_cmplt ((__v16qi) __B, __zero);
348
- __v16qi __selectpos =
349
- (__v16qi) vec_neg ((__v16qi) vec_cmpgt ((__v16qi) __B, __zero));
350
- __v16qi __conv = vec_add (__selectneg, __selectpos);
351
- return (__m128i) vec_mul ((__v16qi) __A, (__v16qi) __conv);
352
- }
353
-
354
- extern __inline __m128i
355
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
356
- _mm_sign_epi16 (__m128i __A, __m128i __B)
357
- {
358
- const __v8hi __zero = { 0 };
359
- __v8hi __selectneg = (__v8hi) vec_cmplt ((__v8hi) __B, __zero);
360
- __v8hi __selectpos =
361
- (__v8hi) vec_neg ((__v8hi) vec_cmpgt ((__v8hi) __B, __zero));
362
- __v8hi __conv = vec_add (__selectneg, __selectpos);
363
- return (__m128i) vec_mul ((__v8hi) __A, (__v8hi) __conv);
364
- }
365
-
366
- extern __inline __m128i
367
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
368
- _mm_sign_epi32 (__m128i __A, __m128i __B)
369
- {
370
- const __v4si __zero = { 0 };
371
- __v4si __selectneg = (__v4si) vec_cmplt ((__v4si) __B, __zero);
372
- __v4si __selectpos =
373
- (__v4si) vec_neg ((__v4si) vec_cmpgt ((__v4si) __B, __zero));
374
- __v4si __conv = vec_add (__selectneg, __selectpos);
375
- return (__m128i) vec_mul ((__v4si) __A, (__v4si) __conv);
376
- }
377
-
378
- extern __inline __m64
379
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
380
- _mm_sign_pi8 (__m64 __A, __m64 __B)
381
- {
382
- const __v16qi __zero = { 0 };
383
- __v16qi __C = (__v16qi) (__v2du) { __A, __A };
384
- __v16qi __D = (__v16qi) (__v2du) { __B, __B };
385
- __C = (__v16qi) _mm_sign_epi8 ((__m128i) __C, (__m128i) __D);
386
- return (__m64) ((__v2du) (__C))[0];
387
- }
388
-
389
- extern __inline __m64
390
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
391
- _mm_sign_pi16 (__m64 __A, __m64 __B)
392
- {
393
- const __v8hi __zero = { 0 };
394
- __v8hi __C = (__v8hi) (__v2du) { __A, __A };
395
- __v8hi __D = (__v8hi) (__v2du) { __B, __B };
396
- __C = (__v8hi) _mm_sign_epi16 ((__m128i) __C, (__m128i) __D);
397
- return (__m64) ((__v2du) (__C))[0];
398
- }
399
-
400
- extern __inline __m64
401
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
402
- _mm_sign_pi32 (__m64 __A, __m64 __B)
403
- {
404
- const __v4si __zero = { 0 };
405
- __v4si __C = (__v4si) (__v2du) { __A, __A };
406
- __v4si __D = (__v4si) (__v2du) { __B, __B };
407
- __C = (__v4si) _mm_sign_epi32 ((__m128i) __C, (__m128i) __D);
408
- return (__m64) ((__v2du) (__C))[0];
409
- }
410
-
411
- extern __inline __m128i
412
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
413
- _mm_maddubs_epi16 (__m128i __A, __m128i __B)
414
- {
415
- __v8hi __unsigned = vec_splats ((signed short) 0x00ff);
416
- __v8hi __C = vec_and (vec_unpackh ((__v16qi) __A), __unsigned);
417
- __v8hi __D = vec_and (vec_unpackl ((__v16qi) __A), __unsigned);
418
- __v8hi __E = vec_unpackh ((__v16qi) __B);
419
- __v8hi __F = vec_unpackl ((__v16qi) __B);
420
- __C = vec_mul (__C, __E);
421
- __D = vec_mul (__D, __F);
422
- const __v16qu __odds =
423
- { 0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29 };
424
- const __v16qu __evens =
425
- { 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31 };
426
- __E = vec_perm (__C, __D, __odds);
427
- __F = vec_perm (__C, __D, __evens);
428
- return (__m128i) vec_adds (__E, __F);
429
- }
430
-
431
- extern __inline __m64
432
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
433
- _mm_maddubs_pi16 (__m64 __A, __m64 __B)
434
- {
435
- __v8hi __C = (__v8hi) (__v2du) { __A, __A };
436
- __C = vec_unpackl ((__v16qi) __C);
437
- const __v8hi __unsigned = vec_splats ((signed short) 0x00ff);
438
- __C = vec_and (__C, __unsigned);
439
- __v8hi __D = (__v8hi) (__v2du) { __B, __B };
440
- __D = vec_unpackl ((__v16qi) __D);
441
- __D = vec_mul (__C, __D);
442
- const __v16qu __odds =
443
- { 0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29 };
444
- const __v16qu __evens =
445
- { 2, 3, 6, 7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31 };
446
- __C = vec_perm (__D, __D, __odds);
447
- __D = vec_perm (__D, __D, __evens);
448
- __C = vec_adds (__C, __D);
449
- return (__m64) ((__v2du) (__C))[0];
450
- }
451
-
452
- extern __inline __m128i
453
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
454
- _mm_mulhrs_epi16 (__m128i __A, __m128i __B)
455
- {
456
- __v4si __C = vec_unpackh ((__v8hi) __A);
457
- __v4si __D = vec_unpackh ((__v8hi) __B);
458
- __C = vec_mul (__C, __D);
459
- __D = vec_unpackl ((__v8hi) __A);
460
- __v4si __E = vec_unpackl ((__v8hi) __B);
461
- __D = vec_mul (__D, __E);
462
- const __v4su __shift = vec_splats ((unsigned int) 14);
463
- __C = vec_sr (__C, __shift);
464
- __D = vec_sr (__D, __shift);
465
- const __v4si __ones = vec_splats ((signed int) 1);
466
- __C = vec_add (__C, __ones);
467
- __C = vec_sr (__C, (__v4su) __ones);
468
- __D = vec_add (__D, __ones);
469
- __D = vec_sr (__D, (__v4su) __ones);
470
- return (__m128i) vec_pack (__C, __D);
471
- }
472
-
473
- extern __inline __m64
474
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
475
- _mm_mulhrs_pi16 (__m64 __A, __m64 __B)
476
- {
477
- __v4si __C = (__v4si) (__v2du) { __A, __A };
478
- __C = vec_unpackh ((__v8hi) __C);
479
- __v4si __D = (__v4si) (__v2du) { __B, __B };
480
- __D = vec_unpackh ((__v8hi) __D);
481
- __C = vec_mul (__C, __D);
482
- const __v4su __shift = vec_splats ((unsigned int) 14);
483
- __C = vec_sr (__C, __shift);
484
- const __v4si __ones = vec_splats ((signed int) 1);
485
- __C = vec_add (__C, __ones);
486
- __C = vec_sr (__C, (__v4su) __ones);
487
- __v8hi __E = vec_pack (__C, __D);
488
- return (__m64) ((__v2du) (__E))[0];
489
- }
490
-
491
- #else
492
- #include_next <tmmintrin.h>
493
- #endif /* defined(__linux__) && defined(__ppc64__) */
494
-
495
- #endif /* TMMINTRIN_H_ */