@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.
- package/README.md +2 -2
- package/bin/clang-tidy.exe +2 -2
- package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
- package/lib/clang/{19 → 23}/include/__clang_cuda_device_functions.h +15 -1
- package/lib/clang/{19 → 23}/include/__clang_cuda_intrinsics.h +288 -20
- package/lib/clang/{19 → 23}/include/__clang_cuda_math.h +5 -0
- package/lib/clang/{19 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
- package/lib/clang/{19 → 23}/include/__clang_cuda_runtime_wrapper.h +28 -5
- package/lib/clang/{19 → 23}/include/__clang_cuda_texture_intrinsics.h +437 -2
- package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
- package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
- package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
- package/lib/clang/{19 → 23}/include/__clang_hip_cmath.h +15 -9
- package/lib/clang/{19 → 23}/include/__clang_hip_libdevice_declares.h +24 -139
- package/lib/clang/{19 → 23}/include/__clang_hip_math.h +115 -34
- package/lib/clang/{19 → 23}/include/__clang_hip_runtime_wrapper.h +12 -1
- package/lib/clang/23/include/__clang_spirv_builtins.h +217 -0
- package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
- package/lib/clang/23/include/__clang_spirv_math.h +719 -0
- package/lib/clang/{19/include/float.h → 23/include/__float_float.h} +14 -34
- package/lib/clang/23/include/__float_header_macro.h +12 -0
- package/lib/clang/23/include/__float_infinity_nan.h +20 -0
- package/lib/clang/{19 → 23}/include/__stdarg_va_arg.h +2 -2
- package/lib/clang/{19 → 23}/include/adcintrin.h +5 -0
- package/lib/clang/{19 → 23}/include/adxintrin.h +5 -0
- package/lib/clang/{19 → 23}/include/altivec.h +169 -96
- package/lib/clang/23/include/amdgpuintrin.h +164 -0
- package/lib/clang/23/include/amdhsa_abi.h +83 -0
- package/lib/clang/23/include/amo.h +220 -0
- package/lib/clang/23/include/amxavx512intrin.h +596 -0
- package/lib/clang/{19 → 23}/include/amxcomplexintrin.h +4 -6
- package/lib/clang/{19 → 23}/include/amxfp16intrin.h +35 -0
- package/lib/clang/23/include/amxfp8intrin.h +230 -0
- package/lib/clang/{19 → 23}/include/amxintrin.h +3 -35
- package/lib/clang/23/include/amxmovrsintrin.h +48 -0
- package/lib/clang/23/include/andes_vector.h +21 -0
- package/lib/clang/23/include/arm64_neon.h +21 -0
- package/lib/clang/{19 → 23}/include/arm64intr.h +10 -0
- package/lib/clang/{19 → 23}/include/arm_acle.h +67 -89
- package/lib/clang/{19 → 23}/include/arm_fp16.h +89 -89
- package/lib/clang/{19 → 23}/include/arm_neon.h +43614 -38901
- package/lib/clang/{19 → 23}/include/arm_sme.h +1028 -94
- package/lib/clang/{19 → 23}/include/arm_sve.h +7331 -5170
- package/lib/clang/{19 → 23}/include/arm_vector_types.h +87 -0
- package/lib/clang/23/include/avx10_2_512bf16intrin.h +568 -0
- package/lib/clang/23/include/avx10_2_512convertintrin.h +322 -0
- package/lib/clang/23/include/avx10_2_512minmaxintrin.h +127 -0
- package/lib/clang/23/include/avx10_2_512niintrin.h +314 -0
- package/lib/clang/23/include/avx10_2_512satcvtdsintrin.h +307 -0
- package/lib/clang/23/include/avx10_2_512satcvtintrin.h +301 -0
- package/lib/clang/23/include/avx10_2bf16intrin.h +1094 -0
- package/lib/clang/23/include/avx10_2convertintrin.h +3257 -0
- package/lib/clang/23/include/avx10_2copyintrin.h +66 -0
- package/lib/clang/23/include/avx10_2minmaxintrin.h +232 -0
- package/lib/clang/23/include/avx10_2niintrin.h +409 -0
- package/lib/clang/23/include/avx10_2satcvtdsintrin.h +376 -0
- package/lib/clang/23/include/avx10_2satcvtintrin.h +312 -0
- package/lib/clang/{19 → 23}/include/avx2intrin.h +284 -378
- package/lib/clang/{19 → 23}/include/avx512bf16intrin.h +25 -16
- package/lib/clang/{19 → 23}/include/avx512bitalgintrin.h +21 -32
- package/lib/clang/23/include/avx512bmmintrin.h +174 -0
- package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
- package/lib/clang/{19 → 23}/include/avx512bwintrin.h +405 -534
- package/lib/clang/23/include/avx512cdintrin.h +112 -0
- package/lib/clang/{19 → 23}/include/avx512dqintrin.h +132 -161
- package/lib/clang/{19 → 23}/include/avx512fintrin.h +1068 -1496
- package/lib/clang/{19 → 23}/include/avx512fp16intrin.h +126 -129
- package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
- package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
- package/lib/clang/{19 → 23}/include/avx512vbmi2intrin.h +55 -48
- package/lib/clang/{19 → 23}/include/avx512vbmiintrin.h +19 -27
- package/lib/clang/{19 → 23}/include/avx512vbmivlintrin.h +35 -49
- package/lib/clang/{19 → 23}/include/avx512vlbf16intrin.h +32 -22
- package/lib/clang/{19 → 23}/include/avx512vlbitalgintrin.h +41 -57
- package/lib/clang/{19 → 23}/include/avx512vlbwintrin.h +494 -609
- package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
- package/lib/clang/{19 → 23}/include/avx512vldqintrin.h +110 -127
- package/lib/clang/{19 → 23}/include/avx512vlfp16intrin.h +130 -111
- package/lib/clang/{19 → 23}/include/avx512vlintrin.h +1025 -1395
- package/lib/clang/{19 → 23}/include/avx512vlvbmi2intrin.h +102 -95
- package/lib/clang/{19 → 23}/include/avx512vlvnniintrin.h +50 -52
- package/lib/clang/{19 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
- package/lib/clang/{19 → 23}/include/avx512vnniintrin.h +42 -45
- package/lib/clang/{19 → 23}/include/avx512vp2intersectintrin.h +2 -3
- package/lib/clang/{19 → 23}/include/avx512vpopcntdqintrin.h +10 -4
- package/lib/clang/{19 → 23}/include/avx512vpopcntdqvlintrin.h +20 -10
- package/lib/clang/{19 → 23}/include/avxifmaintrin.h +16 -0
- package/lib/clang/{19 → 23}/include/avxintrin.h +186 -248
- package/lib/clang/{19 → 23}/include/avxvnniint16intrin.h +130 -152
- package/lib/clang/{19 → 23}/include/avxvnniint8intrin.h +68 -85
- package/lib/clang/{19 → 23}/include/avxvnniintrin.h +39 -26
- package/lib/clang/{19 → 23}/include/bmi2intrin.h +15 -17
- package/lib/clang/{19 → 23}/include/bmiintrin.h +31 -41
- package/lib/clang/{19 → 23}/include/cmpccxaddintrin.h +1 -1
- package/lib/clang/{19 → 23}/include/cpuid.h +137 -37
- package/lib/clang/{19 → 23}/include/crc32intrin.h +10 -8
- package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
- package/lib/clang/23/include/cuda_wrappers/bits/c++config.h +61 -0
- package/lib/clang/23/include/cuda_wrappers/cmath +44 -0
- package/lib/clang/{19 → 23}/include/cuda_wrappers/new +2 -0
- package/lib/clang/{19 → 23}/include/emmintrin.h +306 -272
- package/lib/clang/23/include/endian.h +91 -0
- package/lib/clang/{19 → 23}/include/f16cintrin.h +23 -9
- package/lib/clang/23/include/float.h +48 -0
- package/lib/clang/23/include/fma4intrin.h +220 -0
- package/lib/clang/{19 → 23}/include/fmaintrin.h +96 -66
- package/lib/clang/{19 → 23}/include/gfniintrin.h +39 -12
- package/lib/clang/23/include/gpuintrin.h +348 -0
- package/lib/clang/{19 → 23}/include/hexagon_types.h +31 -24
- package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
- package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics_gen.inc +3869 -0
- package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
- package/lib/clang/23/include/hlsl/hlsl_compat_overloads.h +559 -0
- package/lib/clang/23/include/hlsl/hlsl_detail.h +56 -0
- package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
- package/lib/clang/23/include/hlsl/hlsl_intrinsic_helpers.h +170 -0
- package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
- package/lib/clang/23/include/hlsl/hlsl_spirv.h +28 -0
- package/lib/clang/23/include/hlsl.h +38 -0
- package/lib/clang/{19 → 23}/include/hvx_hexagon_protos.h +1041 -803
- package/lib/clang/{19 → 23}/include/immintrin.h +35 -185
- package/lib/clang/{19 → 23}/include/intrin.h +62 -21
- package/lib/clang/{19 → 23}/include/intrin0.h +10 -1
- package/lib/clang/{19 → 23}/include/keylockerintrin.h +0 -9
- package/lib/clang/{19 → 23}/include/larchintrin.h +24 -8
- package/lib/clang/{19 → 23}/include/lasxintrin.h +140 -25
- package/lib/clang/{19 → 23}/include/limits.h +7 -4
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
- package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/stdlib.h +3 -16
- package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
- package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/time.h +4 -10
- package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
- package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
- package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
- package/lib/clang/{19 → 23}/include/lsxintrin.h +27 -25
- package/lib/clang/{19 → 23}/include/lzcntintrin.h +13 -8
- package/lib/clang/{19 → 23}/include/mmintrin.h +241 -256
- package/lib/clang/{19 → 23}/include/module.modulemap +54 -9
- package/lib/clang/23/include/movrs_avx10_2_512intrin.h +98 -0
- package/lib/clang/23/include/movrs_avx10_2intrin.h +174 -0
- package/lib/clang/23/include/movrsintrin.h +59 -0
- package/lib/clang/23/include/nvptxintrin.h +208 -0
- package/lib/clang/{19 → 23}/include/opencl-c-base.h +28 -92
- package/lib/clang/{19 → 23}/include/opencl-c.h +506 -140
- package/lib/clang/{19 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +18 -5
- package/lib/clang/{19 → 23}/include/openmp_wrappers/complex +7 -1
- package/lib/clang/{19 → 23}/include/openmp_wrappers/complex.h +6 -0
- package/lib/clang/{19 → 23}/include/openmp_wrappers/complex_cmath.h +7 -2
- package/lib/clang/{19 → 23}/include/openmp_wrappers/math.h +10 -0
- package/lib/clang/{19 → 23}/include/pmmintrin.h +24 -23
- package/lib/clang/{19 → 23}/include/popcntintrin.h +7 -7
- package/lib/clang/{19 → 23}/include/prfchwintrin.h +10 -13
- package/lib/clang/{19 → 23}/include/ptrauth.h +169 -14
- package/lib/clang/{19 → 23}/include/riscv_bitmanip.h +7 -0
- package/lib/clang/23/include/riscv_corev_alu.h +130 -0
- package/lib/clang/{19 → 23}/include/riscv_crypto.h +8 -0
- package/lib/clang/23/include/riscv_mips.h +36 -0
- package/lib/clang/23/include/riscv_nds.h +92 -0
- package/lib/clang/{19 → 23}/include/riscv_ntlh.h +2 -0
- package/lib/clang/23/include/riscv_packed_simd.h +644 -0
- package/lib/clang/{19 → 23}/include/riscv_vector.h +43 -5
- package/lib/clang/{19 → 23}/include/shaintrin.h +3 -2
- package/lib/clang/{19 → 23}/include/sifive_vector.h +76 -2
- package/lib/clang/23/include/sm4evexintrin.h +32 -0
- package/lib/clang/{19 → 23}/include/smmintrin.h +80 -56
- package/lib/clang/23/include/spirvintrin.h +167 -0
- package/lib/clang/{19 → 23}/include/stdalign.h +0 -5
- package/lib/clang/23/include/stdcountof.h +15 -0
- package/lib/clang/23/include/stddefer.h +19 -0
- package/lib/clang/{19 → 23}/include/stdint.h +23 -143
- package/lib/clang/{19 → 23}/include/tbmintrin.h +25 -37
- package/lib/clang/{19 → 23}/include/tmmintrin.h +125 -130
- package/lib/clang/{19 → 23}/include/vaesintrin.h +1 -2
- package/lib/clang/{19 → 23}/include/vecintrin.h +1783 -60
- package/lib/clang/{19 → 23}/include/wasm_simd128.h +184 -21
- package/lib/clang/{19 → 23}/include/x86gprintrin.h +0 -14
- package/lib/clang/{19 → 23}/include/x86intrin.h +0 -18
- package/lib/clang/{19 → 23}/include/xmmintrin.h +190 -221
- package/lib/clang/{19 → 23}/include/xopintrin.h +20 -10
- package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
- package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
- package/lib/clang/23/include/zos_wrappers/math.h +31 -0
- package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
- package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
- package/lib/clang/23/include/zos_wrappers/string.h +19 -0
- package/lib/clang/23/include/zos_wrappers/time.h +19 -0
- package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
- package/package.json +6 -6
- package/lib/clang/19/include/__clang_cuda_complex_builtins.h +0 -285
- package/lib/clang/19/include/avx512cdintrin.h +0 -125
- package/lib/clang/19/include/avx512ifmaintrin.h +0 -70
- package/lib/clang/19/include/avx512ifmavlintrin.h +0 -111
- package/lib/clang/19/include/avx512vlcdintrin.h +0 -230
- package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
- package/lib/clang/19/include/fma4intrin.h +0 -218
- package/lib/clang/19/include/hlsl/hlsl_basic_types.h +0 -74
- package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +0 -1697
- package/lib/clang/19/include/hlsl.h +0 -15
- package/lib/clang/19/include/llvm_libc_wrappers/ctype.h +0 -102
- package/lib/clang/19/include/llvm_libc_wrappers/stdio.h +0 -80
- package/lib/clang/19/include/llvm_libc_wrappers/string.h +0 -96
- /package/lib/clang/{19 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{19 → 23}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{19 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{19 → 23}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg_header_macro.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_header_macro.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_null.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{19 → 23}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{19 → 23}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{19 → 23}/include/ammintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_bf16.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_cde.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_cmse.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_mve.h +0 -0
- /package/lib/clang/{19 → 23}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{19 → 23}/include/armintr.h +0 -0
- /package/lib/clang/{19 → 23}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/builtins.h +0 -0
- /package/lib/clang/{19 → 23}/include/cet.h +0 -0
- /package/lib/clang/{19 → 23}/include/cetintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/clwbintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/clzerointrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/algorithm +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{19 → 23}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{19 → 23}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{19 → 23}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{19 → 23}/include/hresetintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/htmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ia32intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/inttypes.h +0 -0
- /package/lib/clang/{19 → 23}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/iso646.h +0 -0
- /package/lib/clang/{19 → 23}/include/lwpintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/mm3dnow.h +0 -0
- /package/lib/clang/{19 → 23}/include/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 23}/include/movdirintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/msa.h +0 -0
- /package/lib/clang/{19 → 23}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{19 → 23}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{19 → 23}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/pkuintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/raointintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/rtmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/s390intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/serializeintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sgxintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sha512intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sm3intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/sm4intrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdarg.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdatomic.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdbool.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdckdint.h +0 -0
- /package/lib/clang/{19 → 23}/include/stddef.h +0 -0
- /package/lib/clang/{19 → 23}/include/stdnoreturn.h +0 -0
- /package/lib/clang/{19 → 23}/include/tgmath.h +0 -0
- /package/lib/clang/{19 → 23}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/uintrintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/unwind.h +0 -0
- /package/lib/clang/{19 → 23}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/vadefs.h +0 -0
- /package/lib/clang/{19 → 23}/include/varargs.h +0 -0
- /package/lib/clang/{19 → 23}/include/velintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{19 → 23}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{19 → 23}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/wmmintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/xtestintrin.h +0 -0
- /package/lib/clang/{19 → 23}/include/yvals_core.h +0 -0
- /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 &
|
|
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
|
|
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
|
|
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__ >=
|
|
5153
|
+
#if __ARCH__ >= 15
|
|
4717
5154
|
static inline __ATTRS_o_ai int
|
|
4718
|
-
vec_any_ne(__vector
|
|
5155
|
+
vec_any_ne(__vector signed __int128 __a, __vector signed __int128 __b) {
|
|
4719
5156
|
int __cc;
|
|
4720
|
-
|
|
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
|
|
5162
|
+
vec_any_ne(__vector unsigned __int128 __a, __vector unsigned __int128 __b) {
|
|
4727
5163
|
int __cc;
|
|
4728
|
-
|
|
5164
|
+
__builtin_s390_vceqqs((unsigned __int128)__a, (unsigned __int128)__b, &__cc);
|
|
4729
5165
|
return __cc != 0;
|
|
4730
5166
|
}
|
|
4731
5167
|
|
|
4732
|
-
|
|
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
|
|
5768
|
-
|
|
5769
|
-
|
|
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
|
-
|
|
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
|
|
5778
|
-
|
|
5779
|
-
int
|
|
5780
|
-
|
|
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
|
|
5786
|
-
|
|
5787
|
-
|
|
5788
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
7523
|
-
|
|
7524
|
-
|
|
7525
|
-
|
|
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)(
|
|
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)
|
|
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)(
|
|
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)
|
|
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)
|
|
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 */
|