@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,150 +0,0 @@
1
- /*===---- pmmintrin.h - Implementation of SSE3 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
- It is the user's responsibility to determine if the results are
17
- acceptable and make additional changes as necessary.
18
- Note that much code that uses Intel intrinsics can be rewritten in
19
- standard C or GNU C extensions, which are more portable and better
20
- optimized across multiple targets.
21
-
22
- In the specific case of X86 SSE3 intrinsics, the PowerPC VMX/VSX ISA
23
- is a good match for most SIMD operations. However the Horizontal
24
- add/sub requires the data pairs be permuted into a separate
25
- registers with vertical even/odd alignment for the operation.
26
- And the addsub operation requires the sign of only the even numbered
27
- elements be flipped (xored with -0.0).
28
- For larger blocks of code using these intrinsic implementations,
29
- the compiler be should be able to schedule instructions to avoid
30
- additional latency.
31
-
32
- In the specific case of the monitor and mwait instructions there are
33
- no direct equivalent in the PowerISA at this time. So those
34
- intrinsics are not implemented. */
35
- #error "Please read comment above. Use -DNO_WARN_X86_INTRINSICS to disable this warning."
36
- #endif
37
-
38
- #ifndef PMMINTRIN_H_
39
- #define PMMINTRIN_H_
40
-
41
- #if defined(__linux__) && defined(__ppc64__)
42
-
43
- /* We need definitions from the SSE2 and SSE header files*/
44
- #include <emmintrin.h>
45
-
46
- extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
47
- _mm_addsub_ps (__m128 __X, __m128 __Y)
48
- {
49
- const __v4sf even_n0 = {-0.0, 0.0, -0.0, 0.0};
50
- __v4sf even_neg_Y = vec_xor(__Y, even_n0);
51
- return (__m128) vec_add (__X, even_neg_Y);
52
- }
53
-
54
- extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
55
- _mm_addsub_pd (__m128d __X, __m128d __Y)
56
- {
57
- const __v2df even_n0 = {-0.0, 0.0};
58
- __v2df even_neg_Y = vec_xor(__Y, even_n0);
59
- return (__m128d) vec_add (__X, even_neg_Y);
60
- }
61
-
62
- extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
63
- _mm_hadd_ps (__m128 __X, __m128 __Y)
64
- {
65
- __vector unsigned char xform2 = {
66
- 0x00, 0x01, 0x02, 0x03,
67
- 0x08, 0x09, 0x0A, 0x0B,
68
- 0x10, 0x11, 0x12, 0x13,
69
- 0x18, 0x19, 0x1A, 0x1B
70
- };
71
- __vector unsigned char xform1 = {
72
- 0x04, 0x05, 0x06, 0x07,
73
- 0x0C, 0x0D, 0x0E, 0x0F,
74
- 0x14, 0x15, 0x16, 0x17,
75
- 0x1C, 0x1D, 0x1E, 0x1F
76
- };
77
- return (__m128) vec_add (vec_perm ((__v4sf) __X, (__v4sf) __Y, xform2),
78
- vec_perm ((__v4sf) __X, (__v4sf) __Y, xform1));
79
- }
80
-
81
- extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
82
- _mm_hsub_ps (__m128 __X, __m128 __Y)
83
- {
84
- __vector unsigned char xform2 = {
85
- 0x00, 0x01, 0x02, 0x03,
86
- 0x08, 0x09, 0x0A, 0x0B,
87
- 0x10, 0x11, 0x12, 0x13,
88
- 0x18, 0x19, 0x1A, 0x1B
89
- };
90
- __vector unsigned char xform1 = {
91
- 0x04, 0x05, 0x06, 0x07,
92
- 0x0C, 0x0D, 0x0E, 0x0F,
93
- 0x14, 0x15, 0x16, 0x17,
94
- 0x1C, 0x1D, 0x1E, 0x1F
95
- };
96
- return (__m128) vec_sub (vec_perm ((__v4sf) __X, (__v4sf) __Y, xform2),
97
- vec_perm ((__v4sf) __X, (__v4sf) __Y, xform1));
98
- }
99
-
100
- extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
101
- _mm_hadd_pd (__m128d __X, __m128d __Y)
102
- {
103
- return (__m128d) vec_add (vec_mergeh ((__v2df) __X, (__v2df)__Y),
104
- vec_mergel ((__v2df) __X, (__v2df)__Y));
105
- }
106
-
107
- extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
108
- _mm_hsub_pd (__m128d __X, __m128d __Y)
109
- {
110
- return (__m128d) vec_sub (vec_mergeh ((__v2df) __X, (__v2df)__Y),
111
- vec_mergel ((__v2df) __X, (__v2df)__Y));
112
- }
113
-
114
- extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
115
- _mm_movehdup_ps (__m128 __X)
116
- {
117
- return (__m128)vec_mergeo ((__v4su)__X, (__v4su)__X);
118
- }
119
-
120
- extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
121
- _mm_moveldup_ps (__m128 __X)
122
- {
123
- return (__m128)vec_mergee ((__v4su)__X, (__v4su)__X);
124
- }
125
-
126
- extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
127
- _mm_loaddup_pd (double const *__P)
128
- {
129
- return (__m128d) vec_splats (*__P);
130
- }
131
-
132
- extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
133
- _mm_movedup_pd (__m128d __X)
134
- {
135
- return _mm_shuffle_pd (__X, __X, _MM_SHUFFLE2 (0,0));
136
- }
137
-
138
- extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
139
- _mm_lddqu_si128 (__m128i const *__P)
140
- {
141
- return (__m128i) (vec_vsx_ld(0, (signed int const *)__P));
142
- }
143
-
144
- /* POWER8 / POWER9 have no equivalent for _mm_monitor nor _mm_wait. */
145
-
146
- #else
147
- #include_next <pmmintrin.h>
148
- #endif /* defined(__linux__) && defined(__ppc64__) */
149
-
150
- #endif /* PMMINTRIN_H_ */
@@ -1,109 +0,0 @@
1
- /*===---- smmintrin.h - Implementation of SSE4 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
- NOTE: This is NOT a complete implementation of the SSE4 intrinsics! */
14
-
15
- #ifndef NO_WARN_X86_INTRINSICS
16
- /* This header is distributed to simplify porting x86_64 code that
17
- makes explicit use of Intel intrinsics to powerp64/powerpc64le.
18
-
19
- It is the user's responsibility to determine if the results are
20
- acceptable and make additional changes as necessary.
21
-
22
- Note that much code that uses Intel intrinsics can be rewritten in
23
- standard C or GNU C extensions, which are more portable and better
24
- optimized across multiple targets. */
25
- #error \
26
- "Please read comment above. Use -DNO_WARN_X86_INTRINSICS to disable this error."
27
- #endif
28
-
29
- #ifndef SMMINTRIN_H_
30
- #define SMMINTRIN_H_
31
-
32
- #if defined(__linux__) && defined(__ppc64__)
33
-
34
- #include <altivec.h>
35
- #include <emmintrin.h>
36
-
37
- extern __inline int
38
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
39
- _mm_extract_epi8(__m128i __X, const int __N) {
40
- return (unsigned char)((__v16qi)__X)[__N & 15];
41
- }
42
-
43
- extern __inline int
44
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
45
- _mm_extract_epi32(__m128i __X, const int __N) {
46
- return ((__v4si)__X)[__N & 3];
47
- }
48
-
49
- extern __inline int
50
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
51
- _mm_extract_epi64(__m128i __X, const int __N) {
52
- return ((__v2di)__X)[__N & 1];
53
- }
54
-
55
- extern __inline int
56
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
57
- _mm_extract_ps(__m128 __X, const int __N) {
58
- return ((__v4si)__X)[__N & 3];
59
- }
60
-
61
- extern __inline __m128i
62
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
63
- _mm_blend_epi16(__m128i __A, __m128i __B, const int __imm8) {
64
- __v16qi __charmask = vec_splats((signed char)__imm8);
65
- __charmask = vec_gb(__charmask);
66
- __v8hu __shortmask = (__v8hu)vec_unpackh(__charmask);
67
- #ifdef __BIG_ENDIAN__
68
- __shortmask = vec_reve(__shortmask);
69
- #endif
70
- return (__m128i)vec_sel((__v8hu)__A, (__v8hu)__B, __shortmask);
71
- }
72
-
73
- extern __inline __m128i
74
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
75
- _mm_blendv_epi8(__m128i __A, __m128i __B, __m128i __mask) {
76
- const __v16qu __seven = vec_splats((unsigned char)0x07);
77
- __v16qu __lmask = vec_sra((__v16qu)__mask, __seven);
78
- return (__m128i)vec_sel((__v16qu)__A, (__v16qu)__B, __lmask);
79
- }
80
-
81
- extern __inline __m128i
82
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
83
- _mm_insert_epi8(__m128i const __A, int const __D, int const __N) {
84
- __v16qi result = (__v16qi)__A;
85
- result[__N & 0xf] = __D;
86
- return (__m128i)result;
87
- }
88
-
89
- extern __inline __m128i
90
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
91
- _mm_insert_epi32(__m128i const __A, int const __D, int const __N) {
92
- __v4si result = (__v4si)__A;
93
- result[__N & 3] = __D;
94
- return (__m128i)result;
95
- }
96
-
97
- extern __inline __m128i
98
- __attribute__((__gnu_inline__, __always_inline__, __artificial__))
99
- _mm_insert_epi64(__m128i const __A, long long const __D, int const __N) {
100
- __v2di result = (__v2di)__A;
101
- result[__N & 1] = __D;
102
- return (__m128i)result;
103
- }
104
-
105
- #else
106
- #include_next <smmintrin.h>
107
- #endif /* defined(__linux__) && defined(__ppc64__) */
108
-
109
- #endif /* _SMMINTRIN_H_ */