@cpp-linter/clang-tidy-win32-x64 19.1.0 → 23.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
  4. package/lib/clang/{19 → 23}/include/__clang_cuda_device_functions.h +15 -1
  5. package/lib/clang/{19 → 23}/include/__clang_cuda_intrinsics.h +288 -20
  6. package/lib/clang/{19 → 23}/include/__clang_cuda_math.h +5 -0
  7. package/lib/clang/{19 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
  8. package/lib/clang/{19 → 23}/include/__clang_cuda_runtime_wrapper.h +28 -5
  9. package/lib/clang/{19 → 23}/include/__clang_cuda_texture_intrinsics.h +437 -2
  10. package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
  11. package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
  12. package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
  13. package/lib/clang/{19 → 23}/include/__clang_hip_cmath.h +15 -9
  14. package/lib/clang/{19 → 23}/include/__clang_hip_libdevice_declares.h +24 -139
  15. package/lib/clang/{19 → 23}/include/__clang_hip_math.h +115 -34
  16. package/lib/clang/{19 → 23}/include/__clang_hip_runtime_wrapper.h +12 -1
  17. package/lib/clang/23/include/__clang_spirv_builtins.h +217 -0
  18. package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
  19. package/lib/clang/23/include/__clang_spirv_math.h +719 -0
  20. package/lib/clang/{19/include/float.h → 23/include/__float_float.h} +14 -34
  21. package/lib/clang/23/include/__float_header_macro.h +12 -0
  22. package/lib/clang/23/include/__float_infinity_nan.h +20 -0
  23. package/lib/clang/{19 → 23}/include/__stdarg_va_arg.h +2 -2
  24. package/lib/clang/{19 → 23}/include/adcintrin.h +5 -0
  25. package/lib/clang/{19 → 23}/include/adxintrin.h +5 -0
  26. package/lib/clang/{19 → 23}/include/altivec.h +169 -96
  27. package/lib/clang/23/include/amdgpuintrin.h +164 -0
  28. package/lib/clang/23/include/amdhsa_abi.h +83 -0
  29. package/lib/clang/23/include/amo.h +220 -0
  30. package/lib/clang/23/include/amxavx512intrin.h +596 -0
  31. package/lib/clang/{19 → 23}/include/amxcomplexintrin.h +4 -6
  32. package/lib/clang/{19 → 23}/include/amxfp16intrin.h +35 -0
  33. package/lib/clang/23/include/amxfp8intrin.h +230 -0
  34. package/lib/clang/{19 → 23}/include/amxintrin.h +3 -35
  35. package/lib/clang/23/include/amxmovrsintrin.h +48 -0
  36. package/lib/clang/23/include/andes_vector.h +21 -0
  37. package/lib/clang/23/include/arm64_neon.h +21 -0
  38. package/lib/clang/{19 → 23}/include/arm64intr.h +10 -0
  39. package/lib/clang/{19 → 23}/include/arm_acle.h +67 -89
  40. package/lib/clang/{19 → 23}/include/arm_fp16.h +89 -89
  41. package/lib/clang/{19 → 23}/include/arm_neon.h +43614 -38901
  42. package/lib/clang/{19 → 23}/include/arm_sme.h +1028 -94
  43. package/lib/clang/{19 → 23}/include/arm_sve.h +7331 -5170
  44. package/lib/clang/{19 → 23}/include/arm_vector_types.h +87 -0
  45. package/lib/clang/23/include/avx10_2_512bf16intrin.h +568 -0
  46. package/lib/clang/23/include/avx10_2_512convertintrin.h +322 -0
  47. package/lib/clang/23/include/avx10_2_512minmaxintrin.h +127 -0
  48. package/lib/clang/23/include/avx10_2_512niintrin.h +314 -0
  49. package/lib/clang/23/include/avx10_2_512satcvtdsintrin.h +307 -0
  50. package/lib/clang/23/include/avx10_2_512satcvtintrin.h +301 -0
  51. package/lib/clang/23/include/avx10_2bf16intrin.h +1094 -0
  52. package/lib/clang/23/include/avx10_2convertintrin.h +3257 -0
  53. package/lib/clang/23/include/avx10_2copyintrin.h +66 -0
  54. package/lib/clang/23/include/avx10_2minmaxintrin.h +232 -0
  55. package/lib/clang/23/include/avx10_2niintrin.h +409 -0
  56. package/lib/clang/23/include/avx10_2satcvtdsintrin.h +376 -0
  57. package/lib/clang/23/include/avx10_2satcvtintrin.h +312 -0
  58. package/lib/clang/{19 → 23}/include/avx2intrin.h +284 -378
  59. package/lib/clang/{19 → 23}/include/avx512bf16intrin.h +25 -16
  60. package/lib/clang/{19 → 23}/include/avx512bitalgintrin.h +21 -32
  61. package/lib/clang/23/include/avx512bmmintrin.h +174 -0
  62. package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
  63. package/lib/clang/{19 → 23}/include/avx512bwintrin.h +405 -534
  64. package/lib/clang/23/include/avx512cdintrin.h +112 -0
  65. package/lib/clang/{19 → 23}/include/avx512dqintrin.h +132 -161
  66. package/lib/clang/{19 → 23}/include/avx512fintrin.h +1068 -1496
  67. package/lib/clang/{19 → 23}/include/avx512fp16intrin.h +126 -129
  68. package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
  69. package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
  70. package/lib/clang/{19 → 23}/include/avx512vbmi2intrin.h +55 -48
  71. package/lib/clang/{19 → 23}/include/avx512vbmiintrin.h +19 -27
  72. package/lib/clang/{19 → 23}/include/avx512vbmivlintrin.h +35 -49
  73. package/lib/clang/{19 → 23}/include/avx512vlbf16intrin.h +32 -22
  74. package/lib/clang/{19 → 23}/include/avx512vlbitalgintrin.h +41 -57
  75. package/lib/clang/{19 → 23}/include/avx512vlbwintrin.h +494 -609
  76. package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
  77. package/lib/clang/{19 → 23}/include/avx512vldqintrin.h +110 -127
  78. package/lib/clang/{19 → 23}/include/avx512vlfp16intrin.h +130 -111
  79. package/lib/clang/{19 → 23}/include/avx512vlintrin.h +1025 -1395
  80. package/lib/clang/{19 → 23}/include/avx512vlvbmi2intrin.h +102 -95
  81. package/lib/clang/{19 → 23}/include/avx512vlvnniintrin.h +50 -52
  82. package/lib/clang/{19 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
  83. package/lib/clang/{19 → 23}/include/avx512vnniintrin.h +42 -45
  84. package/lib/clang/{19 → 23}/include/avx512vp2intersectintrin.h +2 -3
  85. package/lib/clang/{19 → 23}/include/avx512vpopcntdqintrin.h +10 -4
  86. package/lib/clang/{19 → 23}/include/avx512vpopcntdqvlintrin.h +20 -10
  87. package/lib/clang/{19 → 23}/include/avxifmaintrin.h +16 -0
  88. package/lib/clang/{19 → 23}/include/avxintrin.h +186 -248
  89. package/lib/clang/{19 → 23}/include/avxvnniint16intrin.h +130 -152
  90. package/lib/clang/{19 → 23}/include/avxvnniint8intrin.h +68 -85
  91. package/lib/clang/{19 → 23}/include/avxvnniintrin.h +39 -26
  92. package/lib/clang/{19 → 23}/include/bmi2intrin.h +15 -17
  93. package/lib/clang/{19 → 23}/include/bmiintrin.h +31 -41
  94. package/lib/clang/{19 → 23}/include/cmpccxaddintrin.h +1 -1
  95. package/lib/clang/{19 → 23}/include/cpuid.h +137 -37
  96. package/lib/clang/{19 → 23}/include/crc32intrin.h +10 -8
  97. package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
  98. package/lib/clang/23/include/cuda_wrappers/bits/c++config.h +61 -0
  99. package/lib/clang/23/include/cuda_wrappers/cmath +44 -0
  100. package/lib/clang/{19 → 23}/include/cuda_wrappers/new +2 -0
  101. package/lib/clang/{19 → 23}/include/emmintrin.h +306 -272
  102. package/lib/clang/23/include/endian.h +91 -0
  103. package/lib/clang/{19 → 23}/include/f16cintrin.h +23 -9
  104. package/lib/clang/23/include/float.h +48 -0
  105. package/lib/clang/23/include/fma4intrin.h +220 -0
  106. package/lib/clang/{19 → 23}/include/fmaintrin.h +96 -66
  107. package/lib/clang/{19 → 23}/include/gfniintrin.h +39 -12
  108. package/lib/clang/23/include/gpuintrin.h +348 -0
  109. package/lib/clang/{19 → 23}/include/hexagon_types.h +31 -24
  110. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
  111. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics_gen.inc +3869 -0
  112. package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
  113. package/lib/clang/23/include/hlsl/hlsl_compat_overloads.h +559 -0
  114. package/lib/clang/23/include/hlsl/hlsl_detail.h +56 -0
  115. package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
  116. package/lib/clang/23/include/hlsl/hlsl_intrinsic_helpers.h +170 -0
  117. package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
  118. package/lib/clang/23/include/hlsl/hlsl_spirv.h +28 -0
  119. package/lib/clang/23/include/hlsl.h +38 -0
  120. package/lib/clang/{19 → 23}/include/hvx_hexagon_protos.h +1041 -803
  121. package/lib/clang/{19 → 23}/include/immintrin.h +35 -185
  122. package/lib/clang/{19 → 23}/include/intrin.h +62 -21
  123. package/lib/clang/{19 → 23}/include/intrin0.h +10 -1
  124. package/lib/clang/{19 → 23}/include/keylockerintrin.h +0 -9
  125. package/lib/clang/{19 → 23}/include/larchintrin.h +24 -8
  126. package/lib/clang/{19 → 23}/include/lasxintrin.h +140 -25
  127. package/lib/clang/{19 → 23}/include/limits.h +7 -4
  128. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
  129. package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
  130. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
  131. package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
  132. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/stdlib.h +3 -16
  133. package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
  134. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/time.h +4 -10
  135. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  136. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  137. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  138. package/lib/clang/{19 → 23}/include/lsxintrin.h +27 -25
  139. package/lib/clang/{19 → 23}/include/lzcntintrin.h +13 -8
  140. package/lib/clang/{19 → 23}/include/mmintrin.h +241 -256
  141. package/lib/clang/{19 → 23}/include/module.modulemap +54 -9
  142. package/lib/clang/23/include/movrs_avx10_2_512intrin.h +98 -0
  143. package/lib/clang/23/include/movrs_avx10_2intrin.h +174 -0
  144. package/lib/clang/23/include/movrsintrin.h +59 -0
  145. package/lib/clang/23/include/nvptxintrin.h +208 -0
  146. package/lib/clang/{19 → 23}/include/opencl-c-base.h +28 -92
  147. package/lib/clang/{19 → 23}/include/opencl-c.h +506 -140
  148. package/lib/clang/{19 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +18 -5
  149. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex +7 -1
  150. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex.h +6 -0
  151. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex_cmath.h +7 -2
  152. package/lib/clang/{19 → 23}/include/openmp_wrappers/math.h +10 -0
  153. package/lib/clang/{19 → 23}/include/pmmintrin.h +24 -23
  154. package/lib/clang/{19 → 23}/include/popcntintrin.h +7 -7
  155. package/lib/clang/{19 → 23}/include/prfchwintrin.h +10 -13
  156. package/lib/clang/{19 → 23}/include/ptrauth.h +169 -14
  157. package/lib/clang/{19 → 23}/include/riscv_bitmanip.h +7 -0
  158. package/lib/clang/23/include/riscv_corev_alu.h +130 -0
  159. package/lib/clang/{19 → 23}/include/riscv_crypto.h +8 -0
  160. package/lib/clang/23/include/riscv_mips.h +36 -0
  161. package/lib/clang/23/include/riscv_nds.h +92 -0
  162. package/lib/clang/{19 → 23}/include/riscv_ntlh.h +2 -0
  163. package/lib/clang/23/include/riscv_packed_simd.h +644 -0
  164. package/lib/clang/{19 → 23}/include/riscv_vector.h +43 -5
  165. package/lib/clang/{19 → 23}/include/shaintrin.h +3 -2
  166. package/lib/clang/{19 → 23}/include/sifive_vector.h +76 -2
  167. package/lib/clang/23/include/sm4evexintrin.h +32 -0
  168. package/lib/clang/{19 → 23}/include/smmintrin.h +80 -56
  169. package/lib/clang/23/include/spirvintrin.h +167 -0
  170. package/lib/clang/{19 → 23}/include/stdalign.h +0 -5
  171. package/lib/clang/23/include/stdcountof.h +15 -0
  172. package/lib/clang/23/include/stddefer.h +19 -0
  173. package/lib/clang/{19 → 23}/include/stdint.h +23 -143
  174. package/lib/clang/{19 → 23}/include/tbmintrin.h +25 -37
  175. package/lib/clang/{19 → 23}/include/tmmintrin.h +125 -130
  176. package/lib/clang/{19 → 23}/include/vaesintrin.h +1 -2
  177. package/lib/clang/{19 → 23}/include/vecintrin.h +1783 -60
  178. package/lib/clang/{19 → 23}/include/wasm_simd128.h +184 -21
  179. package/lib/clang/{19 → 23}/include/x86gprintrin.h +0 -14
  180. package/lib/clang/{19 → 23}/include/x86intrin.h +0 -18
  181. package/lib/clang/{19 → 23}/include/xmmintrin.h +190 -221
  182. package/lib/clang/{19 → 23}/include/xopintrin.h +20 -10
  183. package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
  184. package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
  185. package/lib/clang/23/include/zos_wrappers/math.h +31 -0
  186. package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
  187. package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
  188. package/lib/clang/23/include/zos_wrappers/string.h +19 -0
  189. package/lib/clang/23/include/zos_wrappers/time.h +19 -0
  190. package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
  191. package/package.json +6 -6
  192. package/lib/clang/19/include/__clang_cuda_complex_builtins.h +0 -285
  193. package/lib/clang/19/include/avx512cdintrin.h +0 -125
  194. package/lib/clang/19/include/avx512ifmaintrin.h +0 -70
  195. package/lib/clang/19/include/avx512ifmavlintrin.h +0 -111
  196. package/lib/clang/19/include/avx512vlcdintrin.h +0 -230
  197. package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
  198. package/lib/clang/19/include/fma4intrin.h +0 -218
  199. package/lib/clang/19/include/hlsl/hlsl_basic_types.h +0 -74
  200. package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +0 -1697
  201. package/lib/clang/19/include/hlsl.h +0 -15
  202. package/lib/clang/19/include/llvm_libc_wrappers/ctype.h +0 -102
  203. package/lib/clang/19/include/llvm_libc_wrappers/stdio.h +0 -80
  204. package/lib/clang/19/include/llvm_libc_wrappers/string.h +0 -96
  205. /package/lib/clang/{19 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
  206. /package/lib/clang/{19 → 23}/include/__clang_cuda_cmath.h +0 -0
  207. /package/lib/clang/{19 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
  208. /package/lib/clang/{19 → 23}/include/__clang_hip_stdlib.h +0 -0
  209. /package/lib/clang/{19 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
  210. /package/lib/clang/{19 → 23}/include/__stdarg___va_copy.h +0 -0
  211. /package/lib/clang/{19 → 23}/include/__stdarg_header_macro.h +0 -0
  212. /package/lib/clang/{19 → 23}/include/__stdarg_va_copy.h +0 -0
  213. /package/lib/clang/{19 → 23}/include/__stdarg_va_list.h +0 -0
  214. /package/lib/clang/{19 → 23}/include/__stddef_header_macro.h +0 -0
  215. /package/lib/clang/{19 → 23}/include/__stddef_max_align_t.h +0 -0
  216. /package/lib/clang/{19 → 23}/include/__stddef_null.h +0 -0
  217. /package/lib/clang/{19 → 23}/include/__stddef_nullptr_t.h +0 -0
  218. /package/lib/clang/{19 → 23}/include/__stddef_offsetof.h +0 -0
  219. /package/lib/clang/{19 → 23}/include/__stddef_ptrdiff_t.h +0 -0
  220. /package/lib/clang/{19 → 23}/include/__stddef_rsize_t.h +0 -0
  221. /package/lib/clang/{19 → 23}/include/__stddef_size_t.h +0 -0
  222. /package/lib/clang/{19 → 23}/include/__stddef_unreachable.h +0 -0
  223. /package/lib/clang/{19 → 23}/include/__stddef_wchar_t.h +0 -0
  224. /package/lib/clang/{19 → 23}/include/__stddef_wint_t.h +0 -0
  225. /package/lib/clang/{19 → 23}/include/__wmmintrin_aes.h +0 -0
  226. /package/lib/clang/{19 → 23}/include/__wmmintrin_pclmul.h +0 -0
  227. /package/lib/clang/{19 → 23}/include/ammintrin.h +0 -0
  228. /package/lib/clang/{19 → 23}/include/arm_bf16.h +0 -0
  229. /package/lib/clang/{19 → 23}/include/arm_cde.h +0 -0
  230. /package/lib/clang/{19 → 23}/include/arm_cmse.h +0 -0
  231. /package/lib/clang/{19 → 23}/include/arm_mve.h +0 -0
  232. /package/lib/clang/{19 → 23}/include/arm_neon_sve_bridge.h +0 -0
  233. /package/lib/clang/{19 → 23}/include/armintr.h +0 -0
  234. /package/lib/clang/{19 → 23}/include/avxneconvertintrin.h +0 -0
  235. /package/lib/clang/{19 → 23}/include/builtins.h +0 -0
  236. /package/lib/clang/{19 → 23}/include/cet.h +0 -0
  237. /package/lib/clang/{19 → 23}/include/cetintrin.h +0 -0
  238. /package/lib/clang/{19 → 23}/include/cldemoteintrin.h +0 -0
  239. /package/lib/clang/{19 → 23}/include/clflushoptintrin.h +0 -0
  240. /package/lib/clang/{19 → 23}/include/clwbintrin.h +0 -0
  241. /package/lib/clang/{19 → 23}/include/clzerointrin.h +0 -0
  242. /package/lib/clang/{19 → 23}/include/cuda_wrappers/algorithm +0 -0
  243. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
  244. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  245. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  246. /package/lib/clang/{19 → 23}/include/cuda_wrappers/complex +0 -0
  247. /package/lib/clang/{19 → 23}/include/enqcmdintrin.h +0 -0
  248. /package/lib/clang/{19 → 23}/include/fxsrintrin.h +0 -0
  249. /package/lib/clang/{19 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
  250. /package/lib/clang/{19 → 23}/include/hexagon_protos.h +0 -0
  251. /package/lib/clang/{19 → 23}/include/hresetintrin.h +0 -0
  252. /package/lib/clang/{19 → 23}/include/htmintrin.h +0 -0
  253. /package/lib/clang/{19 → 23}/include/htmxlintrin.h +0 -0
  254. /package/lib/clang/{19 → 23}/include/ia32intrin.h +0 -0
  255. /package/lib/clang/{19 → 23}/include/inttypes.h +0 -0
  256. /package/lib/clang/{19 → 23}/include/invpcidintrin.h +0 -0
  257. /package/lib/clang/{19 → 23}/include/iso646.h +0 -0
  258. /package/lib/clang/{19 → 23}/include/lwpintrin.h +0 -0
  259. /package/lib/clang/{19 → 23}/include/mm3dnow.h +0 -0
  260. /package/lib/clang/{19 → 23}/include/mm_malloc.h +0 -0
  261. /package/lib/clang/{19 → 23}/include/movdirintrin.h +0 -0
  262. /package/lib/clang/{19 → 23}/include/msa.h +0 -0
  263. /package/lib/clang/{19 → 23}/include/mwaitxintrin.h +0 -0
  264. /package/lib/clang/{19 → 23}/include/nmmintrin.h +0 -0
  265. /package/lib/clang/{19 → 23}/include/openmp_wrappers/cmath +0 -0
  266. /package/lib/clang/{19 → 23}/include/openmp_wrappers/new +0 -0
  267. /package/lib/clang/{19 → 23}/include/pconfigintrin.h +0 -0
  268. /package/lib/clang/{19 → 23}/include/pkuintrin.h +0 -0
  269. /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
  270. /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
  271. /package/lib/clang/{19 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
  272. /package/lib/clang/{19 → 23}/include/ppc_wrappers/immintrin.h +0 -0
  273. /package/lib/clang/{19 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
  274. /package/lib/clang/{19 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
  275. /package/lib/clang/{19 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
  276. /package/lib/clang/{19 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
  277. /package/lib/clang/{19 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
  278. /package/lib/clang/{19 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
  279. /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
  280. /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
  281. /package/lib/clang/{19 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
  282. /package/lib/clang/{19 → 23}/include/prfchiintrin.h +0 -0
  283. /package/lib/clang/{19 → 23}/include/ptwriteintrin.h +0 -0
  284. /package/lib/clang/{19 → 23}/include/raointintrin.h +0 -0
  285. /package/lib/clang/{19 → 23}/include/rdpruintrin.h +0 -0
  286. /package/lib/clang/{19 → 23}/include/rdseedintrin.h +0 -0
  287. /package/lib/clang/{19 → 23}/include/rtmintrin.h +0 -0
  288. /package/lib/clang/{19 → 23}/include/s390intrin.h +0 -0
  289. /package/lib/clang/{19 → 23}/include/serializeintrin.h +0 -0
  290. /package/lib/clang/{19 → 23}/include/sgxintrin.h +0 -0
  291. /package/lib/clang/{19 → 23}/include/sha512intrin.h +0 -0
  292. /package/lib/clang/{19 → 23}/include/sm3intrin.h +0 -0
  293. /package/lib/clang/{19 → 23}/include/sm4intrin.h +0 -0
  294. /package/lib/clang/{19 → 23}/include/stdarg.h +0 -0
  295. /package/lib/clang/{19 → 23}/include/stdatomic.h +0 -0
  296. /package/lib/clang/{19 → 23}/include/stdbool.h +0 -0
  297. /package/lib/clang/{19 → 23}/include/stdckdint.h +0 -0
  298. /package/lib/clang/{19 → 23}/include/stddef.h +0 -0
  299. /package/lib/clang/{19 → 23}/include/stdnoreturn.h +0 -0
  300. /package/lib/clang/{19 → 23}/include/tgmath.h +0 -0
  301. /package/lib/clang/{19 → 23}/include/tsxldtrkintrin.h +0 -0
  302. /package/lib/clang/{19 → 23}/include/uintrintrin.h +0 -0
  303. /package/lib/clang/{19 → 23}/include/unwind.h +0 -0
  304. /package/lib/clang/{19 → 23}/include/usermsrintrin.h +0 -0
  305. /package/lib/clang/{19 → 23}/include/vadefs.h +0 -0
  306. /package/lib/clang/{19 → 23}/include/varargs.h +0 -0
  307. /package/lib/clang/{19 → 23}/include/velintrin.h +0 -0
  308. /package/lib/clang/{19 → 23}/include/velintrin_approx.h +0 -0
  309. /package/lib/clang/{19 → 23}/include/velintrin_gen.h +0 -0
  310. /package/lib/clang/{19 → 23}/include/vpclmulqdqintrin.h +0 -0
  311. /package/lib/clang/{19 → 23}/include/waitpkgintrin.h +0 -0
  312. /package/lib/clang/{19 → 23}/include/wbnoinvdintrin.h +0 -0
  313. /package/lib/clang/{19 → 23}/include/wmmintrin.h +0 -0
  314. /package/lib/clang/{19 → 23}/include/xsavecintrin.h +0 -0
  315. /package/lib/clang/{19 → 23}/include/xsaveintrin.h +0 -0
  316. /package/lib/clang/{19 → 23}/include/xsaveoptintrin.h +0 -0
  317. /package/lib/clang/{19 → 23}/include/xsavesintrin.h +0 -0
  318. /package/lib/clang/{19 → 23}/include/xtestintrin.h +0 -0
  319. /package/lib/clang/{19 → 23}/include/yvals_core.h +0 -0
  320. /package/lib/clang/{19 → 23}/include/zos_wrappers/builtins.h +0 -0
@@ -7,6 +7,9 @@
7
7
  *===-----------------------------------------------------------------------===
8
8
  */
9
9
 
10
+ #ifndef _VECINTRIN_H
11
+ #define _VECINTRIN_H
12
+
10
13
  #if defined(__s390x__) && defined(__VEC__)
11
14
 
12
15
  #define __ATTRS_ai __attribute__((__always_inline__))
@@ -204,7 +207,7 @@ vec_insert(unsigned long long __scalar, __vector unsigned long long __vec,
204
207
  #if __ARCH__ >= 12
205
208
  static inline __ATTRS_o_ai __vector float
206
209
  vec_insert(float __scalar, __vector float __vec, int __index) {
207
- __vec[__index & 1] = __scalar;
210
+ __vec[__index & 3] = __scalar;
208
211
  return __vec;
209
212
  }
210
213
  #endif
@@ -468,6 +471,27 @@ vec_perm(__vector __bool long long __a, __vector __bool long long __b,
468
471
  (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
469
472
  }
470
473
 
474
+ static inline __ATTRS_o_ai __vector signed __int128
475
+ vec_perm(__vector signed __int128 __a, __vector signed __int128 __b,
476
+ __vector unsigned char __c) {
477
+ return (__vector signed __int128)__builtin_s390_vperm(
478
+ (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
479
+ }
480
+
481
+ static inline __ATTRS_o_ai __vector unsigned __int128
482
+ vec_perm(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
483
+ __vector unsigned char __c) {
484
+ return (__vector unsigned __int128)__builtin_s390_vperm(
485
+ (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
486
+ }
487
+
488
+ static inline __ATTRS_o_ai __vector __bool __int128
489
+ vec_perm(__vector __bool __int128 __a, __vector __bool __int128 __b,
490
+ __vector unsigned char __c) {
491
+ return (__vector __bool __int128)__builtin_s390_vperm(
492
+ (__vector unsigned char)__a, (__vector unsigned char)__b, __c);
493
+ }
494
+
471
495
  #if __ARCH__ >= 12
472
496
  static inline __ATTRS_o_ai __vector float
473
497
  vec_perm(__vector float __a, __vector float __b,
@@ -514,9 +538,19 @@ vec_permi(__vector double __a, __vector double __b, int __c)
514
538
  (__vector unsigned long long)(Y), \
515
539
  (((Z) & 2) << 1) | ((Z) & 1)))
516
540
 
541
+ /*-- vec_bperm --------------------------------------------------------------*/
542
+
543
+ #if __ARCH__ >= 12
544
+ static inline __ATTRS_ai __vector unsigned long long
545
+ vec_bperm(__vector unsigned __int128 __a, __vector unsigned char __b) {
546
+ return __builtin_s390_vbperm((__vector unsigned char)__a, __b);
547
+ }
548
+ #endif
549
+
517
550
  /*-- vec_bperm_u128 ---------------------------------------------------------*/
518
551
 
519
552
  #if __ARCH__ >= 12
553
+ // This prototype is deprecated.
520
554
  static inline __ATTRS_ai __vector unsigned long long
521
555
  vec_bperm_u128(__vector unsigned char __a, __vector unsigned char __b) {
522
556
  return __builtin_s390_vbperm(__a, __b);
@@ -558,6 +592,18 @@ vec_revb(__vector unsigned long long __vec) {
558
592
  return __builtin_s390_vlbrg(__vec);
559
593
  }
560
594
 
595
+ static inline __ATTRS_o_ai __vector signed __int128
596
+ vec_revb(__vector signed __int128 __vec) {
597
+ return (__vector signed __int128)
598
+ __builtin_s390_vlbrq((unsigned __int128)__vec);
599
+ }
600
+
601
+ static inline __ATTRS_o_ai __vector unsigned __int128
602
+ vec_revb(__vector unsigned __int128 __vec) {
603
+ return (__vector unsigned __int128)
604
+ __builtin_s390_vlbrq((unsigned __int128)__vec);
605
+ }
606
+
561
607
  #if __ARCH__ >= 12
562
608
  static inline __ATTRS_o_ai __vector float
563
609
  vec_revb(__vector float __vec) {
@@ -820,6 +866,46 @@ vec_sel(__vector unsigned long long __a, __vector unsigned long long __b,
820
866
  (~(__vector unsigned long long)__c & __a));
821
867
  }
822
868
 
869
+ static inline __ATTRS_o_ai __vector signed __int128
870
+ vec_sel(__vector signed __int128 __a, __vector signed __int128 __b,
871
+ __vector unsigned __int128 __c) {
872
+ return (((__vector signed __int128)__c & __b) |
873
+ (~(__vector signed __int128)__c & __a));
874
+ }
875
+
876
+ static inline __ATTRS_o_ai __vector signed __int128
877
+ vec_sel(__vector signed __int128 __a, __vector signed __int128 __b,
878
+ __vector __bool __int128 __c) {
879
+ return (((__vector signed __int128)__c & __b) |
880
+ (~(__vector signed __int128)__c & __a));
881
+ }
882
+
883
+ static inline __ATTRS_o_ai __vector __bool __int128
884
+ vec_sel(__vector __bool __int128 __a, __vector __bool __int128 __b,
885
+ __vector unsigned __int128 __c) {
886
+ return (((__vector __bool __int128)__c & __b) |
887
+ (~(__vector __bool __int128)__c & __a));
888
+ }
889
+
890
+ static inline __ATTRS_o_ai __vector __bool __int128
891
+ vec_sel(__vector __bool __int128 __a, __vector __bool __int128 __b,
892
+ __vector __bool __int128 __c) {
893
+ return (__c & __b) | (~__c & __a);
894
+ }
895
+
896
+ static inline __ATTRS_o_ai __vector unsigned __int128
897
+ vec_sel(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
898
+ __vector unsigned __int128 __c) {
899
+ return (__c & __b) | (~__c & __a);
900
+ }
901
+
902
+ static inline __ATTRS_o_ai __vector unsigned __int128
903
+ vec_sel(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
904
+ __vector __bool __int128 __c) {
905
+ return (((__vector unsigned __int128)__c & __b) |
906
+ (~(__vector unsigned __int128)__c & __a));
907
+ }
908
+
823
909
  #if __ARCH__ >= 12
824
910
  static inline __ATTRS_o_ai __vector float
825
911
  vec_sel(__vector float __a, __vector float __b, __vector unsigned int __c) {
@@ -1078,6 +1164,22 @@ vec_xl(long __offset, const unsigned long long *__ptr) {
1078
1164
  return V;
1079
1165
  }
1080
1166
 
1167
+ static inline __ATTRS_o_ai __vector signed __int128
1168
+ vec_xl(long __offset, const signed __int128 *__ptr) {
1169
+ __vector signed __int128 V;
1170
+ __builtin_memcpy(&V, ((const char *)__ptr + __offset),
1171
+ sizeof(__vector signed __int128));
1172
+ return V;
1173
+ }
1174
+
1175
+ static inline __ATTRS_o_ai __vector unsigned __int128
1176
+ vec_xl(long __offset, const unsigned __int128 *__ptr) {
1177
+ __vector unsigned __int128 V;
1178
+ __builtin_memcpy(&V, ((const char *)__ptr + __offset),
1179
+ sizeof(__vector unsigned __int128));
1180
+ return V;
1181
+ }
1182
+
1081
1183
  #if __ARCH__ >= 12
1082
1184
  static inline __ATTRS_o_ai __vector float
1083
1185
  vec_xl(long __offset, const float *__ptr) {
@@ -1294,6 +1396,22 @@ vec_xst(__vector unsigned long long __vec, long __offset,
1294
1396
  sizeof(__vector unsigned long long));
1295
1397
  }
1296
1398
 
1399
+ static inline __ATTRS_o_ai void
1400
+ vec_xst(__vector signed __int128 __vec, long __offset,
1401
+ signed __int128 *__ptr) {
1402
+ __vector signed __int128 V = __vec;
1403
+ __builtin_memcpy(((char *)__ptr + __offset), &V,
1404
+ sizeof(__vector signed __int128));
1405
+ }
1406
+
1407
+ static inline __ATTRS_o_ai void
1408
+ vec_xst(__vector unsigned __int128 __vec, long __offset,
1409
+ unsigned __int128 *__ptr) {
1410
+ __vector unsigned __int128 V = __vec;
1411
+ __builtin_memcpy(((char *)__ptr + __offset), &V,
1412
+ sizeof(__vector unsigned __int128));
1413
+ }
1414
+
1297
1415
  #if __ARCH__ >= 12
1298
1416
  static inline __ATTRS_o_ai void
1299
1417
  vec_xst(__vector float __vec, long __offset, float *__ptr) {
@@ -1465,6 +1583,14 @@ extern __ATTRS_o __vector unsigned long long
1465
1583
  vec_load_bndry(const unsigned long long *__ptr, unsigned short __len)
1466
1584
  __constant_pow2_range(__len, 64, 4096);
1467
1585
 
1586
+ extern __ATTRS_o __vector signed __int128
1587
+ vec_load_bndry(const signed __int128 *__ptr, unsigned short __len)
1588
+ __constant_pow2_range(__len, 64, 4096);
1589
+
1590
+ extern __ATTRS_o __vector unsigned __int128
1591
+ vec_load_bndry(const unsigned __int128 *__ptr, unsigned short __len)
1592
+ __constant_pow2_range(__len, 64, 4096);
1593
+
1468
1594
  #if __ARCH__ >= 12
1469
1595
  extern __ATTRS_o __vector float
1470
1596
  vec_load_bndry(const float *__ptr, unsigned short __len)
@@ -1496,43 +1622,51 @@ vec_load_len(const unsigned char *__ptr, unsigned int __len) {
1496
1622
  return (__vector unsigned char)__builtin_s390_vll(__len, __ptr);
1497
1623
  }
1498
1624
 
1625
+ // This prototype is deprecated.
1499
1626
  static inline __ATTRS_o_ai __vector signed short
1500
1627
  vec_load_len(const signed short *__ptr, unsigned int __len) {
1501
1628
  return (__vector signed short)__builtin_s390_vll(__len, __ptr);
1502
1629
  }
1503
1630
 
1631
+ // This prototype is deprecated.
1504
1632
  static inline __ATTRS_o_ai __vector unsigned short
1505
1633
  vec_load_len(const unsigned short *__ptr, unsigned int __len) {
1506
1634
  return (__vector unsigned short)__builtin_s390_vll(__len, __ptr);
1507
1635
  }
1508
1636
 
1637
+ // This prototype is deprecated.
1509
1638
  static inline __ATTRS_o_ai __vector signed int
1510
1639
  vec_load_len(const signed int *__ptr, unsigned int __len) {
1511
1640
  return (__vector signed int)__builtin_s390_vll(__len, __ptr);
1512
1641
  }
1513
1642
 
1643
+ // This prototype is deprecated.
1514
1644
  static inline __ATTRS_o_ai __vector unsigned int
1515
1645
  vec_load_len(const unsigned int *__ptr, unsigned int __len) {
1516
1646
  return (__vector unsigned int)__builtin_s390_vll(__len, __ptr);
1517
1647
  }
1518
1648
 
1649
+ // This prototype is deprecated.
1519
1650
  static inline __ATTRS_o_ai __vector signed long long
1520
1651
  vec_load_len(const signed long long *__ptr, unsigned int __len) {
1521
1652
  return (__vector signed long long)__builtin_s390_vll(__len, __ptr);
1522
1653
  }
1523
1654
 
1655
+ // This prototype is deprecated.
1524
1656
  static inline __ATTRS_o_ai __vector unsigned long long
1525
1657
  vec_load_len(const unsigned long long *__ptr, unsigned int __len) {
1526
1658
  return (__vector unsigned long long)__builtin_s390_vll(__len, __ptr);
1527
1659
  }
1528
1660
 
1529
1661
  #if __ARCH__ >= 12
1662
+ // This prototype is deprecated.
1530
1663
  static inline __ATTRS_o_ai __vector float
1531
1664
  vec_load_len(const float *__ptr, unsigned int __len) {
1532
1665
  return (__vector float)__builtin_s390_vll(__len, __ptr);
1533
1666
  }
1534
1667
  #endif
1535
1668
 
1669
+ // This prototype is deprecated.
1536
1670
  static inline __ATTRS_o_ai __vector double
1537
1671
  vec_load_len(const double *__ptr, unsigned int __len) {
1538
1672
  return (__vector double)__builtin_s390_vll(__len, __ptr);
@@ -1541,7 +1675,12 @@ vec_load_len(const double *__ptr, unsigned int __len) {
1541
1675
  /*-- vec_load_len_r ---------------------------------------------------------*/
1542
1676
 
1543
1677
  #if __ARCH__ >= 12
1544
- static inline __ATTRS_ai __vector unsigned char
1678
+ static inline __ATTRS_o_ai __vector signed char
1679
+ vec_load_len_r(const signed char *__ptr, unsigned int __len) {
1680
+ return (__vector signed char)__builtin_s390_vlrlr(__len, __ptr);
1681
+ }
1682
+
1683
+ static inline __ATTRS_o_ai __vector unsigned char
1545
1684
  vec_load_len_r(const unsigned char *__ptr, unsigned int __len) {
1546
1685
  return (__vector unsigned char)__builtin_s390_vlrlr(__len, __ptr);
1547
1686
  }
@@ -1561,36 +1700,42 @@ vec_store_len(__vector unsigned char __vec, unsigned char *__ptr,
1561
1700
  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
1562
1701
  }
1563
1702
 
1703
+ // This prototype is deprecated.
1564
1704
  static inline __ATTRS_o_ai void
1565
1705
  vec_store_len(__vector signed short __vec, signed short *__ptr,
1566
1706
  unsigned int __len) {
1567
1707
  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
1568
1708
  }
1569
1709
 
1710
+ // This prototype is deprecated.
1570
1711
  static inline __ATTRS_o_ai void
1571
1712
  vec_store_len(__vector unsigned short __vec, unsigned short *__ptr,
1572
1713
  unsigned int __len) {
1573
1714
  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
1574
1715
  }
1575
1716
 
1717
+ // This prototype is deprecated.
1576
1718
  static inline __ATTRS_o_ai void
1577
1719
  vec_store_len(__vector signed int __vec, signed int *__ptr,
1578
1720
  unsigned int __len) {
1579
1721
  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
1580
1722
  }
1581
1723
 
1724
+ // This prototype is deprecated.
1582
1725
  static inline __ATTRS_o_ai void
1583
1726
  vec_store_len(__vector unsigned int __vec, unsigned int *__ptr,
1584
1727
  unsigned int __len) {
1585
1728
  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
1586
1729
  }
1587
1730
 
1731
+ // This prototype is deprecated.
1588
1732
  static inline __ATTRS_o_ai void
1589
1733
  vec_store_len(__vector signed long long __vec, signed long long *__ptr,
1590
1734
  unsigned int __len) {
1591
1735
  __builtin_s390_vstl((__vector signed char)__vec, __len, __ptr);
1592
1736
  }
1593
1737
 
1738
+ // This prototype is deprecated.
1594
1739
  static inline __ATTRS_o_ai void
1595
1740
  vec_store_len(__vector unsigned long long __vec, unsigned long long *__ptr,
1596
1741
  unsigned int __len) {
@@ -1598,6 +1743,7 @@ vec_store_len(__vector unsigned long long __vec, unsigned long long *__ptr,
1598
1743
  }
1599
1744
 
1600
1745
  #if __ARCH__ >= 12
1746
+ // This prototype is deprecated.
1601
1747
  static inline __ATTRS_o_ai void
1602
1748
  vec_store_len(__vector float __vec, float *__ptr,
1603
1749
  unsigned int __len) {
@@ -1605,6 +1751,7 @@ vec_store_len(__vector float __vec, float *__ptr,
1605
1751
  }
1606
1752
  #endif
1607
1753
 
1754
+ // This prototype is deprecated.
1608
1755
  static inline __ATTRS_o_ai void
1609
1756
  vec_store_len(__vector double __vec, double *__ptr,
1610
1757
  unsigned int __len) {
@@ -1614,7 +1761,13 @@ vec_store_len(__vector double __vec, double *__ptr,
1614
1761
  /*-- vec_store_len_r --------------------------------------------------------*/
1615
1762
 
1616
1763
  #if __ARCH__ >= 12
1617
- static inline __ATTRS_ai void
1764
+ static inline __ATTRS_o_ai void
1765
+ vec_store_len_r(__vector signed char __vec, signed char *__ptr,
1766
+ unsigned int __len) {
1767
+ __builtin_s390_vstrlr(__vec, __len, __ptr);
1768
+ }
1769
+
1770
+ static inline __ATTRS_o_ai void
1618
1771
  vec_store_len_r(__vector unsigned char __vec, unsigned char *__ptr,
1619
1772
  unsigned int __len) {
1620
1773
  __builtin_s390_vstrlr((__vector signed char)__vec, __len, __ptr);
@@ -1711,6 +1864,35 @@ vec_genmasks_64(unsigned char __first, unsigned char __last)
1711
1864
  return (__vector unsigned long long)__value;
1712
1865
  }
1713
1866
 
1867
+ /*-- vec_gen_element_masks_* ------------------------------------------------*/
1868
+
1869
+ #if __ARCH__ >= 15
1870
+ static inline __ATTRS_ai __vector unsigned char
1871
+ vec_gen_element_masks_8(__vector unsigned short __mask) {
1872
+ return __builtin_s390_vgemb(__mask);
1873
+ }
1874
+
1875
+ static inline __ATTRS_ai __vector unsigned short
1876
+ vec_gen_element_masks_16(__vector unsigned char __mask) {
1877
+ return __builtin_s390_vgemh(__mask);
1878
+ }
1879
+
1880
+ static inline __ATTRS_ai __vector unsigned int
1881
+ vec_gen_element_masks_32(__vector unsigned char __mask) {
1882
+ return __builtin_s390_vgemf(__mask);
1883
+ }
1884
+
1885
+ static inline __ATTRS_ai __vector unsigned long long
1886
+ vec_gen_element_masks_64(__vector unsigned char __mask) {
1887
+ return __builtin_s390_vgemg(__mask);
1888
+ }
1889
+
1890
+ static inline __ATTRS_ai __vector unsigned __int128
1891
+ vec_gen_element_masks_128(__vector unsigned char __mask) {
1892
+ return (__vector unsigned __int128)__builtin_s390_vgemq(__mask);
1893
+ }
1894
+ #endif
1895
+
1714
1896
  /*-- vec_splat --------------------------------------------------------------*/
1715
1897
 
1716
1898
  static inline __ATTRS_o_ai __vector signed char
@@ -1894,6 +2076,16 @@ vec_splats(unsigned long long __scalar) {
1894
2076
  return (__vector unsigned long long)__scalar;
1895
2077
  }
1896
2078
 
2079
+ static inline __ATTRS_o_ai __vector signed __int128
2080
+ vec_splats(signed __int128 __scalar) {
2081
+ return (__vector signed __int128)__scalar;
2082
+ }
2083
+
2084
+ static inline __ATTRS_o_ai __vector unsigned __int128
2085
+ vec_splats(unsigned __int128 __scalar) {
2086
+ return (__vector unsigned __int128)__scalar;
2087
+ }
2088
+
1897
2089
  #if __ARCH__ >= 12
1898
2090
  static inline __ATTRS_o_ai __vector float
1899
2091
  vec_splats(float __scalar) {
@@ -2166,6 +2358,27 @@ vec_pack(__vector unsigned long long __a, __vector unsigned long long __b) {
2166
2358
  return (__vector unsigned int)(__ac[1], __ac[3], __bc[1], __bc[3]);
2167
2359
  }
2168
2360
 
2361
+ static inline __ATTRS_o_ai __vector signed long long
2362
+ vec_pack(__vector signed __int128 __a, __vector signed __int128 __b) {
2363
+ __vector signed long long __ac = (__vector signed long long)__a;
2364
+ __vector signed long long __bc = (__vector signed long long)__b;
2365
+ return (__vector signed long long)(__ac[1], __bc[1]);
2366
+ }
2367
+
2368
+ static inline __ATTRS_o_ai __vector __bool long long
2369
+ vec_pack(__vector __bool __int128 __a, __vector __bool __int128 __b) {
2370
+ __vector __bool long long __ac = (__vector __bool long long)__a;
2371
+ __vector __bool long long __bc = (__vector __bool long long)__b;
2372
+ return (__vector __bool long long)(__ac[1], __bc[1]);
2373
+ }
2374
+
2375
+ static inline __ATTRS_o_ai __vector unsigned long long
2376
+ vec_pack(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
2377
+ __vector unsigned long long __ac = (__vector unsigned long long)__a;
2378
+ __vector unsigned long long __bc = (__vector unsigned long long)__b;
2379
+ return (__vector unsigned long long)(__ac[1], __bc[1]);
2380
+ }
2381
+
2169
2382
  /*-- vec_packs --------------------------------------------------------------*/
2170
2383
 
2171
2384
  static inline __ATTRS_o_ai __vector signed char
@@ -2344,6 +2557,24 @@ vec_unpackh(__vector unsigned int __a) {
2344
2557
  return __builtin_s390_vuplhf(__a);
2345
2558
  }
2346
2559
 
2560
+ #if __ARCH__ >= 15
2561
+ static inline __ATTRS_o_ai __vector signed __int128
2562
+ vec_unpackh(__vector signed long long __a) {
2563
+ return (__vector signed __int128)__builtin_s390_vuphg(__a);
2564
+ }
2565
+
2566
+ static inline __ATTRS_o_ai __vector __bool __int128
2567
+ vec_unpackh(__vector __bool long long __a) {
2568
+ return ((__vector __bool __int128)
2569
+ __builtin_s390_vuphg((__vector signed long long)__a));
2570
+ }
2571
+
2572
+ static inline __ATTRS_o_ai __vector unsigned __int128
2573
+ vec_unpackh(__vector unsigned long long __a) {
2574
+ return (__vector unsigned __int128)__builtin_s390_vuplhg(__a);
2575
+ }
2576
+ #endif
2577
+
2347
2578
  /*-- vec_unpackl ------------------------------------------------------------*/
2348
2579
 
2349
2580
  static inline __ATTRS_o_ai __vector signed short
@@ -2394,6 +2625,24 @@ vec_unpackl(__vector unsigned int __a) {
2394
2625
  return __builtin_s390_vupllf(__a);
2395
2626
  }
2396
2627
 
2628
+ #if __ARCH__ >= 15
2629
+ static inline __ATTRS_o_ai __vector signed __int128
2630
+ vec_unpackl(__vector signed long long __a) {
2631
+ return (__vector signed __int128)__builtin_s390_vuplg(__a);
2632
+ }
2633
+
2634
+ static inline __ATTRS_o_ai __vector __bool __int128
2635
+ vec_unpackl(__vector __bool long long __a) {
2636
+ return ((__vector __bool __int128)
2637
+ __builtin_s390_vuplg((__vector signed long long)__a));
2638
+ }
2639
+
2640
+ static inline __ATTRS_o_ai __vector unsigned __int128
2641
+ vec_unpackl(__vector unsigned long long __a) {
2642
+ return (__vector unsigned __int128)__builtin_s390_vupllg(__a);
2643
+ }
2644
+ #endif
2645
+
2397
2646
  /*-- vec_cmpeq --------------------------------------------------------------*/
2398
2647
 
2399
2648
  static inline __ATTRS_o_ai __vector __bool char
@@ -2456,6 +2705,21 @@ vec_cmpeq(__vector unsigned long long __a, __vector unsigned long long __b) {
2456
2705
  return (__vector __bool long long)(__a == __b);
2457
2706
  }
2458
2707
 
2708
+ static inline __ATTRS_o_ai __vector __bool __int128
2709
+ vec_cmpeq(__vector __bool __int128 __a, __vector __bool __int128 __b) {
2710
+ return (__vector __bool __int128)(__a == __b);
2711
+ }
2712
+
2713
+ static inline __ATTRS_o_ai __vector __bool __int128
2714
+ vec_cmpeq(__vector signed __int128 __a, __vector signed __int128 __b) {
2715
+ return (__vector __bool __int128)(__a == __b);
2716
+ }
2717
+
2718
+ static inline __ATTRS_o_ai __vector __bool __int128
2719
+ vec_cmpeq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
2720
+ return (__vector __bool __int128)(__a == __b);
2721
+ }
2722
+
2459
2723
  #if __ARCH__ >= 12
2460
2724
  static inline __ATTRS_o_ai __vector __bool int
2461
2725
  vec_cmpeq(__vector float __a, __vector float __b) {
@@ -2510,6 +2774,16 @@ vec_cmpge(__vector unsigned long long __a, __vector unsigned long long __b) {
2510
2774
  return (__vector __bool long long)(__a >= __b);
2511
2775
  }
2512
2776
 
2777
+ static inline __ATTRS_o_ai __vector __bool __int128
2778
+ vec_cmpge(__vector signed __int128 __a, __vector signed __int128 __b) {
2779
+ return (__vector __bool __int128)(__a >= __b);
2780
+ }
2781
+
2782
+ static inline __ATTRS_o_ai __vector __bool __int128
2783
+ vec_cmpge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
2784
+ return (__vector __bool __int128)(__a >= __b);
2785
+ }
2786
+
2513
2787
  #if __ARCH__ >= 12
2514
2788
  static inline __ATTRS_o_ai __vector __bool int
2515
2789
  vec_cmpge(__vector float __a, __vector float __b) {
@@ -2564,6 +2838,16 @@ vec_cmpgt(__vector unsigned long long __a, __vector unsigned long long __b) {
2564
2838
  return (__vector __bool long long)(__a > __b);
2565
2839
  }
2566
2840
 
2841
+ static inline __ATTRS_o_ai __vector __bool __int128
2842
+ vec_cmpgt(__vector signed __int128 __a, __vector signed __int128 __b) {
2843
+ return (__vector __bool __int128)(__a > __b);
2844
+ }
2845
+
2846
+ static inline __ATTRS_o_ai __vector __bool __int128
2847
+ vec_cmpgt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
2848
+ return (__vector __bool __int128)(__a > __b);
2849
+ }
2850
+
2567
2851
  #if __ARCH__ >= 12
2568
2852
  static inline __ATTRS_o_ai __vector __bool int
2569
2853
  vec_cmpgt(__vector float __a, __vector float __b) {
@@ -2618,6 +2902,16 @@ vec_cmple(__vector unsigned long long __a, __vector unsigned long long __b) {
2618
2902
  return (__vector __bool long long)(__a <= __b);
2619
2903
  }
2620
2904
 
2905
+ static inline __ATTRS_o_ai __vector __bool __int128
2906
+ vec_cmple(__vector signed __int128 __a, __vector signed __int128 __b) {
2907
+ return (__vector __bool __int128)(__a <= __b);
2908
+ }
2909
+
2910
+ static inline __ATTRS_o_ai __vector __bool __int128
2911
+ vec_cmple(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
2912
+ return (__vector __bool __int128)(__a <= __b);
2913
+ }
2914
+
2621
2915
  #if __ARCH__ >= 12
2622
2916
  static inline __ATTRS_o_ai __vector __bool int
2623
2917
  vec_cmple(__vector float __a, __vector float __b) {
@@ -2672,6 +2966,16 @@ vec_cmplt(__vector unsigned long long __a, __vector unsigned long long __b) {
2672
2966
  return (__vector __bool long long)(__a < __b);
2673
2967
  }
2674
2968
 
2969
+ static inline __ATTRS_o_ai __vector __bool __int128
2970
+ vec_cmplt(__vector signed __int128 __a, __vector signed __int128 __b) {
2971
+ return (__vector __bool __int128)(__a < __b);
2972
+ }
2973
+
2974
+ static inline __ATTRS_o_ai __vector __bool __int128
2975
+ vec_cmplt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
2976
+ return (__vector __bool __int128)(__a < __b);
2977
+ }
2978
+
2675
2979
  #if __ARCH__ >= 12
2676
2980
  static inline __ATTRS_o_ai __vector __bool int
2677
2981
  vec_cmplt(__vector float __a, __vector float __b) {
@@ -2914,6 +3218,29 @@ vec_all_eq(__vector __bool long long __a, __vector __bool long long __b) {
2914
3218
  return __cc == 0;
2915
3219
  }
2916
3220
 
3221
+ #if __ARCH__ >= 15
3222
+ static inline __ATTRS_o_ai int
3223
+ vec_all_eq(__vector signed __int128 __a, __vector signed __int128 __b) {
3224
+ int __cc;
3225
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
3226
+ return __cc == 0;
3227
+ }
3228
+
3229
+ static inline __ATTRS_o_ai int
3230
+ vec_all_eq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
3231
+ int __cc;
3232
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
3233
+ return __cc == 0;
3234
+ }
3235
+
3236
+ static inline __ATTRS_o_ai int
3237
+ vec_all_eq(__vector __bool __int128 __a, __vector __bool __int128 __b) {
3238
+ int __cc;
3239
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
3240
+ return __cc == 0;
3241
+ }
3242
+ #endif
3243
+
2917
3244
  #if __ARCH__ >= 12
2918
3245
  static inline __ATTRS_o_ai int
2919
3246
  vec_all_eq(__vector float __a, __vector float __b) {
@@ -3161,6 +3488,29 @@ vec_all_ne(__vector __bool long long __a, __vector __bool long long __b) {
3161
3488
  return __cc == 3;
3162
3489
  }
3163
3490
 
3491
+ #if __ARCH__ >= 15
3492
+ static inline __ATTRS_o_ai int
3493
+ vec_all_ne(__vector signed __int128 __a, __vector signed __int128 __b) {
3494
+ int __cc;
3495
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
3496
+ return __cc == 3;
3497
+ }
3498
+
3499
+ static inline __ATTRS_o_ai int
3500
+ vec_all_ne(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
3501
+ int __cc;
3502
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
3503
+ return __cc == 3;
3504
+ }
3505
+
3506
+ static inline __ATTRS_o_ai int
3507
+ vec_all_ne(__vector __bool __int128 __a, __vector __bool __int128 __b) {
3508
+ int __cc;
3509
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
3510
+ return __cc == 3;
3511
+ }
3512
+ #endif
3513
+
3164
3514
  #if __ARCH__ >= 12
3165
3515
  static inline __ATTRS_o_ai int
3166
3516
  vec_all_ne(__vector float __a, __vector float __b) {
@@ -3399,6 +3749,22 @@ vec_all_ge(__vector __bool long long __a, __vector __bool long long __b) {
3399
3749
  return __cc == 3;
3400
3750
  }
3401
3751
 
3752
+ #if __ARCH__ >= 15
3753
+ static inline __ATTRS_o_ai int
3754
+ vec_all_ge(__vector signed __int128 __a, __vector signed __int128 __b) {
3755
+ int __cc;
3756
+ __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
3757
+ return __cc == 3;
3758
+ }
3759
+
3760
+ static inline __ATTRS_o_ai int
3761
+ vec_all_ge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
3762
+ int __cc;
3763
+ __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
3764
+ return __cc == 3;
3765
+ }
3766
+ #endif
3767
+
3402
3768
  #if __ARCH__ >= 12
3403
3769
  static inline __ATTRS_o_ai int
3404
3770
  vec_all_ge(__vector float __a, __vector float __b) {
@@ -3637,6 +4003,22 @@ vec_all_gt(__vector __bool long long __a, __vector __bool long long __b) {
3637
4003
  return __cc == 0;
3638
4004
  }
3639
4005
 
4006
+ #if __ARCH__ >= 15
4007
+ static inline __ATTRS_o_ai int
4008
+ vec_all_gt(__vector signed __int128 __a, __vector signed __int128 __b) {
4009
+ int __cc;
4010
+ __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
4011
+ return __cc == 0;
4012
+ }
4013
+
4014
+ static inline __ATTRS_o_ai int
4015
+ vec_all_gt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
4016
+ int __cc;
4017
+ __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
4018
+ return __cc == 0;
4019
+ }
4020
+ #endif
4021
+
3640
4022
  #if __ARCH__ >= 12
3641
4023
  static inline __ATTRS_o_ai int
3642
4024
  vec_all_gt(__vector float __a, __vector float __b) {
@@ -3875,6 +4257,22 @@ vec_all_le(__vector __bool long long __a, __vector __bool long long __b) {
3875
4257
  return __cc == 3;
3876
4258
  }
3877
4259
 
4260
+ #if __ARCH__ >= 15
4261
+ static inline __ATTRS_o_ai int
4262
+ vec_all_le(__vector signed __int128 __a, __vector signed __int128 __b) {
4263
+ int __cc;
4264
+ __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
4265
+ return __cc == 3;
4266
+ }
4267
+
4268
+ static inline __ATTRS_o_ai int
4269
+ vec_all_le(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
4270
+ int __cc;
4271
+ __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
4272
+ return __cc == 3;
4273
+ }
4274
+ #endif
4275
+
3878
4276
  #if __ARCH__ >= 12
3879
4277
  static inline __ATTRS_o_ai int
3880
4278
  vec_all_le(__vector float __a, __vector float __b) {
@@ -4113,6 +4511,22 @@ vec_all_lt(__vector __bool long long __a, __vector __bool long long __b) {
4113
4511
  return __cc == 0;
4114
4512
  }
4115
4513
 
4514
+ #if __ARCH__ >= 15
4515
+ static inline __ATTRS_o_ai int
4516
+ vec_all_lt(__vector signed __int128 __a, __vector signed __int128 __b) {
4517
+ int __cc;
4518
+ __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
4519
+ return __cc == 0;
4520
+ }
4521
+
4522
+ static inline __ATTRS_o_ai int
4523
+ vec_all_lt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
4524
+ int __cc;
4525
+ __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
4526
+ return __cc == 0;
4527
+ }
4528
+ #endif
4529
+
4116
4530
  #if __ARCH__ >= 12
4117
4531
  static inline __ATTRS_o_ai int
4118
4532
  vec_all_lt(__vector float __a, __vector float __b) {
@@ -4467,6 +4881,29 @@ vec_any_eq(__vector __bool long long __a, __vector __bool long long __b) {
4467
4881
  return __cc <= 1;
4468
4882
  }
4469
4883
 
4884
+ #if __ARCH__ >= 15
4885
+ static inline __ATTRS_o_ai int
4886
+ vec_any_eq(__vector signed __int128 __a, __vector signed __int128 __b) {
4887
+ int __cc;
4888
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
4889
+ return __cc <= 1;
4890
+ }
4891
+
4892
+ static inline __ATTRS_o_ai int
4893
+ vec_any_eq(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
4894
+ int __cc;
4895
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
4896
+ return __cc <= 1;
4897
+ }
4898
+
4899
+ static inline __ATTRS_o_ai int
4900
+ vec_any_eq(__vector __bool __int128 __a, __vector __bool __int128 __b) {
4901
+ int __cc;
4902
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
4903
+ return __cc <= 1;
4904
+ }
4905
+ #endif
4906
+
4470
4907
  #if __ARCH__ >= 12
4471
4908
  static inline __ATTRS_o_ai int
4472
4909
  vec_any_eq(__vector float __a, __vector float __b) {
@@ -4713,24 +5150,47 @@ vec_any_ne(__vector __bool long long __a, __vector __bool long long __b) {
4713
5150
  return __cc != 0;
4714
5151
  }
4715
5152
 
4716
- #if __ARCH__ >= 12
5153
+ #if __ARCH__ >= 15
4717
5154
  static inline __ATTRS_o_ai int
4718
- vec_any_ne(__vector float __a, __vector float __b) {
5155
+ vec_any_ne(__vector signed __int128 __a, __vector signed __int128 __b) {
4719
5156
  int __cc;
4720
- __builtin_s390_vfcesbs(__a, __b, &__cc);
5157
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
4721
5158
  return __cc != 0;
4722
5159
  }
4723
- #endif
4724
5160
 
4725
5161
  static inline __ATTRS_o_ai int
4726
- vec_any_ne(__vector double __a, __vector double __b) {
5162
+ vec_any_ne(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
4727
5163
  int __cc;
4728
- __builtin_s390_vfcedbs(__a, __b, &__cc);
5164
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
4729
5165
  return __cc != 0;
4730
5166
  }
4731
5167
 
4732
- /*-- vec_any_ge -------------------------------------------------------------*/
4733
-
5168
+ static inline __ATTRS_o_ai int
5169
+ vec_any_ne(__vector __bool __int128 __a, __vector __bool __int128 __b) {
5170
+ int __cc;
5171
+ __builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
5172
+ return __cc != 0;
5173
+ }
5174
+ #endif
5175
+
5176
+ #if __ARCH__ >= 12
5177
+ static inline __ATTRS_o_ai int
5178
+ vec_any_ne(__vector float __a, __vector float __b) {
5179
+ int __cc;
5180
+ __builtin_s390_vfcesbs(__a, __b, &__cc);
5181
+ return __cc != 0;
5182
+ }
5183
+ #endif
5184
+
5185
+ static inline __ATTRS_o_ai int
5186
+ vec_any_ne(__vector double __a, __vector double __b) {
5187
+ int __cc;
5188
+ __builtin_s390_vfcedbs(__a, __b, &__cc);
5189
+ return __cc != 0;
5190
+ }
5191
+
5192
+ /*-- vec_any_ge -------------------------------------------------------------*/
5193
+
4734
5194
  static inline __ATTRS_o_ai int
4735
5195
  vec_any_ge(__vector signed char __a, __vector signed char __b) {
4736
5196
  int __cc;
@@ -4951,6 +5411,22 @@ vec_any_ge(__vector __bool long long __a, __vector __bool long long __b) {
4951
5411
  return __cc != 0;
4952
5412
  }
4953
5413
 
5414
+ #if __ARCH__ >= 15
5415
+ static inline __ATTRS_o_ai int
5416
+ vec_any_ge(__vector signed __int128 __a, __vector signed __int128 __b) {
5417
+ int __cc;
5418
+ __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
5419
+ return __cc != 0;
5420
+ }
5421
+
5422
+ static inline __ATTRS_o_ai int
5423
+ vec_any_ge(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
5424
+ int __cc;
5425
+ __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
5426
+ return __cc != 0;
5427
+ }
5428
+ #endif
5429
+
4954
5430
  #if __ARCH__ >= 12
4955
5431
  static inline __ATTRS_o_ai int
4956
5432
  vec_any_ge(__vector float __a, __vector float __b) {
@@ -5189,6 +5665,22 @@ vec_any_gt(__vector __bool long long __a, __vector __bool long long __b) {
5189
5665
  return __cc <= 1;
5190
5666
  }
5191
5667
 
5668
+ #if __ARCH__ >= 15
5669
+ static inline __ATTRS_o_ai int
5670
+ vec_any_gt(__vector signed __int128 __a, __vector signed __int128 __b) {
5671
+ int __cc;
5672
+ __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
5673
+ return __cc <= 1;
5674
+ }
5675
+
5676
+ static inline __ATTRS_o_ai int
5677
+ vec_any_gt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
5678
+ int __cc;
5679
+ __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
5680
+ return __cc <= 1;
5681
+ }
5682
+ #endif
5683
+
5192
5684
  #if __ARCH__ >= 12
5193
5685
  static inline __ATTRS_o_ai int
5194
5686
  vec_any_gt(__vector float __a, __vector float __b) {
@@ -5427,6 +5919,22 @@ vec_any_le(__vector __bool long long __a, __vector __bool long long __b) {
5427
5919
  return __cc != 0;
5428
5920
  }
5429
5921
 
5922
+ #if __ARCH__ >= 15
5923
+ static inline __ATTRS_o_ai int
5924
+ vec_any_le(__vector signed __int128 __a, __vector signed __int128 __b) {
5925
+ int __cc;
5926
+ __builtin_s390_vchqs((signed __int128)__a, (signed __int128)__b, &__cc);
5927
+ return __cc != 0;
5928
+ }
5929
+
5930
+ static inline __ATTRS_o_ai int
5931
+ vec_any_le(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
5932
+ int __cc;
5933
+ __builtin_s390_vchlqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
5934
+ return __cc != 0;
5935
+ }
5936
+ #endif
5937
+
5430
5938
  #if __ARCH__ >= 12
5431
5939
  static inline __ATTRS_o_ai int
5432
5940
  vec_any_le(__vector float __a, __vector float __b) {
@@ -5665,6 +6173,22 @@ vec_any_lt(__vector __bool long long __a, __vector __bool long long __b) {
5665
6173
  return __cc <= 1;
5666
6174
  }
5667
6175
 
6176
+ #if __ARCH__ >= 15
6177
+ static inline __ATTRS_o_ai int
6178
+ vec_any_lt(__vector signed __int128 __a, __vector signed __int128 __b) {
6179
+ int __cc;
6180
+ __builtin_s390_vchqs((signed __int128)__b, (signed __int128)__a, &__cc);
6181
+ return __cc <= 1;
6182
+ }
6183
+
6184
+ static inline __ATTRS_o_ai int
6185
+ vec_any_lt(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
6186
+ int __cc;
6187
+ __builtin_s390_vchlqs((unsigned __int128)__b, (unsigned __int128)__a, &__cc);
6188
+ return __cc <= 1;
6189
+ }
6190
+ #endif
6191
+
5668
6192
  #if __ARCH__ >= 12
5669
6193
  static inline __ATTRS_o_ai int
5670
6194
  vec_any_lt(__vector float __a, __vector float __b) {
@@ -5753,40 +6277,419 @@ vec_any_nlt(__vector double __a, __vector double __b) {
5753
6277
  return __cc != 0;
5754
6278
  }
5755
6279
 
5756
- /*-- vec_any_nan ------------------------------------------------------------*/
5757
-
5758
- #if __ARCH__ >= 12
5759
- static inline __ATTRS_o_ai int
5760
- vec_any_nan(__vector float __a) {
5761
- int __cc;
5762
- __builtin_s390_vftcisb(__a, 15, &__cc);
5763
- return __cc != 3;
6280
+ /*-- vec_any_nan ------------------------------------------------------------*/
6281
+
6282
+ #if __ARCH__ >= 12
6283
+ static inline __ATTRS_o_ai int
6284
+ vec_any_nan(__vector float __a) {
6285
+ int __cc;
6286
+ __builtin_s390_vftcisb(__a, 15, &__cc);
6287
+ return __cc != 3;
6288
+ }
6289
+ #endif
6290
+
6291
+ static inline __ATTRS_o_ai int
6292
+ vec_any_nan(__vector double __a) {
6293
+ int __cc;
6294
+ __builtin_s390_vftcidb(__a, 15, &__cc);
6295
+ return __cc != 3;
6296
+ }
6297
+
6298
+ /*-- vec_any_numeric --------------------------------------------------------*/
6299
+
6300
+ #if __ARCH__ >= 12
6301
+ static inline __ATTRS_o_ai int
6302
+ vec_any_numeric(__vector float __a) {
6303
+ int __cc;
6304
+ __builtin_s390_vftcisb(__a, 15, &__cc);
6305
+ return __cc != 0;
6306
+ }
6307
+ #endif
6308
+
6309
+ static inline __ATTRS_o_ai int
6310
+ vec_any_numeric(__vector double __a) {
6311
+ int __cc;
6312
+ __builtin_s390_vftcidb(__a, 15, &__cc);
6313
+ return __cc != 0;
6314
+ }
6315
+
6316
+ /*-- vec_blend --------------------------------------------------------------*/
6317
+
6318
+ #if __ARCH__ >= 15
6319
+ static inline __ATTRS_o_ai __vector signed char
6320
+ vec_blend(__vector signed char __a, __vector signed char __b,
6321
+ __vector signed char __c) {
6322
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));
6323
+ }
6324
+
6325
+ static inline __ATTRS_o_ai __vector __bool char
6326
+ vec_blend(__vector __bool char __a, __vector __bool char __b,
6327
+ __vector signed char __c) {
6328
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));
6329
+ }
6330
+
6331
+ static inline __ATTRS_o_ai __vector unsigned char
6332
+ vec_blend(__vector unsigned char __a, __vector unsigned char __b,
6333
+ __vector signed char __c) {
6334
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed char)0));
6335
+ }
6336
+
6337
+ static inline __ATTRS_o_ai __vector signed short
6338
+ vec_blend(__vector signed short __a, __vector signed short __b,
6339
+ __vector signed short __c) {
6340
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));
6341
+ }
6342
+
6343
+ static inline __ATTRS_o_ai __vector __bool short
6344
+ vec_blend(__vector __bool short __a, __vector __bool short __b,
6345
+ __vector signed short __c) {
6346
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));
6347
+ }
6348
+
6349
+ static inline __ATTRS_o_ai __vector unsigned short
6350
+ vec_blend(__vector unsigned short __a, __vector unsigned short __b,
6351
+ __vector signed short __c) {
6352
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed short)0));
6353
+ }
6354
+
6355
+ static inline __ATTRS_o_ai __vector signed int
6356
+ vec_blend(__vector signed int __a, __vector signed int __b,
6357
+ __vector signed int __c) {
6358
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
6359
+ }
6360
+
6361
+ static inline __ATTRS_o_ai __vector __bool int
6362
+ vec_blend(__vector __bool int __a, __vector __bool int __b,
6363
+ __vector signed int __c) {
6364
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
6365
+ }
6366
+
6367
+ static inline __ATTRS_o_ai __vector unsigned int
6368
+ vec_blend(__vector unsigned int __a, __vector unsigned int __b,
6369
+ __vector signed int __c) {
6370
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
6371
+ }
6372
+
6373
+ static inline __ATTRS_o_ai __vector signed long long
6374
+ vec_blend(__vector signed long long __a, __vector signed long long __b,
6375
+ __vector signed long long __c) {
6376
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
6377
+ }
6378
+
6379
+ static inline __ATTRS_o_ai __vector __bool long long
6380
+ vec_blend(__vector __bool long long __a, __vector __bool long long __b,
6381
+ __vector signed long long __c) {
6382
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
6383
+ }
6384
+
6385
+ static inline __ATTRS_o_ai __vector unsigned long long
6386
+ vec_blend(__vector unsigned long long __a, __vector unsigned long long __b,
6387
+ __vector signed long long __c) {
6388
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
6389
+ }
6390
+
6391
+ static inline __ATTRS_o_ai __vector signed __int128
6392
+ vec_blend(__vector signed __int128 __a, __vector signed __int128 __b,
6393
+ __vector signed __int128 __c) {
6394
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));
6395
+ }
6396
+
6397
+ static inline __ATTRS_o_ai __vector __bool __int128
6398
+ vec_blend(__vector __bool __int128 __a, __vector __bool __int128 __b,
6399
+ __vector signed __int128 __c) {
6400
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));
6401
+ }
6402
+
6403
+ static inline __ATTRS_o_ai __vector unsigned __int128
6404
+ vec_blend(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
6405
+ __vector signed __int128 __c) {
6406
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed __int128)0));
6407
+ }
6408
+
6409
+ static inline __ATTRS_o_ai __vector float
6410
+ vec_blend(__vector float __a, __vector float __b,
6411
+ __vector signed int __c) {
6412
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed int)0));
6413
+ }
6414
+
6415
+ static inline __ATTRS_o_ai __vector double
6416
+ vec_blend(__vector double __a, __vector double __b,
6417
+ __vector signed long long __c) {
6418
+ return vec_sel(__a, __b, vec_cmplt(__c, (__vector signed long long)0));
6419
+ }
6420
+ #endif
6421
+
6422
+ /*-- vec_and ---------------------------------------------------------------*/
6423
+
6424
+ static inline __ATTRS_o_ai __vector __bool char
6425
+ vec_and(__vector __bool char __a, __vector __bool char __b) {
6426
+ return __a & __b;
6427
+ }
6428
+
6429
+ static inline __ATTRS_o_ai __vector signed char
6430
+ vec_and(__vector signed char __a, __vector signed char __b) {
6431
+ return __a & __b;
6432
+ }
6433
+
6434
+ static inline __ATTRS_o_ai __vector unsigned char
6435
+ vec_and(__vector unsigned char __a, __vector unsigned char __b) {
6436
+ return __a & __b;
6437
+ }
6438
+
6439
+ static inline __ATTRS_o_ai __vector __bool short
6440
+ vec_and(__vector __bool short __a, __vector __bool short __b) {
6441
+ return __a & __b;
6442
+ }
6443
+
6444
+ static inline __ATTRS_o_ai __vector signed short
6445
+ vec_and(__vector signed short __a, __vector signed short __b) {
6446
+ return __a & __b;
6447
+ }
6448
+
6449
+ static inline __ATTRS_o_ai __vector unsigned short
6450
+ vec_and(__vector unsigned short __a, __vector unsigned short __b) {
6451
+ return __a & __b;
6452
+ }
6453
+
6454
+ static inline __ATTRS_o_ai __vector __bool int
6455
+ vec_and(__vector __bool int __a, __vector __bool int __b) {
6456
+ return __a & __b;
6457
+ }
6458
+
6459
+ static inline __ATTRS_o_ai __vector signed int
6460
+ vec_and(__vector signed int __a, __vector signed int __b) {
6461
+ return __a & __b;
6462
+ }
6463
+
6464
+ static inline __ATTRS_o_ai __vector unsigned int
6465
+ vec_and(__vector unsigned int __a, __vector unsigned int __b) {
6466
+ return __a & __b;
6467
+ }
6468
+
6469
+ static inline __ATTRS_o_ai __vector __bool long long
6470
+ vec_and(__vector __bool long long __a, __vector __bool long long __b) {
6471
+ return __a & __b;
6472
+ }
6473
+
6474
+ static inline __ATTRS_o_ai __vector signed long long
6475
+ vec_and(__vector signed long long __a, __vector signed long long __b) {
6476
+ return __a & __b;
6477
+ }
6478
+
6479
+ static inline __ATTRS_o_ai __vector unsigned long long
6480
+ vec_and(__vector unsigned long long __a, __vector unsigned long long __b) {
6481
+ return __a & __b;
6482
+ }
6483
+
6484
+ static inline __ATTRS_o_ai __vector __bool __int128
6485
+ vec_and(__vector __bool __int128 __a, __vector __bool __int128 __b) {
6486
+ return __a & __b;
6487
+ }
6488
+
6489
+ static inline __ATTRS_o_ai __vector signed __int128
6490
+ vec_and(__vector signed __int128 __a, __vector signed __int128 __b) {
6491
+ return __a & __b;
6492
+ }
6493
+
6494
+ static inline __ATTRS_o_ai __vector unsigned __int128
6495
+ vec_and(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
6496
+ return __a & __b;
6497
+ }
6498
+
6499
+ #if __ARCH__ >= 12
6500
+ static inline __ATTRS_o_ai __vector float
6501
+ vec_and(__vector float __a, __vector float __b) {
6502
+ return (__vector float)((__vector unsigned int)__a &
6503
+ (__vector unsigned int)__b);
6504
+ }
6505
+ #endif
6506
+
6507
+ static inline __ATTRS_o_ai __vector double
6508
+ vec_and(__vector double __a, __vector double __b) {
6509
+ return (__vector double)((__vector unsigned long long)__a &
6510
+ (__vector unsigned long long)__b);
6511
+ }
6512
+
6513
+ /*-- vec_or ----------------------------------------------------------------*/
6514
+
6515
+ static inline __ATTRS_o_ai __vector __bool char
6516
+ vec_or(__vector __bool char __a, __vector __bool char __b) {
6517
+ return __a | __b;
6518
+ }
6519
+
6520
+ static inline __ATTRS_o_ai __vector signed char
6521
+ vec_or(__vector signed char __a, __vector signed char __b) {
6522
+ return __a | __b;
6523
+ }
6524
+
6525
+ static inline __ATTRS_o_ai __vector unsigned char
6526
+ vec_or(__vector unsigned char __a, __vector unsigned char __b) {
6527
+ return __a | __b;
6528
+ }
6529
+
6530
+ static inline __ATTRS_o_ai __vector __bool short
6531
+ vec_or(__vector __bool short __a, __vector __bool short __b) {
6532
+ return __a | __b;
6533
+ }
6534
+
6535
+ static inline __ATTRS_o_ai __vector signed short
6536
+ vec_or(__vector signed short __a, __vector signed short __b) {
6537
+ return __a | __b;
6538
+ }
6539
+
6540
+ static inline __ATTRS_o_ai __vector unsigned short
6541
+ vec_or(__vector unsigned short __a, __vector unsigned short __b) {
6542
+ return __a | __b;
6543
+ }
6544
+
6545
+ static inline __ATTRS_o_ai __vector __bool int
6546
+ vec_or(__vector __bool int __a, __vector __bool int __b) {
6547
+ return __a | __b;
6548
+ }
6549
+
6550
+ static inline __ATTRS_o_ai __vector signed int
6551
+ vec_or(__vector signed int __a, __vector signed int __b) {
6552
+ return __a | __b;
6553
+ }
6554
+
6555
+ static inline __ATTRS_o_ai __vector unsigned int
6556
+ vec_or(__vector unsigned int __a, __vector unsigned int __b) {
6557
+ return __a | __b;
6558
+ }
6559
+
6560
+ static inline __ATTRS_o_ai __vector __bool long long
6561
+ vec_or(__vector __bool long long __a, __vector __bool long long __b) {
6562
+ return __a | __b;
6563
+ }
6564
+
6565
+ static inline __ATTRS_o_ai __vector signed long long
6566
+ vec_or(__vector signed long long __a, __vector signed long long __b) {
6567
+ return __a | __b;
6568
+ }
6569
+
6570
+ static inline __ATTRS_o_ai __vector unsigned long long
6571
+ vec_or(__vector unsigned long long __a, __vector unsigned long long __b) {
6572
+ return __a | __b;
6573
+ }
6574
+
6575
+ static inline __ATTRS_o_ai __vector __bool __int128
6576
+ vec_or(__vector __bool __int128 __a, __vector __bool __int128 __b) {
6577
+ return __a | __b;
6578
+ }
6579
+
6580
+ static inline __ATTRS_o_ai __vector signed __int128
6581
+ vec_or(__vector signed __int128 __a, __vector signed __int128 __b) {
6582
+ return __a | __b;
6583
+ }
6584
+
6585
+ static inline __ATTRS_o_ai __vector unsigned __int128
6586
+ vec_or(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
6587
+ return __a | __b;
6588
+ }
6589
+
6590
+ #if __ARCH__ >= 12
6591
+ static inline __ATTRS_o_ai __vector float
6592
+ vec_or(__vector float __a, __vector float __b) {
6593
+ return (__vector float)((__vector unsigned int)__a |
6594
+ (__vector unsigned int)__b);
6595
+ }
6596
+ #endif
6597
+
6598
+ static inline __ATTRS_o_ai __vector double
6599
+ vec_or(__vector double __a, __vector double __b) {
6600
+ return (__vector double)((__vector unsigned long long)__a |
6601
+ (__vector unsigned long long)__b);
6602
+ }
6603
+
6604
+ /*-- vec_xor ----------------------------------------------------------------*/
6605
+
6606
+ static inline __ATTRS_o_ai __vector __bool char
6607
+ vec_xor(__vector __bool char __a, __vector __bool char __b) {
6608
+ return __a ^ __b;
6609
+ }
6610
+
6611
+ static inline __ATTRS_o_ai __vector signed char
6612
+ vec_xor(__vector signed char __a, __vector signed char __b) {
6613
+ return __a ^ __b;
6614
+ }
6615
+
6616
+ static inline __ATTRS_o_ai __vector unsigned char
6617
+ vec_xor(__vector unsigned char __a, __vector unsigned char __b) {
6618
+ return __a ^ __b;
6619
+ }
6620
+
6621
+ static inline __ATTRS_o_ai __vector __bool short
6622
+ vec_xor(__vector __bool short __a, __vector __bool short __b) {
6623
+ return __a ^ __b;
6624
+ }
6625
+
6626
+ static inline __ATTRS_o_ai __vector signed short
6627
+ vec_xor(__vector signed short __a, __vector signed short __b) {
6628
+ return __a ^ __b;
6629
+ }
6630
+
6631
+ static inline __ATTRS_o_ai __vector unsigned short
6632
+ vec_xor(__vector unsigned short __a, __vector unsigned short __b) {
6633
+ return __a ^ __b;
6634
+ }
6635
+
6636
+ static inline __ATTRS_o_ai __vector __bool int
6637
+ vec_xor(__vector __bool int __a, __vector __bool int __b) {
6638
+ return __a ^ __b;
6639
+ }
6640
+
6641
+ static inline __ATTRS_o_ai __vector signed int
6642
+ vec_xor(__vector signed int __a, __vector signed int __b) {
6643
+ return __a ^ __b;
6644
+ }
6645
+
6646
+ static inline __ATTRS_o_ai __vector unsigned int
6647
+ vec_xor(__vector unsigned int __a, __vector unsigned int __b) {
6648
+ return __a ^ __b;
6649
+ }
6650
+
6651
+ static inline __ATTRS_o_ai __vector __bool long long
6652
+ vec_xor(__vector __bool long long __a, __vector __bool long long __b) {
6653
+ return __a ^ __b;
6654
+ }
6655
+
6656
+ static inline __ATTRS_o_ai __vector signed long long
6657
+ vec_xor(__vector signed long long __a, __vector signed long long __b) {
6658
+ return __a ^ __b;
6659
+ }
6660
+
6661
+ static inline __ATTRS_o_ai __vector unsigned long long
6662
+ vec_xor(__vector unsigned long long __a, __vector unsigned long long __b) {
6663
+ return __a ^ __b;
6664
+ }
6665
+
6666
+ static inline __ATTRS_o_ai __vector __bool __int128
6667
+ vec_xor(__vector __bool __int128 __a, __vector __bool __int128 __b) {
6668
+ return __a ^ __b;
5764
6669
  }
5765
- #endif
5766
6670
 
5767
- static inline __ATTRS_o_ai int
5768
- vec_any_nan(__vector double __a) {
5769
- int __cc;
5770
- __builtin_s390_vftcidb(__a, 15, &__cc);
5771
- return __cc != 3;
6671
+ static inline __ATTRS_o_ai __vector signed __int128
6672
+ vec_xor(__vector signed __int128 __a, __vector signed __int128 __b) {
6673
+ return __a ^ __b;
5772
6674
  }
5773
6675
 
5774
- /*-- vec_any_numeric --------------------------------------------------------*/
6676
+ static inline __ATTRS_o_ai __vector unsigned __int128
6677
+ vec_xor(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
6678
+ return __a ^ __b;
6679
+ }
5775
6680
 
5776
6681
  #if __ARCH__ >= 12
5777
- static inline __ATTRS_o_ai int
5778
- vec_any_numeric(__vector float __a) {
5779
- int __cc;
5780
- __builtin_s390_vftcisb(__a, 15, &__cc);
5781
- return __cc != 0;
6682
+ static inline __ATTRS_o_ai __vector float
6683
+ vec_xor(__vector float __a, __vector float __b) {
6684
+ return (__vector float)((__vector unsigned int)__a ^
6685
+ (__vector unsigned int)__b);
5782
6686
  }
5783
6687
  #endif
5784
6688
 
5785
- static inline __ATTRS_o_ai int
5786
- vec_any_numeric(__vector double __a) {
5787
- int __cc;
5788
- __builtin_s390_vftcidb(__a, 15, &__cc);
5789
- return __cc != 0;
6689
+ static inline __ATTRS_o_ai __vector double
6690
+ vec_xor(__vector double __a, __vector double __b) {
6691
+ return (__vector double)((__vector unsigned long long)__a ^
6692
+ (__vector unsigned long long)__b);
5790
6693
  }
5791
6694
 
5792
6695
  /*-- vec_andc ---------------------------------------------------------------*/
@@ -5947,6 +6850,21 @@ vec_andc(__vector unsigned long long __a, __vector __bool long long __b) {
5947
6850
  return __a & ~__b;
5948
6851
  }
5949
6852
 
6853
+ static inline __ATTRS_o_ai __vector __bool __int128
6854
+ vec_andc(__vector __bool __int128 __a, __vector __bool __int128 __b) {
6855
+ return __a & ~__b;
6856
+ }
6857
+
6858
+ static inline __ATTRS_o_ai __vector signed __int128
6859
+ vec_andc(__vector signed __int128 __a, __vector signed __int128 __b) {
6860
+ return __a & ~__b;
6861
+ }
6862
+
6863
+ static inline __ATTRS_o_ai __vector unsigned __int128
6864
+ vec_andc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
6865
+ return __a & ~__b;
6866
+ }
6867
+
5950
6868
  #if __ARCH__ >= 12
5951
6869
  static inline __ATTRS_o_ai __vector float
5952
6870
  vec_andc(__vector float __a, __vector float __b) {
@@ -6133,6 +7051,21 @@ vec_nor(__vector unsigned long long __a, __vector __bool long long __b) {
6133
7051
  return ~(__a | __b);
6134
7052
  }
6135
7053
 
7054
+ static inline __ATTRS_o_ai __vector __bool __int128
7055
+ vec_nor(__vector __bool __int128 __a, __vector __bool __int128 __b) {
7056
+ return ~(__a | __b);
7057
+ }
7058
+
7059
+ static inline __ATTRS_o_ai __vector signed __int128
7060
+ vec_nor(__vector signed __int128 __a, __vector signed __int128 __b) {
7061
+ return ~(__a | __b);
7062
+ }
7063
+
7064
+ static inline __ATTRS_o_ai __vector unsigned __int128
7065
+ vec_nor(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
7066
+ return ~(__a | __b);
7067
+ }
7068
+
6136
7069
  #if __ARCH__ >= 12
6137
7070
  static inline __ATTRS_o_ai __vector float
6138
7071
  vec_nor(__vector float __a, __vector float __b) {
@@ -6224,6 +7157,21 @@ vec_orc(__vector unsigned long long __a, __vector unsigned long long __b) {
6224
7157
  return __a | ~__b;
6225
7158
  }
6226
7159
 
7160
+ static inline __ATTRS_o_ai __vector __bool __int128
7161
+ vec_orc(__vector __bool __int128 __a, __vector __bool __int128 __b) {
7162
+ return __a | ~__b;
7163
+ }
7164
+
7165
+ static inline __ATTRS_o_ai __vector signed __int128
7166
+ vec_orc(__vector signed __int128 __a, __vector signed __int128 __b) {
7167
+ return __a | ~__b;
7168
+ }
7169
+
7170
+ static inline __ATTRS_o_ai __vector unsigned __int128
7171
+ vec_orc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
7172
+ return __a | ~__b;
7173
+ }
7174
+
6227
7175
  static inline __ATTRS_o_ai __vector float
6228
7176
  vec_orc(__vector float __a, __vector float __b) {
6229
7177
  return (__vector float)((__vector unsigned int)__a |
@@ -6300,6 +7248,21 @@ vec_nand(__vector unsigned long long __a, __vector unsigned long long __b) {
6300
7248
  return ~(__a & __b);
6301
7249
  }
6302
7250
 
7251
+ static inline __ATTRS_o_ai __vector __bool __int128
7252
+ vec_nand(__vector __bool __int128 __a, __vector __bool __int128 __b) {
7253
+ return ~(__a & __b);
7254
+ }
7255
+
7256
+ static inline __ATTRS_o_ai __vector signed __int128
7257
+ vec_nand(__vector signed __int128 __a, __vector signed __int128 __b) {
7258
+ return ~(__a & __b);
7259
+ }
7260
+
7261
+ static inline __ATTRS_o_ai __vector unsigned __int128
7262
+ vec_nand(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
7263
+ return ~(__a & __b);
7264
+ }
7265
+
6303
7266
  static inline __ATTRS_o_ai __vector float
6304
7267
  vec_nand(__vector float __a, __vector float __b) {
6305
7268
  return (__vector float)~((__vector unsigned int)__a &
@@ -6376,6 +7339,21 @@ vec_eqv(__vector unsigned long long __a, __vector unsigned long long __b) {
6376
7339
  return ~(__a ^ __b);
6377
7340
  }
6378
7341
 
7342
+ static inline __ATTRS_o_ai __vector __bool __int128
7343
+ vec_eqv(__vector __bool __int128 __a, __vector __bool __int128 __b) {
7344
+ return ~(__a ^ __b);
7345
+ }
7346
+
7347
+ static inline __ATTRS_o_ai __vector signed __int128
7348
+ vec_eqv(__vector signed __int128 __a, __vector signed __int128 __b) {
7349
+ return ~(__a ^ __b);
7350
+ }
7351
+
7352
+ static inline __ATTRS_o_ai __vector unsigned __int128
7353
+ vec_eqv(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
7354
+ return ~(__a ^ __b);
7355
+ }
7356
+
6379
7357
  static inline __ATTRS_o_ai __vector float
6380
7358
  vec_eqv(__vector float __a, __vector float __b) {
6381
7359
  return (__vector float)~((__vector unsigned int)__a ^
@@ -6389,6 +7367,91 @@ vec_eqv(__vector double __a, __vector double __b) {
6389
7367
  }
6390
7368
  #endif
6391
7369
 
7370
+ /*-- vec_evaluate -----------------------------------------------------------*/
7371
+
7372
+ #if __ARCH__ >= 15
7373
+ extern __ATTRS_o __vector signed char
7374
+ vec_evaluate(__vector signed char __a, __vector signed char __b,
7375
+ __vector signed char __c, unsigned char __d)
7376
+ __constant(__d);
7377
+
7378
+ extern __ATTRS_o __vector unsigned char
7379
+ vec_evaluate(__vector unsigned char __a, __vector unsigned char __b,
7380
+ __vector unsigned char __c, unsigned char __d)
7381
+ __constant(__d);
7382
+
7383
+ extern __ATTRS_o __vector __bool char
7384
+ vec_evaluate(__vector __bool char __a, __vector __bool char __b,
7385
+ __vector __bool char __c, unsigned char __d)
7386
+ __constant(__d);
7387
+
7388
+ extern __ATTRS_o __vector signed short
7389
+ vec_evaluate(__vector signed short __a, __vector signed short __b,
7390
+ __vector signed short __c, unsigned char __d)
7391
+ __constant(__d);
7392
+
7393
+ extern __ATTRS_o __vector unsigned short
7394
+ vec_evaluate(__vector unsigned short __a, __vector unsigned short __b,
7395
+ __vector unsigned short __c, unsigned char __d)
7396
+ __constant(__d);
7397
+
7398
+ extern __ATTRS_o __vector __bool short
7399
+ vec_evaluate(__vector __bool short __a, __vector __bool short __b,
7400
+ __vector __bool short __c, unsigned char __d)
7401
+ __constant(__d);
7402
+
7403
+ extern __ATTRS_o __vector signed int
7404
+ vec_evaluate(__vector signed int __a, __vector signed int __b,
7405
+ __vector signed int __c, unsigned char __d)
7406
+ __constant(__d);
7407
+
7408
+ extern __ATTRS_o __vector unsigned int
7409
+ vec_evaluate(__vector unsigned int __a, __vector unsigned int __b,
7410
+ __vector unsigned int __c, unsigned char __d)
7411
+ __constant(__d);
7412
+
7413
+ extern __ATTRS_o __vector __bool int
7414
+ vec_evaluate(__vector __bool int __a, __vector __bool int __b,
7415
+ __vector __bool int __c, unsigned char __d)
7416
+ __constant(__d);
7417
+
7418
+ extern __ATTRS_o __vector signed long long
7419
+ vec_evaluate(__vector signed long long __a, __vector signed long long __b,
7420
+ __vector signed long long __c, unsigned char __d)
7421
+ __constant(__d);
7422
+
7423
+ extern __ATTRS_o __vector unsigned long long
7424
+ vec_evaluate(__vector unsigned long long __a, __vector unsigned long long __b,
7425
+ __vector unsigned long long __c, unsigned char __d)
7426
+ __constant(__d);
7427
+
7428
+ extern __ATTRS_o __vector __bool long long
7429
+ vec_evaluate(__vector __bool long long __a, __vector __bool long long __b,
7430
+ __vector __bool long long __c, unsigned char __d)
7431
+ __constant(__d);
7432
+
7433
+ extern __ATTRS_o __vector signed __int128
7434
+ vec_evaluate(__vector signed __int128 __a, __vector signed __int128 __b,
7435
+ __vector signed __int128 __c, unsigned char __d)
7436
+ __constant(__d);
7437
+
7438
+ extern __ATTRS_o __vector unsigned __int128
7439
+ vec_evaluate(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
7440
+ __vector unsigned __int128 __c, unsigned char __d)
7441
+ __constant(__d);
7442
+
7443
+ extern __ATTRS_o __vector __bool __int128
7444
+ vec_evaluate(__vector __bool __int128 __a, __vector __bool __int128 __b,
7445
+ __vector __bool __int128 __c, unsigned char __d)
7446
+ __constant(__d);
7447
+
7448
+ #define vec_evaluate(A, B, C, D) \
7449
+ ((__typeof__((vec_evaluate)((A), (B), (C), (D)))) \
7450
+ __builtin_s390_veval((__vector unsigned char)(A), \
7451
+ (__vector unsigned char)(B), \
7452
+ (__vector unsigned char)(C), (D)))
7453
+ #endif
7454
+
6392
7455
  /*-- vec_cntlz --------------------------------------------------------------*/
6393
7456
 
6394
7457
  static inline __ATTRS_o_ai __vector unsigned char
@@ -6431,6 +7494,20 @@ vec_cntlz(__vector unsigned long long __a) {
6431
7494
  return __builtin_s390_vclzg(__a);
6432
7495
  }
6433
7496
 
7497
+ #if __ARCH__ >= 15
7498
+ static inline __ATTRS_o_ai __vector unsigned __int128
7499
+ vec_cntlz(__vector signed __int128 __a) {
7500
+ return (__vector unsigned __int128)
7501
+ __builtin_s390_vclzq((unsigned __int128)__a);
7502
+ }
7503
+
7504
+ static inline __ATTRS_o_ai __vector unsigned __int128
7505
+ vec_cntlz(__vector unsigned __int128 __a) {
7506
+ return (__vector unsigned __int128)
7507
+ __builtin_s390_vclzq((unsigned __int128)__a);
7508
+ }
7509
+ #endif
7510
+
6434
7511
  /*-- vec_cnttz --------------------------------------------------------------*/
6435
7512
 
6436
7513
  static inline __ATTRS_o_ai __vector unsigned char
@@ -6473,46 +7550,60 @@ vec_cnttz(__vector unsigned long long __a) {
6473
7550
  return __builtin_s390_vctzg(__a);
6474
7551
  }
6475
7552
 
7553
+ #if __ARCH__ >= 15
7554
+ static inline __ATTRS_o_ai __vector unsigned __int128
7555
+ vec_cnttz(__vector signed __int128 __a) {
7556
+ return (__vector unsigned __int128)
7557
+ __builtin_s390_vctzq((unsigned __int128)__a);
7558
+ }
7559
+
7560
+ static inline __ATTRS_o_ai __vector unsigned __int128
7561
+ vec_cnttz(__vector unsigned __int128 __a) {
7562
+ return (__vector unsigned __int128)
7563
+ __builtin_s390_vctzq((unsigned __int128)__a);
7564
+ }
7565
+ #endif
7566
+
6476
7567
  /*-- vec_popcnt -------------------------------------------------------------*/
6477
7568
 
6478
7569
  static inline __ATTRS_o_ai __vector unsigned char
6479
7570
  vec_popcnt(__vector signed char __a) {
6480
- return __builtin_s390_vpopctb((__vector unsigned char)__a);
7571
+ return __builtin_elementwise_popcount((__vector unsigned char)__a);
6481
7572
  }
6482
7573
 
6483
7574
  static inline __ATTRS_o_ai __vector unsigned char
6484
7575
  vec_popcnt(__vector unsigned char __a) {
6485
- return __builtin_s390_vpopctb(__a);
7576
+ return __builtin_elementwise_popcount(__a);
6486
7577
  }
6487
7578
 
6488
7579
  static inline __ATTRS_o_ai __vector unsigned short
6489
7580
  vec_popcnt(__vector signed short __a) {
6490
- return __builtin_s390_vpopcth((__vector unsigned short)__a);
7581
+ return __builtin_elementwise_popcount((__vector unsigned short)__a);
6491
7582
  }
6492
7583
 
6493
7584
  static inline __ATTRS_o_ai __vector unsigned short
6494
7585
  vec_popcnt(__vector unsigned short __a) {
6495
- return __builtin_s390_vpopcth(__a);
7586
+ return __builtin_elementwise_popcount(__a);
6496
7587
  }
6497
7588
 
6498
7589
  static inline __ATTRS_o_ai __vector unsigned int
6499
7590
  vec_popcnt(__vector signed int __a) {
6500
- return __builtin_s390_vpopctf((__vector unsigned int)__a);
7591
+ return __builtin_elementwise_popcount((__vector unsigned int)__a);
6501
7592
  }
6502
7593
 
6503
7594
  static inline __ATTRS_o_ai __vector unsigned int
6504
7595
  vec_popcnt(__vector unsigned int __a) {
6505
- return __builtin_s390_vpopctf(__a);
7596
+ return __builtin_elementwise_popcount(__a);
6506
7597
  }
6507
7598
 
6508
7599
  static inline __ATTRS_o_ai __vector unsigned long long
6509
7600
  vec_popcnt(__vector signed long long __a) {
6510
- return __builtin_s390_vpopctg((__vector unsigned long long)__a);
7601
+ return __builtin_elementwise_popcount((__vector unsigned long long)__a);
6511
7602
  }
6512
7603
 
6513
7604
  static inline __ATTRS_o_ai __vector unsigned long long
6514
7605
  vec_popcnt(__vector unsigned long long __a) {
6515
- return __builtin_s390_vpopctg(__a);
7606
+ return __builtin_elementwise_popcount(__a);
6516
7607
  }
6517
7608
 
6518
7609
  /*-- vec_rl -----------------------------------------------------------------*/
@@ -6904,8 +7995,21 @@ vec_sll(__vector unsigned long long __a, __vector unsigned int __b) {
6904
7995
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6905
7996
  }
6906
7997
 
7998
+ static inline __ATTRS_o_ai __vector signed __int128
7999
+ vec_sll(__vector signed __int128 __a, __vector unsigned char __b) {
8000
+ return (__vector signed __int128)__builtin_s390_vsl(
8001
+ (__vector unsigned char)__a, __b);
8002
+ }
8003
+
8004
+ static inline __ATTRS_o_ai __vector unsigned __int128
8005
+ vec_sll(__vector unsigned __int128 __a, __vector unsigned char __b) {
8006
+ return (__vector unsigned __int128)__builtin_s390_vsl(
8007
+ (__vector unsigned char)__a, __b);
8008
+ }
8009
+
6907
8010
  /*-- vec_slb ----------------------------------------------------------------*/
6908
8011
 
8012
+ // This prototype is deprecated.
6909
8013
  static inline __ATTRS_o_ai __vector signed char
6910
8014
  vec_slb(__vector signed char __a, __vector signed char __b) {
6911
8015
  return (__vector signed char)__builtin_s390_vslb(
@@ -6918,6 +8022,7 @@ vec_slb(__vector signed char __a, __vector unsigned char __b) {
6918
8022
  (__vector unsigned char)__a, __b);
6919
8023
  }
6920
8024
 
8025
+ // This prototype is deprecated.
6921
8026
  static inline __ATTRS_o_ai __vector unsigned char
6922
8027
  vec_slb(__vector unsigned char __a, __vector signed char __b) {
6923
8028
  return __builtin_s390_vslb(__a, (__vector unsigned char)__b);
@@ -6928,110 +8033,187 @@ vec_slb(__vector unsigned char __a, __vector unsigned char __b) {
6928
8033
  return __builtin_s390_vslb(__a, __b);
6929
8034
  }
6930
8035
 
8036
+ // This prototype is deprecated.
6931
8037
  static inline __ATTRS_o_ai __vector signed short
6932
8038
  vec_slb(__vector signed short __a, __vector signed short __b) {
6933
8039
  return (__vector signed short)__builtin_s390_vslb(
6934
8040
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6935
8041
  }
6936
8042
 
8043
+ // This prototype is deprecated.
6937
8044
  static inline __ATTRS_o_ai __vector signed short
6938
8045
  vec_slb(__vector signed short __a, __vector unsigned short __b) {
6939
8046
  return (__vector signed short)__builtin_s390_vslb(
6940
8047
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6941
8048
  }
6942
8049
 
8050
+ static inline __ATTRS_o_ai __vector signed short
8051
+ vec_slb(__vector signed short __a, __vector unsigned char __b) {
8052
+ return (__vector signed short)__builtin_s390_vslb(
8053
+ (__vector unsigned char)__a, __b);
8054
+ }
8055
+
8056
+ // This prototype is deprecated.
6943
8057
  static inline __ATTRS_o_ai __vector unsigned short
6944
8058
  vec_slb(__vector unsigned short __a, __vector signed short __b) {
6945
8059
  return (__vector unsigned short)__builtin_s390_vslb(
6946
8060
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6947
8061
  }
6948
8062
 
8063
+ // This prototype is deprecated.
6949
8064
  static inline __ATTRS_o_ai __vector unsigned short
6950
8065
  vec_slb(__vector unsigned short __a, __vector unsigned short __b) {
6951
8066
  return (__vector unsigned short)__builtin_s390_vslb(
6952
8067
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6953
8068
  }
6954
8069
 
8070
+ static inline __ATTRS_o_ai __vector unsigned short
8071
+ vec_slb(__vector unsigned short __a, __vector unsigned char __b) {
8072
+ return (__vector unsigned short)__builtin_s390_vslb(
8073
+ (__vector unsigned char)__a, __b);
8074
+ }
8075
+
8076
+ // This prototype is deprecated.
6955
8077
  static inline __ATTRS_o_ai __vector signed int
6956
8078
  vec_slb(__vector signed int __a, __vector signed int __b) {
6957
8079
  return (__vector signed int)__builtin_s390_vslb(
6958
8080
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6959
8081
  }
6960
8082
 
8083
+ // This prototype is deprecated.
6961
8084
  static inline __ATTRS_o_ai __vector signed int
6962
8085
  vec_slb(__vector signed int __a, __vector unsigned int __b) {
6963
8086
  return (__vector signed int)__builtin_s390_vslb(
6964
8087
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6965
8088
  }
6966
8089
 
8090
+ static inline __ATTRS_o_ai __vector signed int
8091
+ vec_slb(__vector signed int __a, __vector unsigned char __b) {
8092
+ return (__vector signed int)__builtin_s390_vslb(
8093
+ (__vector unsigned char)__a, __b);
8094
+ }
8095
+
8096
+ // This prototype is deprecated.
6967
8097
  static inline __ATTRS_o_ai __vector unsigned int
6968
8098
  vec_slb(__vector unsigned int __a, __vector signed int __b) {
6969
8099
  return (__vector unsigned int)__builtin_s390_vslb(
6970
8100
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6971
8101
  }
6972
8102
 
8103
+ // This prototype is deprecated.
6973
8104
  static inline __ATTRS_o_ai __vector unsigned int
6974
8105
  vec_slb(__vector unsigned int __a, __vector unsigned int __b) {
6975
8106
  return (__vector unsigned int)__builtin_s390_vslb(
6976
8107
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6977
8108
  }
6978
8109
 
8110
+ static inline __ATTRS_o_ai __vector unsigned int
8111
+ vec_slb(__vector unsigned int __a, __vector unsigned char __b) {
8112
+ return (__vector unsigned int)__builtin_s390_vslb(
8113
+ (__vector unsigned char)__a, __b);
8114
+ }
8115
+
8116
+ // This prototype is deprecated.
6979
8117
  static inline __ATTRS_o_ai __vector signed long long
6980
8118
  vec_slb(__vector signed long long __a, __vector signed long long __b) {
6981
8119
  return (__vector signed long long)__builtin_s390_vslb(
6982
8120
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6983
8121
  }
6984
8122
 
8123
+ // This prototype is deprecated.
6985
8124
  static inline __ATTRS_o_ai __vector signed long long
6986
8125
  vec_slb(__vector signed long long __a, __vector unsigned long long __b) {
6987
8126
  return (__vector signed long long)__builtin_s390_vslb(
6988
8127
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6989
8128
  }
6990
8129
 
8130
+ static inline __ATTRS_o_ai __vector signed long long
8131
+ vec_slb(__vector signed long long __a, __vector unsigned char __b) {
8132
+ return (__vector signed long long)__builtin_s390_vslb(
8133
+ (__vector unsigned char)__a, __b);
8134
+ }
8135
+
8136
+ // This prototype is deprecated.
6991
8137
  static inline __ATTRS_o_ai __vector unsigned long long
6992
8138
  vec_slb(__vector unsigned long long __a, __vector signed long long __b) {
6993
8139
  return (__vector unsigned long long)__builtin_s390_vslb(
6994
8140
  (__vector unsigned char)__a, (__vector unsigned char)__b);
6995
8141
  }
6996
8142
 
8143
+ // This prototype is deprecated.
6997
8144
  static inline __ATTRS_o_ai __vector unsigned long long
6998
8145
  vec_slb(__vector unsigned long long __a, __vector unsigned long long __b) {
6999
8146
  return (__vector unsigned long long)__builtin_s390_vslb(
7000
8147
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7001
8148
  }
7002
8149
 
8150
+ static inline __ATTRS_o_ai __vector unsigned long long
8151
+ vec_slb(__vector unsigned long long __a, __vector unsigned char __b) {
8152
+ return (__vector unsigned long long)__builtin_s390_vslb(
8153
+ (__vector unsigned char)__a, __b);
8154
+ }
8155
+
8156
+ static inline __ATTRS_o_ai __vector signed __int128
8157
+ vec_slb(__vector signed __int128 __a, __vector unsigned char __b) {
8158
+ return (__vector signed __int128)__builtin_s390_vslb(
8159
+ (__vector unsigned char)__a, __b);
8160
+ }
8161
+
8162
+ static inline __ATTRS_o_ai __vector unsigned __int128
8163
+ vec_slb(__vector unsigned __int128 __a, __vector unsigned char __b) {
8164
+ return (__vector unsigned __int128)__builtin_s390_vslb(
8165
+ (__vector unsigned char)__a, __b);
8166
+ }
8167
+
7003
8168
  #if __ARCH__ >= 12
8169
+ // This prototype is deprecated.
7004
8170
  static inline __ATTRS_o_ai __vector float
7005
8171
  vec_slb(__vector float __a, __vector signed int __b) {
7006
8172
  return (__vector float)__builtin_s390_vslb(
7007
8173
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7008
8174
  }
7009
8175
 
8176
+ // This prototype is deprecated.
7010
8177
  static inline __ATTRS_o_ai __vector float
7011
8178
  vec_slb(__vector float __a, __vector unsigned int __b) {
7012
8179
  return (__vector float)__builtin_s390_vslb(
7013
8180
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7014
8181
  }
8182
+
8183
+ static inline __ATTRS_o_ai __vector float
8184
+ vec_slb(__vector float __a, __vector unsigned char __b) {
8185
+ return (__vector float)__builtin_s390_vslb(
8186
+ (__vector unsigned char)__a, __b);
8187
+ }
7015
8188
  #endif
7016
8189
 
8190
+ // This prototype is deprecated.
7017
8191
  static inline __ATTRS_o_ai __vector double
7018
8192
  vec_slb(__vector double __a, __vector signed long long __b) {
7019
8193
  return (__vector double)__builtin_s390_vslb(
7020
8194
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7021
8195
  }
7022
8196
 
8197
+ // This prototype is deprecated.
7023
8198
  static inline __ATTRS_o_ai __vector double
7024
8199
  vec_slb(__vector double __a, __vector unsigned long long __b) {
7025
8200
  return (__vector double)__builtin_s390_vslb(
7026
8201
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7027
8202
  }
7028
8203
 
8204
+ static inline __ATTRS_o_ai __vector double
8205
+ vec_slb(__vector double __a, __vector unsigned char __b) {
8206
+ return (__vector double)__builtin_s390_vslb(
8207
+ (__vector unsigned char)__a, __b);
8208
+ }
8209
+
7029
8210
  /*-- vec_sld ----------------------------------------------------------------*/
7030
8211
 
7031
8212
  extern __ATTRS_o __vector signed char
7032
8213
  vec_sld(__vector signed char __a, __vector signed char __b, int __c)
7033
8214
  __constant_range(__c, 0, 15);
7034
8215
 
8216
+ // This prototype is deprecated.
7035
8217
  extern __ATTRS_o __vector __bool char
7036
8218
  vec_sld(__vector __bool char __a, __vector __bool char __b, int __c)
7037
8219
  __constant_range(__c, 0, 15);
@@ -7044,6 +8226,7 @@ extern __ATTRS_o __vector signed short
7044
8226
  vec_sld(__vector signed short __a, __vector signed short __b, int __c)
7045
8227
  __constant_range(__c, 0, 15);
7046
8228
 
8229
+ // This prototype is deprecated.
7047
8230
  extern __ATTRS_o __vector __bool short
7048
8231
  vec_sld(__vector __bool short __a, __vector __bool short __b, int __c)
7049
8232
  __constant_range(__c, 0, 15);
@@ -7056,6 +8239,7 @@ extern __ATTRS_o __vector signed int
7056
8239
  vec_sld(__vector signed int __a, __vector signed int __b, int __c)
7057
8240
  __constant_range(__c, 0, 15);
7058
8241
 
8242
+ // This prototype is deprecated.
7059
8243
  extern __ATTRS_o __vector __bool int
7060
8244
  vec_sld(__vector __bool int __a, __vector __bool int __b, int __c)
7061
8245
  __constant_range(__c, 0, 15);
@@ -7068,6 +8252,7 @@ extern __ATTRS_o __vector signed long long
7068
8252
  vec_sld(__vector signed long long __a, __vector signed long long __b, int __c)
7069
8253
  __constant_range(__c, 0, 15);
7070
8254
 
8255
+ // This prototype is deprecated.
7071
8256
  extern __ATTRS_o __vector __bool long long
7072
8257
  vec_sld(__vector __bool long long __a, __vector __bool long long __b, int __c)
7073
8258
  __constant_range(__c, 0, 15);
@@ -7077,6 +8262,15 @@ vec_sld(__vector unsigned long long __a, __vector unsigned long long __b,
7077
8262
  int __c)
7078
8263
  __constant_range(__c, 0, 15);
7079
8264
 
8265
+ extern __ATTRS_o __vector signed __int128
8266
+ vec_sld(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
8267
+ __constant_range(__c, 0, 15);
8268
+
8269
+ extern __ATTRS_o __vector unsigned __int128
8270
+ vec_sld(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
8271
+ int __c)
8272
+ __constant_range(__c, 0, 15);
8273
+
7080
8274
  #if __ARCH__ >= 12
7081
8275
  extern __ATTRS_o __vector float
7082
8276
  vec_sld(__vector float __a, __vector float __b, int __c)
@@ -7126,6 +8320,15 @@ vec_sldw(__vector unsigned long long __a, __vector unsigned long long __b,
7126
8320
  int __c)
7127
8321
  __constant_range(__c, 0, 3);
7128
8322
 
8323
+ extern __ATTRS_o __vector signed __int128
8324
+ vec_sldw(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
8325
+ __constant_range(__c, 0, 3);
8326
+
8327
+ extern __ATTRS_o __vector unsigned __int128
8328
+ vec_sldw(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
8329
+ int __c)
8330
+ __constant_range(__c, 0, 3);
8331
+
7129
8332
  // This prototype is deprecated.
7130
8333
  extern __ATTRS_o __vector double
7131
8334
  vec_sldw(__vector double __a, __vector double __b, int __c)
@@ -7172,6 +8375,15 @@ vec_sldb(__vector unsigned long long __a, __vector unsigned long long __b,
7172
8375
  int __c)
7173
8376
  __constant_range(__c, 0, 7);
7174
8377
 
8378
+ extern __ATTRS_o __vector signed __int128
8379
+ vec_sldb(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
8380
+ __constant_range(__c, 0, 7);
8381
+
8382
+ extern __ATTRS_o __vector unsigned __int128
8383
+ vec_sldb(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
8384
+ int __c)
8385
+ __constant_range(__c, 0, 7);
8386
+
7175
8387
  extern __ATTRS_o __vector float
7176
8388
  vec_sldb(__vector float __a, __vector float __b, int __c)
7177
8389
  __constant_range(__c, 0, 7);
@@ -7429,8 +8641,21 @@ vec_sral(__vector unsigned long long __a, __vector unsigned int __b) {
7429
8641
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7430
8642
  }
7431
8643
 
8644
+ static inline __ATTRS_o_ai __vector signed __int128
8645
+ vec_sral(__vector signed __int128 __a, __vector unsigned char __b) {
8646
+ return (__vector signed __int128)__builtin_s390_vsra(
8647
+ (__vector unsigned char)__a, __b);
8648
+ }
8649
+
8650
+ static inline __ATTRS_o_ai __vector unsigned __int128
8651
+ vec_sral(__vector unsigned __int128 __a, __vector unsigned char __b) {
8652
+ return (__vector unsigned __int128)__builtin_s390_vsra(
8653
+ (__vector unsigned char)__a, __b);
8654
+ }
8655
+
7432
8656
  /*-- vec_srab ---------------------------------------------------------------*/
7433
8657
 
8658
+ // This prototype is deprecated.
7434
8659
  static inline __ATTRS_o_ai __vector signed char
7435
8660
  vec_srab(__vector signed char __a, __vector signed char __b) {
7436
8661
  return (__vector signed char)__builtin_s390_vsrab(
@@ -7443,6 +8668,7 @@ vec_srab(__vector signed char __a, __vector unsigned char __b) {
7443
8668
  (__vector unsigned char)__a, __b);
7444
8669
  }
7445
8670
 
8671
+ // This prototype is deprecated.
7446
8672
  static inline __ATTRS_o_ai __vector unsigned char
7447
8673
  vec_srab(__vector unsigned char __a, __vector signed char __b) {
7448
8674
  return __builtin_s390_vsrab(__a, (__vector unsigned char)__b);
@@ -7453,104 +8679,180 @@ vec_srab(__vector unsigned char __a, __vector unsigned char __b) {
7453
8679
  return __builtin_s390_vsrab(__a, __b);
7454
8680
  }
7455
8681
 
8682
+ // This prototype is deprecated.
7456
8683
  static inline __ATTRS_o_ai __vector signed short
7457
8684
  vec_srab(__vector signed short __a, __vector signed short __b) {
7458
8685
  return (__vector signed short)__builtin_s390_vsrab(
7459
8686
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7460
8687
  }
7461
8688
 
8689
+ // This prototype is deprecated.
7462
8690
  static inline __ATTRS_o_ai __vector signed short
7463
8691
  vec_srab(__vector signed short __a, __vector unsigned short __b) {
7464
8692
  return (__vector signed short)__builtin_s390_vsrab(
7465
8693
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7466
8694
  }
7467
8695
 
8696
+ static inline __ATTRS_o_ai __vector signed short
8697
+ vec_srab(__vector signed short __a, __vector unsigned char __b) {
8698
+ return (__vector signed short)__builtin_s390_vsrab(
8699
+ (__vector unsigned char)__a, __b);
8700
+ }
8701
+
8702
+ // This prototype is deprecated.
7468
8703
  static inline __ATTRS_o_ai __vector unsigned short
7469
8704
  vec_srab(__vector unsigned short __a, __vector signed short __b) {
7470
8705
  return (__vector unsigned short)__builtin_s390_vsrab(
7471
8706
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7472
8707
  }
7473
8708
 
8709
+ // This prototype is deprecated.
7474
8710
  static inline __ATTRS_o_ai __vector unsigned short
7475
8711
  vec_srab(__vector unsigned short __a, __vector unsigned short __b) {
7476
8712
  return (__vector unsigned short)__builtin_s390_vsrab(
7477
8713
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7478
8714
  }
7479
8715
 
8716
+ static inline __ATTRS_o_ai __vector unsigned short
8717
+ vec_srab(__vector unsigned short __a, __vector unsigned char __b) {
8718
+ return (__vector unsigned short)__builtin_s390_vsrab(
8719
+ (__vector unsigned char)__a, __b);
8720
+ }
8721
+
8722
+ // This prototype is deprecated.
7480
8723
  static inline __ATTRS_o_ai __vector signed int
7481
8724
  vec_srab(__vector signed int __a, __vector signed int __b) {
7482
8725
  return (__vector signed int)__builtin_s390_vsrab(
7483
8726
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7484
8727
  }
7485
8728
 
8729
+ // This prototype is deprecated.
7486
8730
  static inline __ATTRS_o_ai __vector signed int
7487
8731
  vec_srab(__vector signed int __a, __vector unsigned int __b) {
7488
8732
  return (__vector signed int)__builtin_s390_vsrab(
7489
8733
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7490
8734
  }
7491
8735
 
8736
+ static inline __ATTRS_o_ai __vector signed int
8737
+ vec_srab(__vector signed int __a, __vector unsigned char __b) {
8738
+ return (__vector signed int)__builtin_s390_vsrab(
8739
+ (__vector unsigned char)__a, __b);
8740
+ }
8741
+
8742
+ // This prototype is deprecated.
7492
8743
  static inline __ATTRS_o_ai __vector unsigned int
7493
8744
  vec_srab(__vector unsigned int __a, __vector signed int __b) {
7494
8745
  return (__vector unsigned int)__builtin_s390_vsrab(
7495
8746
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7496
8747
  }
7497
8748
 
8749
+ // This prototype is deprecated.
7498
8750
  static inline __ATTRS_o_ai __vector unsigned int
7499
8751
  vec_srab(__vector unsigned int __a, __vector unsigned int __b) {
7500
8752
  return (__vector unsigned int)__builtin_s390_vsrab(
7501
8753
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7502
8754
  }
7503
8755
 
8756
+ static inline __ATTRS_o_ai __vector unsigned int
8757
+ vec_srab(__vector unsigned int __a, __vector unsigned char __b) {
8758
+ return (__vector unsigned int)__builtin_s390_vsrab(
8759
+ (__vector unsigned char)__a, __b);
8760
+ }
8761
+
8762
+ // This prototype is deprecated.
7504
8763
  static inline __ATTRS_o_ai __vector signed long long
7505
8764
  vec_srab(__vector signed long long __a, __vector signed long long __b) {
7506
8765
  return (__vector signed long long)__builtin_s390_vsrab(
7507
8766
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7508
8767
  }
7509
8768
 
8769
+ // This prototype is deprecated.
7510
8770
  static inline __ATTRS_o_ai __vector signed long long
7511
8771
  vec_srab(__vector signed long long __a, __vector unsigned long long __b) {
7512
8772
  return (__vector signed long long)__builtin_s390_vsrab(
7513
8773
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7514
8774
  }
7515
8775
 
8776
+ static inline __ATTRS_o_ai __vector signed long long
8777
+ vec_srab(__vector signed long long __a, __vector unsigned char __b) {
8778
+ return (__vector signed long long)__builtin_s390_vsrab(
8779
+ (__vector unsigned char)__a, __b);
8780
+ }
8781
+
8782
+ // This prototype is deprecated.
7516
8783
  static inline __ATTRS_o_ai __vector unsigned long long
7517
8784
  vec_srab(__vector unsigned long long __a, __vector signed long long __b) {
7518
8785
  return (__vector unsigned long long)__builtin_s390_vsrab(
7519
8786
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7520
8787
  }
7521
8788
 
7522
- static inline __ATTRS_o_ai __vector unsigned long long
7523
- vec_srab(__vector unsigned long long __a, __vector unsigned long long __b) {
7524
- return (__vector unsigned long long)__builtin_s390_vsrab(
7525
- (__vector unsigned char)__a, (__vector unsigned char)__b);
8789
+ // This prototype is deprecated.
8790
+ static inline __ATTRS_o_ai __vector unsigned long long
8791
+ vec_srab(__vector unsigned long long __a, __vector unsigned long long __b) {
8792
+ return (__vector unsigned long long)__builtin_s390_vsrab(
8793
+ (__vector unsigned char)__a, (__vector unsigned char)__b);
8794
+ }
8795
+
8796
+ static inline __ATTRS_o_ai __vector unsigned long long
8797
+ vec_srab(__vector unsigned long long __a, __vector unsigned char __b) {
8798
+ return (__vector unsigned long long)__builtin_s390_vsrab(
8799
+ (__vector unsigned char)__a, __b);
8800
+ }
8801
+
8802
+ static inline __ATTRS_o_ai __vector signed __int128
8803
+ vec_srab(__vector signed __int128 __a, __vector unsigned char __b) {
8804
+ return (__vector signed __int128)__builtin_s390_vsrab(
8805
+ (__vector unsigned char)__a, __b);
8806
+ }
8807
+
8808
+ static inline __ATTRS_o_ai __vector unsigned __int128
8809
+ vec_srab(__vector unsigned __int128 __a, __vector unsigned char __b) {
8810
+ return (__vector unsigned __int128)__builtin_s390_vsrab(
8811
+ (__vector unsigned char)__a, __b);
7526
8812
  }
7527
8813
 
7528
8814
  #if __ARCH__ >= 12
8815
+ // This prototype is deprecated.
7529
8816
  static inline __ATTRS_o_ai __vector float
7530
8817
  vec_srab(__vector float __a, __vector signed int __b) {
7531
8818
  return (__vector float)__builtin_s390_vsrab(
7532
8819
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7533
8820
  }
7534
8821
 
8822
+ // This prototype is deprecated.
7535
8823
  static inline __ATTRS_o_ai __vector float
7536
8824
  vec_srab(__vector float __a, __vector unsigned int __b) {
7537
8825
  return (__vector float)__builtin_s390_vsrab(
7538
8826
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7539
8827
  }
8828
+
8829
+ static inline __ATTRS_o_ai __vector float
8830
+ vec_srab(__vector float __a, __vector unsigned char __b) {
8831
+ return (__vector float)__builtin_s390_vsrab(
8832
+ (__vector unsigned char)__a, __b);
8833
+ }
7540
8834
  #endif
7541
8835
 
8836
+ // This prototype is deprecated.
7542
8837
  static inline __ATTRS_o_ai __vector double
7543
8838
  vec_srab(__vector double __a, __vector signed long long __b) {
7544
8839
  return (__vector double)__builtin_s390_vsrab(
7545
8840
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7546
8841
  }
7547
8842
 
8843
+ // This prototype is deprecated.
7548
8844
  static inline __ATTRS_o_ai __vector double
7549
8845
  vec_srab(__vector double __a, __vector unsigned long long __b) {
7550
8846
  return (__vector double)__builtin_s390_vsrab(
7551
8847
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7552
8848
  }
7553
8849
 
8850
+ static inline __ATTRS_o_ai __vector double
8851
+ vec_srab(__vector double __a, __vector unsigned char __b) {
8852
+ return (__vector double)__builtin_s390_vsrab(
8853
+ (__vector unsigned char)__a, __b);
8854
+ }
8855
+
7554
8856
  /*-- vec_srl ----------------------------------------------------------------*/
7555
8857
 
7556
8858
  static inline __ATTRS_o_ai __vector signed char
@@ -7794,8 +9096,21 @@ vec_srl(__vector unsigned long long __a, __vector unsigned int __b) {
7794
9096
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7795
9097
  }
7796
9098
 
9099
+ static inline __ATTRS_o_ai __vector signed __int128
9100
+ vec_srl(__vector signed __int128 __a, __vector unsigned char __b) {
9101
+ return (__vector signed __int128)__builtin_s390_vsrl(
9102
+ (__vector unsigned char)__a, __b);
9103
+ }
9104
+
9105
+ static inline __ATTRS_o_ai __vector unsigned __int128
9106
+ vec_srl(__vector unsigned __int128 __a, __vector unsigned char __b) {
9107
+ return (__vector unsigned __int128)__builtin_s390_vsrl(
9108
+ (__vector unsigned char)__a, __b);
9109
+ }
9110
+
7797
9111
  /*-- vec_srb ----------------------------------------------------------------*/
7798
9112
 
9113
+ // This prototype is deprecated.
7799
9114
  static inline __ATTRS_o_ai __vector signed char
7800
9115
  vec_srb(__vector signed char __a, __vector signed char __b) {
7801
9116
  return (__vector signed char)__builtin_s390_vsrlb(
@@ -7808,6 +9123,7 @@ vec_srb(__vector signed char __a, __vector unsigned char __b) {
7808
9123
  (__vector unsigned char)__a, __b);
7809
9124
  }
7810
9125
 
9126
+ // This prototype is deprecated.
7811
9127
  static inline __ATTRS_o_ai __vector unsigned char
7812
9128
  vec_srb(__vector unsigned char __a, __vector signed char __b) {
7813
9129
  return __builtin_s390_vsrlb(__a, (__vector unsigned char)__b);
@@ -7818,104 +9134,180 @@ vec_srb(__vector unsigned char __a, __vector unsigned char __b) {
7818
9134
  return __builtin_s390_vsrlb(__a, __b);
7819
9135
  }
7820
9136
 
9137
+ // This prototype is deprecated.
7821
9138
  static inline __ATTRS_o_ai __vector signed short
7822
9139
  vec_srb(__vector signed short __a, __vector signed short __b) {
7823
9140
  return (__vector signed short)__builtin_s390_vsrlb(
7824
9141
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7825
9142
  }
7826
9143
 
9144
+ // This prototype is deprecated.
7827
9145
  static inline __ATTRS_o_ai __vector signed short
7828
9146
  vec_srb(__vector signed short __a, __vector unsigned short __b) {
7829
9147
  return (__vector signed short)__builtin_s390_vsrlb(
7830
9148
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7831
9149
  }
7832
9150
 
9151
+ static inline __ATTRS_o_ai __vector signed short
9152
+ vec_srb(__vector signed short __a, __vector unsigned char __b) {
9153
+ return (__vector signed short)__builtin_s390_vsrlb(
9154
+ (__vector unsigned char)__a, __b);
9155
+ }
9156
+
9157
+ // This prototype is deprecated.
7833
9158
  static inline __ATTRS_o_ai __vector unsigned short
7834
9159
  vec_srb(__vector unsigned short __a, __vector signed short __b) {
7835
9160
  return (__vector unsigned short)__builtin_s390_vsrlb(
7836
9161
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7837
9162
  }
7838
9163
 
9164
+ // This prototype is deprecated.
7839
9165
  static inline __ATTRS_o_ai __vector unsigned short
7840
9166
  vec_srb(__vector unsigned short __a, __vector unsigned short __b) {
7841
9167
  return (__vector unsigned short)__builtin_s390_vsrlb(
7842
9168
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7843
9169
  }
7844
9170
 
9171
+ static inline __ATTRS_o_ai __vector unsigned short
9172
+ vec_srb(__vector unsigned short __a, __vector unsigned char __b) {
9173
+ return (__vector unsigned short)__builtin_s390_vsrlb(
9174
+ (__vector unsigned char)__a, __b);
9175
+ }
9176
+
9177
+ // This prototype is deprecated.
7845
9178
  static inline __ATTRS_o_ai __vector signed int
7846
9179
  vec_srb(__vector signed int __a, __vector signed int __b) {
7847
9180
  return (__vector signed int)__builtin_s390_vsrlb(
7848
9181
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7849
9182
  }
7850
9183
 
9184
+ // This prototype is deprecated.
7851
9185
  static inline __ATTRS_o_ai __vector signed int
7852
9186
  vec_srb(__vector signed int __a, __vector unsigned int __b) {
7853
9187
  return (__vector signed int)__builtin_s390_vsrlb(
7854
9188
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7855
9189
  }
7856
9190
 
9191
+ static inline __ATTRS_o_ai __vector signed int
9192
+ vec_srb(__vector signed int __a, __vector unsigned char __b) {
9193
+ return (__vector signed int)__builtin_s390_vsrlb(
9194
+ (__vector unsigned char)__a, __b);
9195
+ }
9196
+
9197
+ // This prototype is deprecated.
7857
9198
  static inline __ATTRS_o_ai __vector unsigned int
7858
9199
  vec_srb(__vector unsigned int __a, __vector signed int __b) {
7859
9200
  return (__vector unsigned int)__builtin_s390_vsrlb(
7860
9201
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7861
9202
  }
7862
9203
 
9204
+ // This prototype is deprecated.
7863
9205
  static inline __ATTRS_o_ai __vector unsigned int
7864
9206
  vec_srb(__vector unsigned int __a, __vector unsigned int __b) {
7865
9207
  return (__vector unsigned int)__builtin_s390_vsrlb(
7866
9208
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7867
9209
  }
7868
9210
 
9211
+ static inline __ATTRS_o_ai __vector unsigned int
9212
+ vec_srb(__vector unsigned int __a, __vector unsigned char __b) {
9213
+ return (__vector unsigned int)__builtin_s390_vsrlb(
9214
+ (__vector unsigned char)__a, __b);
9215
+ }
9216
+
9217
+ // This prototype is deprecated.
7869
9218
  static inline __ATTRS_o_ai __vector signed long long
7870
9219
  vec_srb(__vector signed long long __a, __vector signed long long __b) {
7871
9220
  return (__vector signed long long)__builtin_s390_vsrlb(
7872
9221
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7873
9222
  }
7874
9223
 
9224
+ // This prototype is deprecated.
7875
9225
  static inline __ATTRS_o_ai __vector signed long long
7876
9226
  vec_srb(__vector signed long long __a, __vector unsigned long long __b) {
7877
9227
  return (__vector signed long long)__builtin_s390_vsrlb(
7878
9228
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7879
9229
  }
7880
9230
 
9231
+ static inline __ATTRS_o_ai __vector signed long long
9232
+ vec_srb(__vector signed long long __a, __vector unsigned char __b) {
9233
+ return (__vector signed long long)__builtin_s390_vsrlb(
9234
+ (__vector unsigned char)__a, __b);
9235
+ }
9236
+
9237
+ // This prototype is deprecated.
7881
9238
  static inline __ATTRS_o_ai __vector unsigned long long
7882
9239
  vec_srb(__vector unsigned long long __a, __vector signed long long __b) {
7883
9240
  return (__vector unsigned long long)__builtin_s390_vsrlb(
7884
9241
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7885
9242
  }
7886
9243
 
9244
+ // This prototype is deprecated.
7887
9245
  static inline __ATTRS_o_ai __vector unsigned long long
7888
9246
  vec_srb(__vector unsigned long long __a, __vector unsigned long long __b) {
7889
9247
  return (__vector unsigned long long)__builtin_s390_vsrlb(
7890
9248
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7891
9249
  }
7892
9250
 
9251
+ static inline __ATTRS_o_ai __vector unsigned long long
9252
+ vec_srb(__vector unsigned long long __a, __vector unsigned char __b) {
9253
+ return (__vector unsigned long long)__builtin_s390_vsrlb(
9254
+ (__vector unsigned char)__a, __b);
9255
+ }
9256
+
9257
+ static inline __ATTRS_o_ai __vector signed __int128
9258
+ vec_srb(__vector signed __int128 __a, __vector unsigned char __b) {
9259
+ return (__vector signed __int128)__builtin_s390_vsrlb(
9260
+ (__vector unsigned char)__a, __b);
9261
+ }
9262
+
9263
+ static inline __ATTRS_o_ai __vector unsigned __int128
9264
+ vec_srb(__vector unsigned __int128 __a, __vector unsigned char __b) {
9265
+ return (__vector unsigned __int128)__builtin_s390_vsrlb(
9266
+ (__vector unsigned char)__a, __b);
9267
+ }
9268
+
7893
9269
  #if __ARCH__ >= 12
9270
+ // This prototype is deprecated.
7894
9271
  static inline __ATTRS_o_ai __vector float
7895
9272
  vec_srb(__vector float __a, __vector signed int __b) {
7896
9273
  return (__vector float)__builtin_s390_vsrlb(
7897
9274
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7898
9275
  }
7899
9276
 
9277
+ // This prototype is deprecated.
7900
9278
  static inline __ATTRS_o_ai __vector float
7901
9279
  vec_srb(__vector float __a, __vector unsigned int __b) {
7902
9280
  return (__vector float)__builtin_s390_vsrlb(
7903
9281
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7904
9282
  }
9283
+
9284
+ static inline __ATTRS_o_ai __vector float
9285
+ vec_srb(__vector float __a, __vector unsigned char __b) {
9286
+ return (__vector float)__builtin_s390_vsrlb(
9287
+ (__vector unsigned char)__a, __b);
9288
+ }
7905
9289
  #endif
7906
9290
 
9291
+ // This prototype is deprecated.
7907
9292
  static inline __ATTRS_o_ai __vector double
7908
9293
  vec_srb(__vector double __a, __vector signed long long __b) {
7909
9294
  return (__vector double)__builtin_s390_vsrlb(
7910
9295
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7911
9296
  }
7912
9297
 
9298
+ // This prototype is deprecated.
7913
9299
  static inline __ATTRS_o_ai __vector double
7914
9300
  vec_srb(__vector double __a, __vector unsigned long long __b) {
7915
9301
  return (__vector double)__builtin_s390_vsrlb(
7916
9302
  (__vector unsigned char)__a, (__vector unsigned char)__b);
7917
9303
  }
7918
9304
 
9305
+ static inline __ATTRS_o_ai __vector double
9306
+ vec_srb(__vector double __a, __vector unsigned char __b) {
9307
+ return (__vector double)__builtin_s390_vsrlb(
9308
+ (__vector unsigned char)__a, __b);
9309
+ }
9310
+
7919
9311
  /*-- vec_srdb ---------------------------------------------------------------*/
7920
9312
 
7921
9313
  #if __ARCH__ >= 13
@@ -7953,6 +9345,15 @@ vec_srdb(__vector unsigned long long __a, __vector unsigned long long __b,
7953
9345
  int __c)
7954
9346
  __constant_range(__c, 0, 7);
7955
9347
 
9348
+ extern __ATTRS_o __vector signed __int128
9349
+ vec_srdb(__vector signed __int128 __a, __vector signed __int128 __b, int __c)
9350
+ __constant_range(__c, 0, 7);
9351
+
9352
+ extern __ATTRS_o __vector unsigned __int128
9353
+ vec_srdb(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
9354
+ int __c)
9355
+ __constant_range(__c, 0, 7);
9356
+
7956
9357
  extern __ATTRS_o __vector float
7957
9358
  vec_srdb(__vector float __a, __vector float __b, int __c)
7958
9359
  __constant_range(__c, 0, 7);
@@ -7989,6 +9390,11 @@ vec_abs(__vector signed long long __a) {
7989
9390
  return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed long long)0));
7990
9391
  }
7991
9392
 
9393
+ static inline __ATTRS_o_ai __vector signed __int128
9394
+ vec_abs(__vector signed __int128 __a) {
9395
+ return vec_sel(__a, -__a, vec_cmplt(__a, (__vector signed __int128)0));
9396
+ }
9397
+
7992
9398
  #if __ARCH__ >= 12
7993
9399
  static inline __ATTRS_o_ai __vector float
7994
9400
  vec_abs(__vector float __a) {
@@ -8169,6 +9575,16 @@ vec_max(__vector __bool long long __a, __vector unsigned long long __b) {
8169
9575
  return vec_sel(__b, __ac, vec_cmpgt(__ac, __b));
8170
9576
  }
8171
9577
 
9578
+ static inline __ATTRS_o_ai __vector signed __int128
9579
+ vec_max(__vector signed __int128 __a, __vector signed __int128 __b) {
9580
+ return vec_sel(__b, __a, vec_cmpgt(__a, __b));
9581
+ }
9582
+
9583
+ static inline __ATTRS_o_ai __vector unsigned __int128
9584
+ vec_max(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
9585
+ return vec_sel(__b, __a, vec_cmpgt(__a, __b));
9586
+ }
9587
+
8172
9588
  #if __ARCH__ >= 12
8173
9589
  static inline __ATTRS_o_ai __vector float
8174
9590
  vec_max(__vector float __a, __vector float __b) {
@@ -8339,6 +9755,16 @@ vec_min(__vector __bool long long __a, __vector unsigned long long __b) {
8339
9755
  return vec_sel(__ac, __b, vec_cmpgt(__ac, __b));
8340
9756
  }
8341
9757
 
9758
+ static inline __ATTRS_o_ai __vector signed __int128
9759
+ vec_min(__vector signed __int128 __a, __vector signed __int128 __b) {
9760
+ return vec_sel(__a, __b, vec_cmpgt(__a, __b));
9761
+ }
9762
+
9763
+ static inline __ATTRS_o_ai __vector unsigned __int128
9764
+ vec_min(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
9765
+ return vec_sel(__a, __b, vec_cmpgt(__a, __b));
9766
+ }
9767
+
8342
9768
  #if __ARCH__ >= 12
8343
9769
  static inline __ATTRS_o_ai __vector float
8344
9770
  vec_min(__vector float __a, __vector float __b) {
@@ -8357,9 +9783,11 @@ vec_min(__vector double __a, __vector double __b) {
8357
9783
 
8358
9784
  /*-- vec_add_u128 -----------------------------------------------------------*/
8359
9785
 
9786
+ // This prototype is deprecated.
8360
9787
  static inline __ATTRS_ai __vector unsigned char
8361
9788
  vec_add_u128(__vector unsigned char __a, __vector unsigned char __b) {
8362
- return (__vector unsigned char)((__int128)__a + (__int128)__b);
9789
+ return (__vector unsigned char)(__vector unsigned __int128)
9790
+ ((__int128)__a + (__int128)__b);
8363
9791
  }
8364
9792
 
8365
9793
  /*-- vec_addc ---------------------------------------------------------------*/
@@ -8384,30 +9812,59 @@ vec_addc(__vector unsigned long long __a, __vector unsigned long long __b) {
8384
9812
  return __builtin_s390_vaccg(__a, __b);
8385
9813
  }
8386
9814
 
9815
+ static inline __ATTRS_o_ai __vector unsigned __int128
9816
+ vec_addc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
9817
+ return (__vector unsigned __int128)
9818
+ __builtin_s390_vaccq((unsigned __int128)__a, (unsigned __int128)__b);
9819
+ }
9820
+
8387
9821
  /*-- vec_addc_u128 ----------------------------------------------------------*/
8388
9822
 
9823
+ // This prototype is deprecated.
8389
9824
  static inline __ATTRS_ai __vector unsigned char
8390
9825
  vec_addc_u128(__vector unsigned char __a, __vector unsigned char __b) {
8391
- return (__vector unsigned char)
9826
+ return (__vector unsigned char)(__vector unsigned __int128)
8392
9827
  __builtin_s390_vaccq((unsigned __int128)__a, (unsigned __int128)__b);
8393
9828
  }
8394
9829
 
9830
+ /*-- vec_adde ---------------------------------------------------------------*/
9831
+
9832
+ static inline __ATTRS_ai __vector unsigned __int128
9833
+ vec_adde(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
9834
+ __vector unsigned __int128 __c) {
9835
+ return (__vector unsigned __int128)
9836
+ __builtin_s390_vacq((unsigned __int128)__a, (unsigned __int128)__b,
9837
+ (unsigned __int128)__c);
9838
+ }
9839
+
8395
9840
  /*-- vec_adde_u128 ----------------------------------------------------------*/
8396
9841
 
9842
+ // This prototype is deprecated.
8397
9843
  static inline __ATTRS_ai __vector unsigned char
8398
9844
  vec_adde_u128(__vector unsigned char __a, __vector unsigned char __b,
8399
9845
  __vector unsigned char __c) {
8400
- return (__vector unsigned char)
9846
+ return (__vector unsigned char)(__vector unsigned __int128)
8401
9847
  __builtin_s390_vacq((unsigned __int128)__a, (unsigned __int128)__b,
8402
9848
  (unsigned __int128)__c);
8403
9849
  }
8404
9850
 
9851
+ /*-- vec_addec --------------------------------------------------------------*/
9852
+
9853
+ static inline __ATTRS_ai __vector unsigned __int128
9854
+ vec_addec(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
9855
+ __vector unsigned __int128 __c) {
9856
+ return (__vector unsigned __int128)
9857
+ __builtin_s390_vacccq((unsigned __int128)__a, (unsigned __int128)__b,
9858
+ (unsigned __int128)__c);
9859
+ }
9860
+
8405
9861
  /*-- vec_addec_u128 ---------------------------------------------------------*/
8406
9862
 
9863
+ // This prototype is deprecated.
8407
9864
  static inline __ATTRS_ai __vector unsigned char
8408
9865
  vec_addec_u128(__vector unsigned char __a, __vector unsigned char __b,
8409
9866
  __vector unsigned char __c) {
8410
- return (__vector unsigned char)
9867
+ return (__vector unsigned char)(__vector unsigned __int128)
8411
9868
  __builtin_s390_vacccq((unsigned __int128)__a, (unsigned __int128)__b,
8412
9869
  (unsigned __int128)__c);
8413
9870
  }
@@ -8434,6 +9891,14 @@ vec_avg(__vector signed long long __a, __vector signed long long __b) {
8434
9891
  return __builtin_s390_vavgg(__a, __b);
8435
9892
  }
8436
9893
 
9894
+ #if __ARCH__ >= 15
9895
+ static inline __ATTRS_o_ai __vector signed __int128
9896
+ vec_avg(__vector signed __int128 __a, __vector signed __int128 __b) {
9897
+ return (__vector signed __int128)
9898
+ __builtin_s390_vavgq((signed __int128)__a, (signed __int128)__b);
9899
+ }
9900
+ #endif
9901
+
8437
9902
  static inline __ATTRS_o_ai __vector unsigned char
8438
9903
  vec_avg(__vector unsigned char __a, __vector unsigned char __b) {
8439
9904
  return __builtin_s390_vavglb(__a, __b);
@@ -8454,6 +9919,14 @@ vec_avg(__vector unsigned long long __a, __vector unsigned long long __b) {
8454
9919
  return __builtin_s390_vavglg(__a, __b);
8455
9920
  }
8456
9921
 
9922
+ #if __ARCH__ >= 15
9923
+ static inline __ATTRS_o_ai __vector unsigned __int128
9924
+ vec_avg(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
9925
+ return (__vector unsigned __int128)
9926
+ __builtin_s390_vavglq((unsigned __int128)__a, (unsigned __int128)__b);
9927
+ }
9928
+ #endif
9929
+
8457
9930
  /*-- vec_checksum -----------------------------------------------------------*/
8458
9931
 
8459
9932
  static inline __ATTRS_ai __vector unsigned int
@@ -8478,12 +9951,19 @@ vec_gfmsum(__vector unsigned int __a, __vector unsigned int __b) {
8478
9951
  return __builtin_s390_vgfmf(__a, __b);
8479
9952
  }
8480
9953
 
9954
+ static inline __ATTRS_o_ai __vector unsigned __int128
9955
+ vec_gfmsum(__vector unsigned long long __a, __vector unsigned long long __b) {
9956
+ return (__vector unsigned __int128)__builtin_s390_vgfmg(__a, __b);
9957
+ }
9958
+
8481
9959
  /*-- vec_gfmsum_128 ---------------------------------------------------------*/
8482
9960
 
9961
+ // This prototype is deprecated.
8483
9962
  static inline __ATTRS_o_ai __vector unsigned char
8484
9963
  vec_gfmsum_128(__vector unsigned long long __a,
8485
9964
  __vector unsigned long long __b) {
8486
- return (__vector unsigned char)__builtin_s390_vgfmg(__a, __b);
9965
+ return (__vector unsigned char)(__vector unsigned __int128)
9966
+ __builtin_s390_vgfmg(__a, __b);
8487
9967
  }
8488
9968
 
8489
9969
  /*-- vec_gfmsum_accum -------------------------------------------------------*/
@@ -8506,13 +9986,21 @@ vec_gfmsum_accum(__vector unsigned int __a, __vector unsigned int __b,
8506
9986
  return __builtin_s390_vgfmaf(__a, __b, __c);
8507
9987
  }
8508
9988
 
9989
+ static inline __ATTRS_o_ai __vector unsigned __int128
9990
+ vec_gfmsum_accum(__vector unsigned long long __a, __vector unsigned long long __b,
9991
+ __vector unsigned __int128 __c) {
9992
+ return (__vector unsigned __int128)
9993
+ __builtin_s390_vgfmag(__a, __b, (unsigned __int128)__c);
9994
+ }
9995
+
8509
9996
  /*-- vec_gfmsum_accum_128 ---------------------------------------------------*/
8510
9997
 
9998
+ // This prototype is deprecated.
8511
9999
  static inline __ATTRS_o_ai __vector unsigned char
8512
10000
  vec_gfmsum_accum_128(__vector unsigned long long __a,
8513
10001
  __vector unsigned long long __b,
8514
10002
  __vector unsigned char __c) {
8515
- return (__vector unsigned char)
10003
+ return (__vector unsigned char)(__vector unsigned __int128)
8516
10004
  __builtin_s390_vgfmag(__a, __b, (unsigned __int128)__c);
8517
10005
  }
8518
10006
 
@@ -8590,6 +10078,56 @@ vec_mladd(__vector unsigned int __a, __vector unsigned int __b,
8590
10078
  return __a * __b + __c;
8591
10079
  }
8592
10080
 
10081
+ #if __ARCH__ >= 15
10082
+ static inline __ATTRS_o_ai __vector signed long long
10083
+ vec_mladd(__vector signed long long __a, __vector signed long long __b,
10084
+ __vector signed long long __c) {
10085
+ return __a * __b + __c;
10086
+ }
10087
+
10088
+ static inline __ATTRS_o_ai __vector signed long long
10089
+ vec_mladd(__vector unsigned long long __a, __vector signed long long __b,
10090
+ __vector signed long long __c) {
10091
+ return (__vector signed long long)__a * __b + __c;
10092
+ }
10093
+
10094
+ static inline __ATTRS_o_ai __vector signed long long
10095
+ vec_mladd(__vector signed long long __a, __vector unsigned long long __b,
10096
+ __vector unsigned long long __c) {
10097
+ return __a * (__vector signed long long)__b + (__vector signed long long)__c;
10098
+ }
10099
+
10100
+ static inline __ATTRS_o_ai __vector unsigned long long
10101
+ vec_mladd(__vector unsigned long long __a, __vector unsigned long long __b,
10102
+ __vector unsigned long long __c) {
10103
+ return __a * __b + __c;
10104
+ }
10105
+
10106
+ static inline __ATTRS_o_ai __vector signed __int128
10107
+ vec_mladd(__vector signed __int128 __a, __vector signed __int128 __b,
10108
+ __vector signed __int128 __c) {
10109
+ return __a * __b + __c;
10110
+ }
10111
+
10112
+ static inline __ATTRS_o_ai __vector signed __int128
10113
+ vec_mladd(__vector unsigned __int128 __a, __vector signed __int128 __b,
10114
+ __vector signed __int128 __c) {
10115
+ return (__vector signed __int128)__a * __b + __c;
10116
+ }
10117
+
10118
+ static inline __ATTRS_o_ai __vector signed __int128
10119
+ vec_mladd(__vector signed __int128 __a, __vector unsigned __int128 __b,
10120
+ __vector unsigned __int128 __c) {
10121
+ return __a * (__vector signed __int128)__b + (__vector signed __int128)__c;
10122
+ }
10123
+
10124
+ static inline __ATTRS_o_ai __vector unsigned __int128
10125
+ vec_mladd(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
10126
+ __vector unsigned __int128 __c) {
10127
+ return __a * __b + __c;
10128
+ }
10129
+ #endif
10130
+
8593
10131
  /*-- vec_mhadd --------------------------------------------------------------*/
8594
10132
 
8595
10133
  static inline __ATTRS_o_ai __vector signed char
@@ -8628,6 +10166,34 @@ vec_mhadd(__vector unsigned int __a, __vector unsigned int __b,
8628
10166
  return __builtin_s390_vmalhf(__a, __b, __c);
8629
10167
  }
8630
10168
 
10169
+ #if __ARCH__ >= 15
10170
+ static inline __ATTRS_o_ai __vector signed long long
10171
+ vec_mhadd(__vector signed long long __a, __vector signed long long __b,
10172
+ __vector signed long long __c) {
10173
+ return __builtin_s390_vmahg(__a, __b, __c);
10174
+ }
10175
+
10176
+ static inline __ATTRS_o_ai __vector unsigned long long
10177
+ vec_mhadd(__vector unsigned long long __a, __vector unsigned long long __b,
10178
+ __vector unsigned long long __c) {
10179
+ return __builtin_s390_vmalhg(__a, __b, __c);
10180
+ }
10181
+
10182
+ static inline __ATTRS_o_ai __vector signed __int128
10183
+ vec_mhadd(__vector signed __int128 __a, __vector signed __int128 __b,
10184
+ __vector signed __int128 __c) {
10185
+ return (__vector signed __int128)
10186
+ __builtin_s390_vmahq((signed __int128)__a, (signed __int128)__b, (signed __int128)__c);
10187
+ }
10188
+
10189
+ static inline __ATTRS_o_ai __vector unsigned __int128
10190
+ vec_mhadd(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
10191
+ __vector unsigned __int128 __c) {
10192
+ return (__vector unsigned __int128)
10193
+ __builtin_s390_vmalhq((unsigned __int128)__a, (unsigned __int128)__b, (unsigned __int128)__c);
10194
+ }
10195
+ #endif
10196
+
8631
10197
  /*-- vec_meadd --------------------------------------------------------------*/
8632
10198
 
8633
10199
  static inline __ATTRS_o_ai __vector signed short
@@ -8666,6 +10232,22 @@ vec_meadd(__vector unsigned int __a, __vector unsigned int __b,
8666
10232
  return __builtin_s390_vmalef(__a, __b, __c);
8667
10233
  }
8668
10234
 
10235
+ #if __ARCH__ >= 15
10236
+ static inline __ATTRS_o_ai __vector signed __int128
10237
+ vec_meadd(__vector signed long long __a, __vector signed long long __b,
10238
+ __vector signed __int128 __c) {
10239
+ return (__vector signed __int128)
10240
+ __builtin_s390_vmaeg(__a, __b, (signed __int128)__c);
10241
+ }
10242
+
10243
+ static inline __ATTRS_o_ai __vector unsigned __int128
10244
+ vec_meadd(__vector unsigned long long __a, __vector unsigned long long __b,
10245
+ __vector unsigned __int128 __c) {
10246
+ return (__vector unsigned __int128)
10247
+ __builtin_s390_vmaleg(__a, __b, (unsigned __int128)__c);
10248
+ }
10249
+ #endif
10250
+
8669
10251
  /*-- vec_moadd --------------------------------------------------------------*/
8670
10252
 
8671
10253
  static inline __ATTRS_o_ai __vector signed short
@@ -8704,6 +10286,22 @@ vec_moadd(__vector unsigned int __a, __vector unsigned int __b,
8704
10286
  return __builtin_s390_vmalof(__a, __b, __c);
8705
10287
  }
8706
10288
 
10289
+ #if __ARCH__ >= 15
10290
+ static inline __ATTRS_o_ai __vector signed __int128
10291
+ vec_moadd(__vector signed long long __a, __vector signed long long __b,
10292
+ __vector signed __int128 __c) {
10293
+ return (__vector signed __int128)
10294
+ __builtin_s390_vmaog(__a, __b, (signed __int128)__c);
10295
+ }
10296
+
10297
+ static inline __ATTRS_o_ai __vector unsigned __int128
10298
+ vec_moadd(__vector unsigned long long __a, __vector unsigned long long __b,
10299
+ __vector unsigned __int128 __c) {
10300
+ return (__vector unsigned __int128)
10301
+ __builtin_s390_vmalog(__a, __b, (unsigned __int128)__c);
10302
+ }
10303
+ #endif
10304
+
8707
10305
  /*-- vec_mulh ---------------------------------------------------------------*/
8708
10306
 
8709
10307
  static inline __ATTRS_o_ai __vector signed char
@@ -8736,6 +10334,30 @@ vec_mulh(__vector unsigned int __a, __vector unsigned int __b) {
8736
10334
  return __builtin_s390_vmlhf(__a, __b);
8737
10335
  }
8738
10336
 
10337
+ #if __ARCH__ >= 15
10338
+ static inline __ATTRS_o_ai __vector signed long long
10339
+ vec_mulh(__vector signed long long __a, __vector signed long long __b) {
10340
+ return __builtin_s390_vmhg(__a, __b);
10341
+ }
10342
+
10343
+ static inline __ATTRS_o_ai __vector unsigned long long
10344
+ vec_mulh(__vector unsigned long long __a, __vector unsigned long long __b) {
10345
+ return __builtin_s390_vmlhg(__a, __b);
10346
+ }
10347
+
10348
+ static inline __ATTRS_o_ai __vector signed __int128
10349
+ vec_mulh(__vector signed __int128 __a, __vector signed __int128 __b) {
10350
+ return (__vector signed __int128)
10351
+ __builtin_s390_vmhq((signed __int128)__a, (signed __int128)__b);
10352
+ }
10353
+
10354
+ static inline __ATTRS_o_ai __vector unsigned __int128
10355
+ vec_mulh(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
10356
+ return (__vector unsigned __int128)
10357
+ __builtin_s390_vmlhq((unsigned __int128)__a, (unsigned __int128)__b);
10358
+ }
10359
+ #endif
10360
+
8739
10361
  /*-- vec_mule ---------------------------------------------------------------*/
8740
10362
 
8741
10363
  static inline __ATTRS_o_ai __vector signed short
@@ -8768,6 +10390,18 @@ vec_mule(__vector unsigned int __a, __vector unsigned int __b) {
8768
10390
  return __builtin_s390_vmlef(__a, __b);
8769
10391
  }
8770
10392
 
10393
+ #if __ARCH__ >= 15
10394
+ static inline __ATTRS_o_ai __vector signed __int128
10395
+ vec_mule(__vector signed long long __a, __vector signed long long __b) {
10396
+ return (__vector signed __int128)__builtin_s390_vmeg(__a, __b);
10397
+ }
10398
+
10399
+ static inline __ATTRS_o_ai __vector unsigned __int128
10400
+ vec_mule(__vector unsigned long long __a, __vector unsigned long long __b) {
10401
+ return (__vector unsigned __int128)__builtin_s390_vmleg(__a, __b);
10402
+ }
10403
+ #endif
10404
+
8771
10405
  /*-- vec_mulo ---------------------------------------------------------------*/
8772
10406
 
8773
10407
  static inline __ATTRS_o_ai __vector signed short
@@ -8800,9 +10434,35 @@ vec_mulo(__vector unsigned int __a, __vector unsigned int __b) {
8800
10434
  return __builtin_s390_vmlof(__a, __b);
8801
10435
  }
8802
10436
 
10437
+ #if __ARCH__ >= 15
10438
+ static inline __ATTRS_o_ai __vector signed __int128
10439
+ vec_mulo(__vector signed long long __a, __vector signed long long __b) {
10440
+ return (__vector signed __int128)__builtin_s390_vmog(__a, __b);
10441
+ }
10442
+
10443
+ static inline __ATTRS_o_ai __vector unsigned __int128
10444
+ vec_mulo(__vector unsigned long long __a, __vector unsigned long long __b) {
10445
+ return (__vector unsigned __int128)__builtin_s390_vmlog(__a, __b);
10446
+ }
10447
+ #endif
10448
+
10449
+ /*-- vec_msum ---------------------------------------------------------------*/
10450
+
10451
+ #if __ARCH__ >= 12
10452
+ extern __ATTRS_o __vector unsigned __int128
10453
+ vec_msum(__vector unsigned long long __a, __vector unsigned long long __b,
10454
+ __vector unsigned __int128 __c, int __d)
10455
+ __constant_range(__d, 0, 15);
10456
+
10457
+ #define vec_msum(X, Y, Z, W) \
10458
+ ((__typeof__((vec_msum)((X), (Y), (Z), (W)))) \
10459
+ __builtin_s390_vmslg((X), (Y), (unsigned __int128)(Z), (W)))
10460
+ #endif
10461
+
8803
10462
  /*-- vec_msum_u128 ----------------------------------------------------------*/
8804
10463
 
8805
10464
  #if __ARCH__ >= 12
10465
+ // This prototype is deprecated.
8806
10466
  extern __ATTRS_o __vector unsigned char
8807
10467
  vec_msum_u128(__vector unsigned long long __a, __vector unsigned long long __b,
8808
10468
  __vector unsigned char __c, int __d)
@@ -8810,14 +10470,17 @@ vec_msum_u128(__vector unsigned long long __a, __vector unsigned long long __b,
8810
10470
 
8811
10471
  #define vec_msum_u128(X, Y, Z, W) \
8812
10472
  ((__typeof__((vec_msum_u128)((X), (Y), (Z), (W)))) \
10473
+ (__vector unsigned __int128) \
8813
10474
  __builtin_s390_vmslg((X), (Y), (unsigned __int128)(Z), (W)))
8814
10475
  #endif
8815
10476
 
8816
10477
  /*-- vec_sub_u128 -----------------------------------------------------------*/
8817
10478
 
10479
+ // This prototype is deprecated.
8818
10480
  static inline __ATTRS_ai __vector unsigned char
8819
10481
  vec_sub_u128(__vector unsigned char __a, __vector unsigned char __b) {
8820
- return (__vector unsigned char)((__int128)__a - (__int128)__b);
10482
+ return (__vector unsigned char)(__vector unsigned __int128)
10483
+ ((__int128)__a - (__int128)__b);
8821
10484
  }
8822
10485
 
8823
10486
  /*-- vec_subc ---------------------------------------------------------------*/
@@ -8842,30 +10505,59 @@ vec_subc(__vector unsigned long long __a, __vector unsigned long long __b) {
8842
10505
  return __builtin_s390_vscbig(__a, __b);
8843
10506
  }
8844
10507
 
10508
+ static inline __ATTRS_o_ai __vector unsigned __int128
10509
+ vec_subc(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
10510
+ return (__vector unsigned __int128)
10511
+ __builtin_s390_vscbiq((unsigned __int128)__a, (unsigned __int128)__b);
10512
+ }
10513
+
8845
10514
  /*-- vec_subc_u128 ----------------------------------------------------------*/
8846
10515
 
10516
+ // This prototype is deprecated.
8847
10517
  static inline __ATTRS_ai __vector unsigned char
8848
10518
  vec_subc_u128(__vector unsigned char __a, __vector unsigned char __b) {
8849
- return (__vector unsigned char)
10519
+ return (__vector unsigned char)(__vector unsigned __int128)
8850
10520
  __builtin_s390_vscbiq((unsigned __int128)__a, (unsigned __int128)__b);
8851
10521
  }
8852
10522
 
10523
+ /*-- vec_sube ---------------------------------------------------------------*/
10524
+
10525
+ static inline __ATTRS_ai __vector unsigned __int128
10526
+ vec_sube(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
10527
+ __vector unsigned __int128 __c) {
10528
+ return (__vector unsigned __int128)
10529
+ __builtin_s390_vsbiq((unsigned __int128)__a, (unsigned __int128)__b,
10530
+ (unsigned __int128)__c);
10531
+ }
10532
+
8853
10533
  /*-- vec_sube_u128 ----------------------------------------------------------*/
8854
10534
 
10535
+ // This prototype is deprecated.
8855
10536
  static inline __ATTRS_ai __vector unsigned char
8856
10537
  vec_sube_u128(__vector unsigned char __a, __vector unsigned char __b,
8857
10538
  __vector unsigned char __c) {
8858
- return (__vector unsigned char)
10539
+ return (__vector unsigned char)(__vector unsigned __int128)
8859
10540
  __builtin_s390_vsbiq((unsigned __int128)__a, (unsigned __int128)__b,
8860
10541
  (unsigned __int128)__c);
8861
10542
  }
8862
10543
 
10544
+ /*-- vec_subec --------------------------------------------------------------*/
10545
+
10546
+ static inline __ATTRS_ai __vector unsigned __int128
10547
+ vec_subec(__vector unsigned __int128 __a, __vector unsigned __int128 __b,
10548
+ __vector unsigned __int128 __c) {
10549
+ return (__vector unsigned __int128)
10550
+ __builtin_s390_vsbcbiq((unsigned __int128)__a, (unsigned __int128)__b,
10551
+ (unsigned __int128)__c);
10552
+ }
10553
+
8863
10554
  /*-- vec_subec_u128 ---------------------------------------------------------*/
8864
10555
 
10556
+ // This prototype is deprecated.
8865
10557
  static inline __ATTRS_ai __vector unsigned char
8866
10558
  vec_subec_u128(__vector unsigned char __a, __vector unsigned char __b,
8867
10559
  __vector unsigned char __c) {
8868
- return (__vector unsigned char)
10560
+ return (__vector unsigned char)(__vector unsigned __int128)
8869
10561
  __builtin_s390_vsbcbiq((unsigned __int128)__a, (unsigned __int128)__b,
8870
10562
  (unsigned __int128)__c);
8871
10563
  }
@@ -8882,16 +10574,32 @@ vec_sum2(__vector unsigned int __a, __vector unsigned int __b) {
8882
10574
  return __builtin_s390_vsumgf(__a, __b);
8883
10575
  }
8884
10576
 
10577
+ /*-- vec_sum ----------------------------------------------------------------*/
10578
+
10579
+ static inline __ATTRS_o_ai __vector unsigned __int128
10580
+ vec_sum(__vector unsigned int __a, __vector unsigned int __b) {
10581
+ return (__vector unsigned __int128)__builtin_s390_vsumqf(__a, __b);
10582
+ }
10583
+
10584
+ static inline __ATTRS_o_ai __vector unsigned __int128
10585
+ vec_sum(__vector unsigned long long __a, __vector unsigned long long __b) {
10586
+ return (__vector unsigned __int128)__builtin_s390_vsumqg(__a, __b);
10587
+ }
10588
+
8885
10589
  /*-- vec_sum_u128 -----------------------------------------------------------*/
8886
10590
 
10591
+ // This prototype is deprecated.
8887
10592
  static inline __ATTRS_o_ai __vector unsigned char
8888
10593
  vec_sum_u128(__vector unsigned int __a, __vector unsigned int __b) {
8889
- return (__vector unsigned char)__builtin_s390_vsumqf(__a, __b);
10594
+ return (__vector unsigned char)(__vector unsigned __int128)
10595
+ __builtin_s390_vsumqf(__a, __b);
8890
10596
  }
8891
10597
 
10598
+ // This prototype is deprecated.
8892
10599
  static inline __ATTRS_o_ai __vector unsigned char
8893
10600
  vec_sum_u128(__vector unsigned long long __a, __vector unsigned long long __b) {
8894
- return (__vector unsigned char)__builtin_s390_vsumqg(__a, __b);
10601
+ return (__vector unsigned char)(__vector unsigned __int128)
10602
+ __builtin_s390_vsumqg(__a, __b);
8895
10603
  }
8896
10604
 
8897
10605
  /*-- vec_sum4 ---------------------------------------------------------------*/
@@ -8956,6 +10664,19 @@ vec_test_mask(__vector unsigned long long __a,
8956
10664
  (__vector unsigned char)__b);
8957
10665
  }
8958
10666
 
10667
+ static inline __ATTRS_o_ai int
10668
+ vec_test_mask(__vector signed __int128 __a, __vector unsigned __int128 __b) {
10669
+ return __builtin_s390_vtm((__vector unsigned char)__a,
10670
+ (__vector unsigned char)__b);
10671
+ }
10672
+
10673
+ static inline __ATTRS_o_ai int
10674
+ vec_test_mask(__vector unsigned __int128 __a,
10675
+ __vector unsigned __int128 __b) {
10676
+ return __builtin_s390_vtm((__vector unsigned char)__a,
10677
+ (__vector unsigned char)__b);
10678
+ }
10679
+
8959
10680
  #if __ARCH__ >= 12
8960
10681
  static inline __ATTRS_o_ai int
8961
10682
  vec_test_mask(__vector float __a, __vector unsigned int __b) {
@@ -11143,3 +12864,5 @@ vec_search_string_until_zero_cc(__vector unsigned int __a,
11143
12864
  #error "Use -fzvector to enable vector extensions"
11144
12865
 
11145
12866
  #endif
12867
+
12868
+ #endif /* _VECINTRIN_H */