@nativescript/visionos 8.6.0 → 8.7.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/framework/.build_env_vars.sh +147 -143
  2. package/framework/__PROJECT_NAME__/__PROJECT_NAME__.entitlements +3 -1
  3. package/framework/__PROJECT_NAME__.xcodeproj/project.pbxproj +18 -6
  4. package/framework/__PROJECT_NAME__.xcodeproj/project.xcworkspace/xcuserdata/nstudio.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  5. package/framework/internal/NativeScriptEmbedder.h +29 -0
  6. package/framework/internal/NativeScriptEmbedder.m +25 -0
  7. package/framework/internal/NativeScriptStart.m +7 -8
  8. package/framework/internal/Swift-ObjC-Bridging-Header.h +1 -0
  9. package/framework/internal/XCFrameworks.zip +0 -0
  10. package/framework/internal/macros.h +17 -0
  11. package/framework/internal/metadata-generator-arm64/bin/build-step-metadata-generator.py +14 -0
  12. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/__clang_cuda_complex_builtins.h +3 -3
  13. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_intrinsics.h +38 -6
  14. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/__clang_cuda_libdevice_declares.h +6 -0
  15. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_math.h +1 -1
  16. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_runtime_wrapper.h +61 -2
  17. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/__clang_cuda_texture_intrinsics.h +740 -0
  18. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_runtime_wrapper.h +17 -4
  19. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/__wmmintrin_aes.h +1 -1
  20. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/__wmmintrin_pclmul.h +10 -10
  21. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/altivec.h +677 -328
  22. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/ammintrin.h +4 -0
  23. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/amxintrin.h +17 -18
  24. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/arm_acle.h +6 -0
  25. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/arm_neon.h +8010 -8012
  26. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/arm_sve.h +65 -61
  27. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/avx2intrin.h +189 -189
  28. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512bf16intrin.h +3 -3
  29. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/avx512bwintrin.h +83 -83
  30. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512dqintrin.h +365 -365
  31. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512erintrin.h +102 -102
  32. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/avx512fintrin.h +1625 -1618
  33. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/avx512fp16intrin.h +3349 -0
  34. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/avx512vbmi2intrin.h +48 -48
  35. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlbf16intrin.h +52 -4
  36. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/avx512vlbwintrin.h +102 -102
  37. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/avx512vldqintrin.h +134 -134
  38. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/avx512vlfp16intrin.h +2068 -0
  39. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlintrin.h +596 -610
  40. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlvbmi2intrin.h +96 -96
  41. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/avx512vlvnniintrin.h +24 -24
  42. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/avxintrin.h +254 -222
  43. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avxvnniintrin.h +16 -16
  44. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/bmiintrin.h +6 -2
  45. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/cetintrin.h +20 -4
  46. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cpuid.h +3 -1
  47. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/crc32intrin.h +100 -0
  48. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/emmintrin.h +563 -779
  49. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/f16cintrin.h +4 -4
  50. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/float.h +15 -6
  51. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/gfniintrin.h +47 -48
  52. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/hexagon_protos.h +0 -11
  53. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hexagon_types.h +0 -32
  54. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/hlsl.h +15 -0
  55. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/hlsl_basic_types.h +64 -0
  56. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/hlsl_intrinsics.h +15 -0
  57. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hresetintrin.h +2 -2
  58. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/hvx_hexagon_protos.h +1200 -409
  59. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/ia32intrin.h +17 -17
  60. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/immintrin.h +41 -23
  61. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/intrin.h +34 -35
  62. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/keylockerintrin.h +24 -30
  63. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/limits.h +20 -0
  64. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mm_malloc.h +3 -3
  65. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mmintrin.h +4 -0
  66. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/nmmintrin.h +4 -0
  67. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/opencl-c-base.h +79 -11
  68. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/opencl-c.h +7145 -6131
  69. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/openmp_wrappers/complex +10 -1
  70. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/openmp_wrappers/complex.h +9 -0
  71. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pmmintrin.h +5 -1
  72. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/bmi2intrin.h +134 -0
  73. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/bmiintrin.h +165 -0
  74. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/emmintrin.h +2268 -0
  75. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/immintrin.h +27 -0
  76. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/ppc_wrappers/mm_malloc.h +12 -17
  77. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/ppc_wrappers/mmintrin.h +389 -386
  78. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/pmmintrin.h +145 -0
  79. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/smmintrin.h +663 -0
  80. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/tmmintrin.h +453 -0
  81. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1/include/stdnoreturn.h → metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/x86gprintrin.h} +7 -6
  82. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/x86intrin.h +28 -0
  83. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/xmmintrin.h +1827 -0
  84. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/prfchwintrin.h +5 -2
  85. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/rdpruintrin.h +57 -0
  86. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/rdseedintrin.h +3 -3
  87. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/riscv_vector.h +202 -0
  88. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/rtmintrin.h +1 -1
  89. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/smmintrin.h +258 -360
  90. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdatomic.h +11 -1
  91. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/stdbool.h +9 -6
  92. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stddef.h +1 -1
  93. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/stdint.h +168 -0
  94. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/stdnoreturn.h +29 -0
  95. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tmmintrin.h +10 -6
  96. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/uintrintrin.h +8 -8
  97. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/unwind.h +10 -6
  98. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vaesintrin.h +1 -1
  99. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/velintrin.h +71 -0
  100. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/velintrin_approx.h +120 -0
  101. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/velintrin_gen.h +1257 -0
  102. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vpclmulqdqintrin.h +6 -6
  103. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/wasm_simd128.h +169 -26
  104. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/wmmintrin.h +4 -0
  105. package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/x86gprintrin.h +53 -0
  106. package/framework/internal/{metadata-generator-x86_64/bin/lib/clang/13.0.1 → metadata-generator-arm64/bin/lib/clang/15.0.7}/include/x86intrin.h +4 -0
  107. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xmmintrin.h +18 -8
  108. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xopintrin.h +31 -31
  109. package/framework/internal/metadata-generator-arm64/bin/objc-metadata-generator +0 -0
  110. package/framework/internal/metadata-generator-x86_64/bin/build-step-metadata-generator.py +14 -0
  111. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/__clang_cuda_complex_builtins.h +3 -3
  112. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_intrinsics.h +38 -6
  113. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/__clang_cuda_libdevice_declares.h +6 -0
  114. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_math.h +1 -1
  115. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_runtime_wrapper.h +61 -2
  116. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/__clang_cuda_texture_intrinsics.h +740 -0
  117. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_runtime_wrapper.h +17 -4
  118. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/__wmmintrin_aes.h +1 -1
  119. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/__wmmintrin_pclmul.h +10 -10
  120. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/altivec.h +677 -328
  121. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/ammintrin.h +4 -0
  122. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/amxintrin.h +17 -18
  123. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/arm_acle.h +6 -0
  124. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/arm_neon.h +8010 -8012
  125. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/arm_sve.h +65 -61
  126. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/avx2intrin.h +189 -189
  127. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512bf16intrin.h +3 -3
  128. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/avx512bwintrin.h +83 -83
  129. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512dqintrin.h +365 -365
  130. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512erintrin.h +102 -102
  131. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/avx512fintrin.h +1625 -1618
  132. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/avx512fp16intrin.h +3349 -0
  133. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/avx512vbmi2intrin.h +48 -48
  134. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlbf16intrin.h +52 -4
  135. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/avx512vlbwintrin.h +102 -102
  136. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/avx512vldqintrin.h +134 -134
  137. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/avx512vlfp16intrin.h +2068 -0
  138. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlintrin.h +596 -610
  139. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlvbmi2intrin.h +96 -96
  140. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/avx512vlvnniintrin.h +24 -24
  141. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/avxintrin.h +254 -222
  142. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avxvnniintrin.h +16 -16
  143. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/bmiintrin.h +6 -2
  144. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/cetintrin.h +20 -4
  145. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cpuid.h +3 -1
  146. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/crc32intrin.h +100 -0
  147. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/emmintrin.h +563 -779
  148. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/f16cintrin.h +4 -4
  149. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/float.h +15 -6
  150. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/gfniintrin.h +47 -48
  151. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/hexagon_protos.h +0 -11
  152. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hexagon_types.h +0 -32
  153. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/hlsl.h +15 -0
  154. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/hlsl_basic_types.h +64 -0
  155. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/hlsl_intrinsics.h +15 -0
  156. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hresetintrin.h +2 -2
  157. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/hvx_hexagon_protos.h +1200 -409
  158. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/ia32intrin.h +17 -17
  159. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/immintrin.h +41 -23
  160. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/intrin.h +34 -35
  161. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/keylockerintrin.h +24 -30
  162. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/limits.h +20 -0
  163. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mm_malloc.h +3 -3
  164. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mmintrin.h +4 -0
  165. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/nmmintrin.h +4 -0
  166. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/opencl-c-base.h +79 -11
  167. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/opencl-c.h +7145 -6131
  168. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/openmp_wrappers/complex +10 -1
  169. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/openmp_wrappers/complex.h +9 -0
  170. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pmmintrin.h +5 -1
  171. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/bmi2intrin.h +134 -0
  172. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/bmiintrin.h +165 -0
  173. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/emmintrin.h +2268 -0
  174. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/immintrin.h +27 -0
  175. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/ppc_wrappers/mm_malloc.h +12 -17
  176. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/ppc_wrappers/mmintrin.h +389 -386
  177. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/pmmintrin.h +145 -0
  178. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/smmintrin.h +663 -0
  179. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/tmmintrin.h +453 -0
  180. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1/include/stdnoreturn.h → metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/x86gprintrin.h} +7 -6
  181. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/x86intrin.h +28 -0
  182. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/xmmintrin.h +1827 -0
  183. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/prfchwintrin.h +5 -2
  184. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/rdpruintrin.h +57 -0
  185. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/rdseedintrin.h +3 -3
  186. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/riscv_vector.h +202 -0
  187. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/rtmintrin.h +1 -1
  188. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/smmintrin.h +258 -360
  189. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdatomic.h +11 -1
  190. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/stdbool.h +9 -6
  191. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stddef.h +1 -1
  192. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/stdint.h +168 -0
  193. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/stdnoreturn.h +29 -0
  194. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tmmintrin.h +10 -6
  195. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/uintrintrin.h +8 -8
  196. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/unwind.h +10 -6
  197. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vaesintrin.h +1 -1
  198. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/velintrin.h +71 -0
  199. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/velintrin_approx.h +120 -0
  200. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/velintrin_gen.h +1257 -0
  201. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vpclmulqdqintrin.h +6 -6
  202. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/wasm_simd128.h +169 -26
  203. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/wmmintrin.h +4 -0
  204. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/x86gprintrin.h +53 -0
  205. package/framework/internal/{metadata-generator-arm64/bin/lib/clang/13.0.1 → metadata-generator-x86_64/bin/lib/clang/15.0.7}/include/x86intrin.h +4 -0
  206. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xmmintrin.h +18 -8
  207. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xopintrin.h +31 -31
  208. package/framework/internal/metadata-generator-x86_64/bin/objc-metadata-generator +0 -0
  209. package/framework/internal/nsld.sh +5 -3
  210. package/package.json +4 -3
  211. package/framework/internal/main.m +0 -68
  212. package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/ppc_wrappers/emmintrin.h +0 -2324
  213. package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/ppc_wrappers/pmmintrin.h +0 -150
  214. package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/ppc_wrappers/smmintrin.h +0 -109
  215. package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/ppc_wrappers/tmmintrin.h +0 -495
  216. package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/ppc_wrappers/xmmintrin.h +0 -1843
  217. package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/riscv_vector.h +0 -123865
  218. package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/x86gprintrin.h +0 -23
  219. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/ppc_wrappers/emmintrin.h +0 -2324
  220. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/ppc_wrappers/pmmintrin.h +0 -150
  221. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/ppc_wrappers/smmintrin.h +0 -109
  222. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/ppc_wrappers/tmmintrin.h +0 -495
  223. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/ppc_wrappers/xmmintrin.h +0 -1843
  224. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/riscv_vector.h +0 -123865
  225. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/x86gprintrin.h +0 -23
  226. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_builtin_vars.h +0 -0
  227. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_cmath.h +0 -0
  228. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_device_functions.h +0 -0
  229. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_math_forward_declares.h +0 -0
  230. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_cmath.h +0 -0
  231. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_libdevice_declares.h +0 -0
  232. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_math.h +0 -0
  233. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__stddef_max_align_t.h +0 -0
  234. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/adxintrin.h +0 -0
  235. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm64intr.h +0 -0
  236. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_bf16.h +0 -0
  237. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_cde.h +0 -0
  238. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_cmse.h +0 -0
  239. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_fp16.h +89 -89
  240. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_mve.h +0 -0
  241. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/armintr.h +0 -0
  242. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512bitalgintrin.h +0 -0
  243. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512cdintrin.h +0 -0
  244. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512ifmaintrin.h +0 -0
  245. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512ifmavlintrin.h +0 -0
  246. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512pfintrin.h +0 -0
  247. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vbmiintrin.h +0 -0
  248. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vbmivlintrin.h +0 -0
  249. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlbitalgintrin.h +0 -0
  250. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlcdintrin.h +0 -0
  251. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlvp2intersectintrin.h +0 -0
  252. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vnniintrin.h +0 -0
  253. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vp2intersectintrin.h +0 -0
  254. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vpopcntdqintrin.h +0 -0
  255. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vpopcntdqvlintrin.h +0 -0
  256. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/bmi2intrin.h +0 -0
  257. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/builtins.h +0 -0
  258. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cet.h +0 -0
  259. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cldemoteintrin.h +0 -0
  260. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clflushoptintrin.h +0 -0
  261. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clwbintrin.h +0 -0
  262. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clzerointrin.h +0 -0
  263. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/algorithm +0 -0
  264. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/complex +0 -0
  265. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/new +0 -0
  266. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/enqcmdintrin.h +0 -0
  267. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fma4intrin.h +0 -0
  268. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fmaintrin.h +0 -0
  269. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fxsrintrin.h +0 -0
  270. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hexagon_circ_brev_intrinsics.h +0 -0
  271. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/htmintrin.h +0 -0
  272. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/htmxlintrin.h +0 -0
  273. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/inttypes.h +0 -0
  274. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/invpcidintrin.h +0 -0
  275. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/iso646.h +0 -0
  276. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/lwpintrin.h +0 -0
  277. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/lzcntintrin.h +0 -0
  278. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mm3dnow.h +0 -0
  279. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/module.modulemap +0 -0
  280. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/movdirintrin.h +0 -0
  281. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/msa.h +0 -0
  282. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mwaitxintrin.h +0 -0
  283. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  284. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/cmath +0 -0
  285. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/complex_cmath.h +0 -0
  286. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/math.h +0 -0
  287. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/new +0 -0
  288. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pconfigintrin.h +0 -0
  289. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pkuintrin.h +0 -0
  290. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/popcntintrin.h +0 -0
  291. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/ptwriteintrin.h +0 -0
  292. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/s390intrin.h +0 -0
  293. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/serializeintrin.h +0 -0
  294. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/sgxintrin.h +0 -0
  295. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/shaintrin.h +0 -0
  296. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdalign.h +0 -0
  297. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdarg.h +0 -0
  298. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tbmintrin.h +0 -0
  299. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tgmath.h +0 -0
  300. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tsxldtrkintrin.h +0 -0
  301. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vadefs.h +0 -0
  302. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/varargs.h +0 -0
  303. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vecintrin.h +0 -0
  304. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/waitpkgintrin.h +0 -0
  305. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/wbnoinvdintrin.h +0 -0
  306. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsavecintrin.h +0 -0
  307. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsaveintrin.h +0 -0
  308. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsaveoptintrin.h +0 -0
  309. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsavesintrin.h +0 -0
  310. package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xtestintrin.h +0 -0
  311. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_builtin_vars.h +0 -0
  312. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_cmath.h +0 -0
  313. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_device_functions.h +0 -0
  314. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_math_forward_declares.h +0 -0
  315. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_cmath.h +0 -0
  316. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_libdevice_declares.h +0 -0
  317. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_math.h +0 -0
  318. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__stddef_max_align_t.h +0 -0
  319. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/adxintrin.h +0 -0
  320. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm64intr.h +0 -0
  321. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_bf16.h +0 -0
  322. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_cde.h +0 -0
  323. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_cmse.h +0 -0
  324. package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_fp16.h +89 -89
  325. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_mve.h +0 -0
  326. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/armintr.h +0 -0
  327. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512bitalgintrin.h +0 -0
  328. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512cdintrin.h +0 -0
  329. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512ifmaintrin.h +0 -0
  330. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512ifmavlintrin.h +0 -0
  331. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512pfintrin.h +0 -0
  332. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vbmiintrin.h +0 -0
  333. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vbmivlintrin.h +0 -0
  334. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlbitalgintrin.h +0 -0
  335. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlcdintrin.h +0 -0
  336. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlvp2intersectintrin.h +0 -0
  337. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vnniintrin.h +0 -0
  338. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vp2intersectintrin.h +0 -0
  339. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vpopcntdqintrin.h +0 -0
  340. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vpopcntdqvlintrin.h +0 -0
  341. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/bmi2intrin.h +0 -0
  342. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/builtins.h +0 -0
  343. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cet.h +0 -0
  344. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cldemoteintrin.h +0 -0
  345. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clflushoptintrin.h +0 -0
  346. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clwbintrin.h +0 -0
  347. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clzerointrin.h +0 -0
  348. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/algorithm +0 -0
  349. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/complex +0 -0
  350. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/new +0 -0
  351. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/enqcmdintrin.h +0 -0
  352. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fma4intrin.h +0 -0
  353. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fmaintrin.h +0 -0
  354. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fxsrintrin.h +0 -0
  355. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hexagon_circ_brev_intrinsics.h +0 -0
  356. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/htmintrin.h +0 -0
  357. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/htmxlintrin.h +0 -0
  358. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/inttypes.h +0 -0
  359. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/invpcidintrin.h +0 -0
  360. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/iso646.h +0 -0
  361. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/lwpintrin.h +0 -0
  362. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/lzcntintrin.h +0 -0
  363. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mm3dnow.h +0 -0
  364. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/module.modulemap +0 -0
  365. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/movdirintrin.h +0 -0
  366. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/msa.h +0 -0
  367. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mwaitxintrin.h +0 -0
  368. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  369. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/cmath +0 -0
  370. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/complex_cmath.h +0 -0
  371. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/math.h +0 -0
  372. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/new +0 -0
  373. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pconfigintrin.h +0 -0
  374. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pkuintrin.h +0 -0
  375. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/popcntintrin.h +0 -0
  376. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/ptwriteintrin.h +0 -0
  377. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/s390intrin.h +0 -0
  378. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/serializeintrin.h +0 -0
  379. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/sgxintrin.h +0 -0
  380. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/shaintrin.h +0 -0
  381. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdalign.h +0 -0
  382. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdarg.h +0 -0
  383. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tbmintrin.h +0 -0
  384. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tgmath.h +0 -0
  385. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tsxldtrkintrin.h +0 -0
  386. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vadefs.h +0 -0
  387. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/varargs.h +0 -0
  388. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vecintrin.h +0 -0
  389. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/waitpkgintrin.h +0 -0
  390. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/wbnoinvdintrin.h +0 -0
  391. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsavecintrin.h +0 -0
  392. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsaveintrin.h +0 -0
  393. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsaveoptintrin.h +0 -0
  394. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsavesintrin.h +0 -0
  395. /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xtestintrin.h +0 -0
@@ -19,6 +19,10 @@
19
19
  #define __CR6_EQ_REV 1
20
20
  #define __CR6_LT 2
21
21
  #define __CR6_LT_REV 3
22
+ #define __CR6_GT 4
23
+ #define __CR6_GT_REV 5
24
+ #define __CR6_SO 6
25
+ #define __CR6_SO_REV 7
22
26
 
23
27
  /* Constants for vec_test_data_class */
24
28
  #define __VEC_CLASS_FP_SUBNORMAL_N (1 << 0)
@@ -307,7 +311,7 @@ vec_add(vector unsigned __int128 __a, vector unsigned __int128 __b) {
307
311
 
308
312
  static __inline__ vector unsigned char __attribute__((__always_inline__))
309
313
  vec_add_u128(vector unsigned char __a, vector unsigned char __b) {
310
- return __builtin_altivec_vadduqm(__a, __b);
314
+ return (vector unsigned char)__builtin_altivec_vadduqm(__a, __b);
311
315
  }
312
316
  #elif defined(__VSX__)
313
317
  static __inline__ vector signed long long __ATTRS_o_ai
@@ -321,9 +325,9 @@ vec_add(vector signed long long __a, vector signed long long __b) {
321
325
  (vector unsigned int)__a + (vector unsigned int)__b;
322
326
  vector unsigned int __carry = __builtin_altivec_vaddcuw(
323
327
  (vector unsigned int)__a, (vector unsigned int)__b);
324
- __carry = __builtin_shufflevector((vector unsigned char)__carry,
325
- (vector unsigned char)__carry, 0, 0, 0, 7,
326
- 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0);
328
+ __carry = (vector unsigned int)__builtin_shufflevector(
329
+ (vector unsigned char)__carry, (vector unsigned char)__carry, 0, 0, 0, 7,
330
+ 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0);
327
331
  return (vector signed long long)(__res + __carry);
328
332
  #endif
329
333
  }
@@ -354,7 +358,9 @@ static __inline__ vector double __ATTRS_o_ai vec_add(vector double __a,
354
358
  static __inline__ vector signed __int128 __ATTRS_o_ai
355
359
  vec_adde(vector signed __int128 __a, vector signed __int128 __b,
356
360
  vector signed __int128 __c) {
357
- return __builtin_altivec_vaddeuqm(__a, __b, __c);
361
+ return (vector signed __int128)__builtin_altivec_vaddeuqm(
362
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b,
363
+ (vector unsigned __int128)__c);
358
364
  }
359
365
 
360
366
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -367,7 +373,9 @@ vec_adde(vector unsigned __int128 __a, vector unsigned __int128 __b,
367
373
  static __inline__ vector unsigned char __attribute__((__always_inline__))
368
374
  vec_adde_u128(vector unsigned char __a, vector unsigned char __b,
369
375
  vector unsigned char __c) {
370
- return (vector unsigned char)__builtin_altivec_vaddeuqm(__a, __b, __c);
376
+ return (vector unsigned char)__builtin_altivec_vaddeuqm_c(
377
+ (vector unsigned char)__a, (vector unsigned char)__b,
378
+ (vector unsigned char)__c);
371
379
  }
372
380
  #endif
373
381
 
@@ -394,7 +402,9 @@ vec_adde(vector unsigned int __a, vector unsigned int __b,
394
402
  static __inline__ vector signed __int128 __ATTRS_o_ai
395
403
  vec_addec(vector signed __int128 __a, vector signed __int128 __b,
396
404
  vector signed __int128 __c) {
397
- return __builtin_altivec_vaddecuq(__a, __b, __c);
405
+ return (vector signed __int128)__builtin_altivec_vaddecuq(
406
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b,
407
+ (vector unsigned __int128)__c);
398
408
  }
399
409
 
400
410
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -407,7 +417,9 @@ vec_addec(vector unsigned __int128 __a, vector unsigned __int128 __b,
407
417
  static __inline__ vector unsigned char __attribute__((__always_inline__))
408
418
  vec_addec_u128(vector unsigned char __a, vector unsigned char __b,
409
419
  vector unsigned char __c) {
410
- return (vector unsigned char)__builtin_altivec_vaddecuq(__a, __b, __c);
420
+ return (vector unsigned char)__builtin_altivec_vaddecuq_c(
421
+ (vector unsigned char)__a, (vector unsigned char)__b,
422
+ (vector unsigned char)__c);
411
423
  }
412
424
 
413
425
  #ifdef __powerpc64__
@@ -596,7 +608,8 @@ vec_addc(vector unsigned __int128 __a, vector unsigned __int128 __b) {
596
608
 
597
609
  static __inline__ vector unsigned char __attribute__((__always_inline__))
598
610
  vec_addc_u128(vector unsigned char __a, vector unsigned char __b) {
599
- return (vector unsigned char)__builtin_altivec_vaddcuq(__a, __b);
611
+ return (vector unsigned char)__builtin_altivec_vaddcuq_c(
612
+ (vector unsigned char)__a, (vector unsigned char)__b);
600
613
  }
601
614
  #endif // defined(__POWER8_VECTOR__) && defined(__powerpc64__)
602
615
 
@@ -820,7 +833,9 @@ vec_vadduqm(vector unsigned __int128 __a, vector unsigned __int128 __b) {
820
833
  static __inline__ vector signed __int128 __ATTRS_o_ai
821
834
  vec_vaddeuqm(vector signed __int128 __a, vector signed __int128 __b,
822
835
  vector signed __int128 __c) {
823
- return __builtin_altivec_vaddeuqm(__a, __b, __c);
836
+ return (vector signed __int128)__builtin_altivec_vaddeuqm(
837
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b,
838
+ (vector unsigned __int128)__c);
824
839
  }
825
840
 
826
841
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -833,7 +848,8 @@ vec_vaddeuqm(vector unsigned __int128 __a, vector unsigned __int128 __b,
833
848
 
834
849
  static __inline__ vector signed __int128 __ATTRS_o_ai
835
850
  vec_vaddcuq(vector signed __int128 __a, vector signed __int128 __b) {
836
- return __builtin_altivec_vaddcuq(__a, __b);
851
+ return (vector signed __int128)__builtin_altivec_vaddcuq(
852
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b);
837
853
  }
838
854
 
839
855
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -846,7 +862,9 @@ vec_vaddcuq(vector unsigned __int128 __a, vector unsigned __int128 __b) {
846
862
  static __inline__ vector signed __int128 __ATTRS_o_ai
847
863
  vec_vaddecuq(vector signed __int128 __a, vector signed __int128 __b,
848
864
  vector signed __int128 __c) {
849
- return __builtin_altivec_vaddecuq(__a, __b, __c);
865
+ return (vector signed __int128)__builtin_altivec_vaddecuq(
866
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b,
867
+ (vector unsigned __int128)__c);
850
868
  }
851
869
 
852
870
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -1802,13 +1820,19 @@ vec_cmpeq(vector double __a, vector double __b) {
1802
1820
  static __inline__ vector bool __int128 __ATTRS_o_ai
1803
1821
  vec_cmpeq(vector signed __int128 __a, vector signed __int128 __b) {
1804
1822
  return (vector bool __int128)__builtin_altivec_vcmpequq(
1805
- (vector bool __int128)__a, (vector bool __int128)__b);
1823
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b);
1806
1824
  }
1807
1825
 
1808
1826
  static __inline__ vector bool __int128 __ATTRS_o_ai
1809
1827
  vec_cmpeq(vector unsigned __int128 __a, vector unsigned __int128 __b) {
1810
1828
  return (vector bool __int128)__builtin_altivec_vcmpequq(
1811
- (vector bool __int128)__a, (vector bool __int128)__b);
1829
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b);
1830
+ }
1831
+
1832
+ static __inline__ vector bool __int128 __ATTRS_o_ai
1833
+ vec_cmpeq(vector bool __int128 __a, vector bool __int128 __b) {
1834
+ return (vector bool __int128)__builtin_altivec_vcmpequq(
1835
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b);
1812
1836
  }
1813
1837
  #endif
1814
1838
 
@@ -1878,14 +1902,20 @@ vec_cmpne(vector float __a, vector float __b) {
1878
1902
  #if defined(__POWER10_VECTOR__) && defined(__SIZEOF_INT128__)
1879
1903
  static __inline__ vector bool __int128 __ATTRS_o_ai
1880
1904
  vec_cmpne(vector unsigned __int128 __a, vector unsigned __int128 __b) {
1881
- return (vector bool __int128) ~(__builtin_altivec_vcmpequq(
1882
- (vector bool __int128)__a, (vector bool __int128)__b));
1905
+ return (vector bool __int128)~(__builtin_altivec_vcmpequq(
1906
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b));
1883
1907
  }
1884
1908
 
1885
1909
  static __inline__ vector bool __int128 __ATTRS_o_ai
1886
1910
  vec_cmpne(vector signed __int128 __a, vector signed __int128 __b) {
1887
- return (vector bool __int128) ~(__builtin_altivec_vcmpequq(
1888
- (vector bool __int128)__a, (vector bool __int128)__b));
1911
+ return (vector bool __int128)~(__builtin_altivec_vcmpequq(
1912
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b));
1913
+ }
1914
+
1915
+ static __inline__ vector bool __int128 __ATTRS_o_ai
1916
+ vec_cmpne(vector bool __int128 __a, vector bool __int128 __b) {
1917
+ return (vector bool __int128)~(__builtin_altivec_vcmpequq(
1918
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b));
1889
1919
  }
1890
1920
  #endif
1891
1921
 
@@ -1930,16 +1960,16 @@ vec_cmpnez(vector unsigned int __a, vector unsigned int __b) {
1930
1960
  static __inline__ signed int __ATTRS_o_ai
1931
1961
  vec_cntlz_lsbb(vector signed char __a) {
1932
1962
  #ifdef __LITTLE_ENDIAN__
1933
- return __builtin_altivec_vctzlsbb(__a);
1963
+ return __builtin_altivec_vctzlsbb((vector unsigned char)__a);
1934
1964
  #else
1935
- return __builtin_altivec_vclzlsbb(__a);
1965
+ return __builtin_altivec_vclzlsbb((vector unsigned char)__a);
1936
1966
  #endif
1937
1967
  }
1938
1968
 
1939
1969
  static __inline__ signed int __ATTRS_o_ai
1940
1970
  vec_cntlz_lsbb(vector unsigned char __a) {
1941
1971
  #ifdef __LITTLE_ENDIAN__
1942
- return __builtin_altivec_vctzlsbb(__a);
1972
+ return __builtin_altivec_vctzlsbb((vector unsigned char)__a);
1943
1973
  #else
1944
1974
  return __builtin_altivec_vclzlsbb(__a);
1945
1975
  #endif
@@ -1948,9 +1978,9 @@ vec_cntlz_lsbb(vector unsigned char __a) {
1948
1978
  static __inline__ signed int __ATTRS_o_ai
1949
1979
  vec_cnttz_lsbb(vector signed char __a) {
1950
1980
  #ifdef __LITTLE_ENDIAN__
1951
- return __builtin_altivec_vclzlsbb(__a);
1981
+ return __builtin_altivec_vclzlsbb((vector unsigned char)__a);
1952
1982
  #else
1953
- return __builtin_altivec_vctzlsbb(__a);
1983
+ return __builtin_altivec_vctzlsbb((vector unsigned char)__a);
1954
1984
  #endif
1955
1985
  }
1956
1986
 
@@ -1970,7 +2000,7 @@ vec_parity_lsbb(vector unsigned int __a) {
1970
2000
 
1971
2001
  static __inline__ vector unsigned int __ATTRS_o_ai
1972
2002
  vec_parity_lsbb(vector signed int __a) {
1973
- return __builtin_altivec_vprtybw(__a);
2003
+ return __builtin_altivec_vprtybw((vector unsigned int)__a);
1974
2004
  }
1975
2005
 
1976
2006
  #ifdef __SIZEOF_INT128__
@@ -1981,7 +2011,7 @@ vec_parity_lsbb(vector unsigned __int128 __a) {
1981
2011
 
1982
2012
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
1983
2013
  vec_parity_lsbb(vector signed __int128 __a) {
1984
- return __builtin_altivec_vprtybq(__a);
2014
+ return __builtin_altivec_vprtybq((vector unsigned __int128)__a);
1985
2015
  }
1986
2016
  #endif
1987
2017
 
@@ -1992,7 +2022,7 @@ vec_parity_lsbb(vector unsigned long long __a) {
1992
2022
 
1993
2023
  static __inline__ vector unsigned long long __ATTRS_o_ai
1994
2024
  vec_parity_lsbb(vector signed long long __a) {
1995
- return __builtin_altivec_vprtybd(__a);
2025
+ return __builtin_altivec_vprtybd((vector unsigned long long)__a);
1996
2026
  }
1997
2027
 
1998
2028
  #else
@@ -2198,14 +2228,12 @@ vec_cmpgt(vector double __a, vector double __b) {
2198
2228
  #if defined(__POWER10_VECTOR__) && defined(__SIZEOF_INT128__)
2199
2229
  static __inline__ vector bool __int128 __ATTRS_o_ai
2200
2230
  vec_cmpgt(vector signed __int128 __a, vector signed __int128 __b) {
2201
- return (vector bool __int128)__builtin_altivec_vcmpgtsq(
2202
- (vector bool __int128)__a, (vector bool __int128)__b);
2231
+ return (vector bool __int128)__builtin_altivec_vcmpgtsq(__a, __b);
2203
2232
  }
2204
2233
 
2205
2234
  static __inline__ vector bool __int128 __ATTRS_o_ai
2206
2235
  vec_cmpgt(vector unsigned __int128 __a, vector unsigned __int128 __b) {
2207
- return (vector bool __int128)__builtin_altivec_vcmpgtuq(
2208
- (vector bool __int128)__a, (vector bool __int128)__b);
2236
+ return (vector bool __int128)__builtin_altivec_vcmpgtuq(__a, __b);
2209
2237
  }
2210
2238
  #endif
2211
2239
 
@@ -2472,33 +2500,35 @@ vec_cmplt(vector unsigned long long __a, vector unsigned long long __b) {
2472
2500
  #ifdef __POWER8_VECTOR__
2473
2501
  /* vec_popcnt */
2474
2502
 
2475
- static __inline__ vector signed char __ATTRS_o_ai
2503
+ static __inline__ vector unsigned char __ATTRS_o_ai
2476
2504
  vec_popcnt(vector signed char __a) {
2477
- return __builtin_altivec_vpopcntb(__a);
2505
+ return (vector unsigned char)__builtin_altivec_vpopcntb(
2506
+ (vector unsigned char)__a);
2478
2507
  }
2479
2508
  static __inline__ vector unsigned char __ATTRS_o_ai
2480
2509
  vec_popcnt(vector unsigned char __a) {
2481
2510
  return __builtin_altivec_vpopcntb(__a);
2482
2511
  }
2483
- static __inline__ vector signed short __ATTRS_o_ai
2512
+ static __inline__ vector unsigned short __ATTRS_o_ai
2484
2513
  vec_popcnt(vector signed short __a) {
2485
- return __builtin_altivec_vpopcnth(__a);
2514
+ return (vector unsigned short)__builtin_altivec_vpopcnth(
2515
+ (vector unsigned short)__a);
2486
2516
  }
2487
2517
  static __inline__ vector unsigned short __ATTRS_o_ai
2488
2518
  vec_popcnt(vector unsigned short __a) {
2489
2519
  return __builtin_altivec_vpopcnth(__a);
2490
2520
  }
2491
- static __inline__ vector signed int __ATTRS_o_ai
2521
+ static __inline__ vector unsigned int __ATTRS_o_ai
2492
2522
  vec_popcnt(vector signed int __a) {
2493
- return __builtin_altivec_vpopcntw(__a);
2523
+ return __builtin_altivec_vpopcntw((vector unsigned int)__a);
2494
2524
  }
2495
2525
  static __inline__ vector unsigned int __ATTRS_o_ai
2496
2526
  vec_popcnt(vector unsigned int __a) {
2497
2527
  return __builtin_altivec_vpopcntw(__a);
2498
2528
  }
2499
- static __inline__ vector signed long long __ATTRS_o_ai
2529
+ static __inline__ vector unsigned long long __ATTRS_o_ai
2500
2530
  vec_popcnt(vector signed long long __a) {
2501
- return __builtin_altivec_vpopcntd(__a);
2531
+ return __builtin_altivec_vpopcntd((vector unsigned long long)__a);
2502
2532
  }
2503
2533
  static __inline__ vector unsigned long long __ATTRS_o_ai
2504
2534
  vec_popcnt(vector unsigned long long __a) {
@@ -2510,7 +2540,7 @@ vec_popcnt(vector unsigned long long __a) {
2510
2540
 
2511
2541
  static __inline__ vector signed char __ATTRS_o_ai
2512
2542
  vec_cntlz(vector signed char __a) {
2513
- return __builtin_altivec_vclzb(__a);
2543
+ return (vector signed char)__builtin_altivec_vclzb((vector unsigned char)__a);
2514
2544
  }
2515
2545
  static __inline__ vector unsigned char __ATTRS_o_ai
2516
2546
  vec_cntlz(vector unsigned char __a) {
@@ -2518,7 +2548,8 @@ vec_cntlz(vector unsigned char __a) {
2518
2548
  }
2519
2549
  static __inline__ vector signed short __ATTRS_o_ai
2520
2550
  vec_cntlz(vector signed short __a) {
2521
- return __builtin_altivec_vclzh(__a);
2551
+ return (vector signed short)__builtin_altivec_vclzh(
2552
+ (vector unsigned short)__a);
2522
2553
  }
2523
2554
  static __inline__ vector unsigned short __ATTRS_o_ai
2524
2555
  vec_cntlz(vector unsigned short __a) {
@@ -2526,7 +2557,7 @@ vec_cntlz(vector unsigned short __a) {
2526
2557
  }
2527
2558
  static __inline__ vector signed int __ATTRS_o_ai
2528
2559
  vec_cntlz(vector signed int __a) {
2529
- return __builtin_altivec_vclzw(__a);
2560
+ return (vector signed int)__builtin_altivec_vclzw((vector unsigned int)__a);
2530
2561
  }
2531
2562
  static __inline__ vector unsigned int __ATTRS_o_ai
2532
2563
  vec_cntlz(vector unsigned int __a) {
@@ -2534,7 +2565,8 @@ vec_cntlz(vector unsigned int __a) {
2534
2565
  }
2535
2566
  static __inline__ vector signed long long __ATTRS_o_ai
2536
2567
  vec_cntlz(vector signed long long __a) {
2537
- return __builtin_altivec_vclzd(__a);
2568
+ return (vector signed long long)__builtin_altivec_vclzd(
2569
+ (vector unsigned long long)__a);
2538
2570
  }
2539
2571
  static __inline__ vector unsigned long long __ATTRS_o_ai
2540
2572
  vec_cntlz(vector unsigned long long __a) {
@@ -2548,7 +2580,7 @@ vec_cntlz(vector unsigned long long __a) {
2548
2580
 
2549
2581
  static __inline__ vector signed char __ATTRS_o_ai
2550
2582
  vec_cnttz(vector signed char __a) {
2551
- return __builtin_altivec_vctzb(__a);
2583
+ return (vector signed char)__builtin_altivec_vctzb((vector unsigned char)__a);
2552
2584
  }
2553
2585
  static __inline__ vector unsigned char __ATTRS_o_ai
2554
2586
  vec_cnttz(vector unsigned char __a) {
@@ -2556,7 +2588,8 @@ vec_cnttz(vector unsigned char __a) {
2556
2588
  }
2557
2589
  static __inline__ vector signed short __ATTRS_o_ai
2558
2590
  vec_cnttz(vector signed short __a) {
2559
- return __builtin_altivec_vctzh(__a);
2591
+ return (vector signed short)__builtin_altivec_vctzh(
2592
+ (vector unsigned short)__a);
2560
2593
  }
2561
2594
  static __inline__ vector unsigned short __ATTRS_o_ai
2562
2595
  vec_cnttz(vector unsigned short __a) {
@@ -2564,7 +2597,7 @@ vec_cnttz(vector unsigned short __a) {
2564
2597
  }
2565
2598
  static __inline__ vector signed int __ATTRS_o_ai
2566
2599
  vec_cnttz(vector signed int __a) {
2567
- return __builtin_altivec_vctzw(__a);
2600
+ return (vector signed int)__builtin_altivec_vctzw((vector unsigned int)__a);
2568
2601
  }
2569
2602
  static __inline__ vector unsigned int __ATTRS_o_ai
2570
2603
  vec_cnttz(vector unsigned int __a) {
@@ -2572,7 +2605,8 @@ vec_cnttz(vector unsigned int __a) {
2572
2605
  }
2573
2606
  static __inline__ vector signed long long __ATTRS_o_ai
2574
2607
  vec_cnttz(vector signed long long __a) {
2575
- return __builtin_altivec_vctzd(__a);
2608
+ return (vector signed long long)__builtin_altivec_vctzd(
2609
+ (vector unsigned long long)__a);
2576
2610
  }
2577
2611
  static __inline__ vector unsigned long long __ATTRS_o_ai
2578
2612
  vec_cnttz(vector unsigned long long __a) {
@@ -3049,13 +3083,10 @@ static __inline__ vector unsigned char __ATTRS_o_ai
3049
3083
  vec_xl_len_r(const unsigned char *__a, size_t __b) {
3050
3084
  vector unsigned char __res =
3051
3085
  (vector unsigned char)__builtin_vsx_lxvll(__a, (__b << 56));
3052
- #ifdef __LITTLE_ENDIAN__
3053
3086
  vector unsigned char __mask =
3054
3087
  (vector unsigned char)__builtin_altivec_lvsr(16 - __b, (int *)NULL);
3055
- __res = (vector unsigned char)__builtin_altivec_vperm_4si(
3088
+ return (vector unsigned char)__builtin_altivec_vperm_4si(
3056
3089
  (vector int)__res, (vector int)__res, __mask);
3057
- #endif
3058
- return __res;
3059
3090
  }
3060
3091
 
3061
3092
  // vec_xst_len
@@ -3130,15 +3161,12 @@ static __inline__ void __ATTRS_o_ai vec_xst_len(vector double __a, double *__b,
3130
3161
  static __inline__ void __ATTRS_o_ai vec_xst_len_r(vector unsigned char __a,
3131
3162
  unsigned char *__b,
3132
3163
  size_t __c) {
3133
- #ifdef __LITTLE_ENDIAN__
3134
3164
  vector unsigned char __mask =
3135
3165
  (vector unsigned char)__builtin_altivec_lvsl(16 - __c, (int *)NULL);
3136
3166
  vector unsigned char __res =
3137
- __builtin_altivec_vperm_4si((vector int)__a, (vector int)__a, __mask);
3167
+ (vector unsigned char)__builtin_altivec_vperm_4si(
3168
+ (vector int)__a, (vector int)__a, __mask);
3138
3169
  return __builtin_vsx_stxvll((vector int)__res, __b, (__c << 56));
3139
- #else
3140
- return __builtin_vsx_stxvll((vector int)__a, __b, (__c << 56));
3141
- #endif
3142
3170
  }
3143
3171
  #endif
3144
3172
  #endif
@@ -3174,34 +3202,40 @@ static __inline__ vector double __ATTRS_o_ai vec_cpsgn(vector double __a,
3174
3202
  // the XL-compatible signatures are used for those functions.
3175
3203
  #ifdef __XL_COMPAT_ALTIVEC__
3176
3204
  #define vec_ctf(__a, __b) \
3177
- _Generic((__a), vector int \
3178
- : (vector float)__builtin_altivec_vcfsx((vector int)(__a), (__b)), \
3179
- vector unsigned int \
3180
- : (vector float)__builtin_altivec_vcfux((vector unsigned int)(__a), \
3181
- (__b)), \
3182
- vector unsigned long long \
3183
- : (__builtin_vsx_xvcvuxdsp((vector unsigned long long)(__a)) * \
3184
- (vector float)(vector unsigned)((0x7f - (__b)) << 23)), \
3185
- vector signed long long \
3186
- : (__builtin_vsx_xvcvsxdsp((vector signed long long)(__a)) * \
3187
- (vector float)(vector unsigned)((0x7f - (__b)) << 23)))
3205
+ _Generic( \
3206
+ (__a), vector int \
3207
+ : (vector float)__builtin_altivec_vcfsx((vector int)(__a), (__b)), \
3208
+ vector unsigned int \
3209
+ : (vector float)__builtin_altivec_vcfux((vector unsigned int)(__a), \
3210
+ (__b)), \
3211
+ vector unsigned long long \
3212
+ : (vector float)(__builtin_vsx_xvcvuxdsp( \
3213
+ (vector unsigned long long)(__a)) * \
3214
+ (vector float)(vector unsigned)((0x7f - (__b)) << 23)), \
3215
+ vector signed long long \
3216
+ : (vector float)(__builtin_vsx_xvcvsxdsp( \
3217
+ (vector signed long long)(__a)) * \
3218
+ (vector float)(vector unsigned)((0x7f - (__b)) << 23)))
3188
3219
  #else // __XL_COMPAT_ALTIVEC__
3189
3220
  #define vec_ctf(__a, __b) \
3190
- _Generic((__a), vector int \
3191
- : (vector float)__builtin_altivec_vcfsx((vector int)(__a), (__b)), \
3192
- vector unsigned int \
3193
- : (vector float)__builtin_altivec_vcfux((vector unsigned int)(__a), \
3194
- (__b)), \
3195
- vector unsigned long long \
3196
- : (__builtin_convertvector((vector unsigned long long)(__a), \
3197
- vector double) * \
3198
- (vector double)(vector unsigned long long)((0x3ffULL - (__b)) \
3199
- << 52)), \
3200
- vector signed long long \
3201
- : (__builtin_convertvector((vector signed long long)(__a), \
3202
- vector double) * \
3203
- (vector double)(vector unsigned long long)((0x3ffULL - (__b)) \
3204
- << 52)))
3221
+ _Generic( \
3222
+ (__a), vector int \
3223
+ : (vector float)__builtin_altivec_vcfsx((vector int)(__a), (__b)), \
3224
+ vector unsigned int \
3225
+ : (vector float)__builtin_altivec_vcfux((vector unsigned int)(__a), \
3226
+ (__b)), \
3227
+ vector unsigned long long \
3228
+ : (vector float)(__builtin_convertvector( \
3229
+ (vector unsigned long long)(__a), vector double) * \
3230
+ (vector double)(vector unsigned long long)((0x3ffULL - \
3231
+ (__b)) \
3232
+ << 52)), \
3233
+ vector signed long long \
3234
+ : (vector float)(__builtin_convertvector((vector signed long long)(__a), \
3235
+ vector double) * \
3236
+ (vector double)(vector unsigned long long)((0x3ffULL - \
3237
+ (__b)) \
3238
+ << 52)))
3205
3239
  #endif // __XL_COMPAT_ALTIVEC__
3206
3240
  #else
3207
3241
  #define vec_ctf(__a, __b) \
@@ -3248,26 +3282,29 @@ static __inline__ vector double __ATTRS_o_ai vec_cpsgn(vector double __a,
3248
3282
  #ifdef __XL_COMPAT_ALTIVEC__
3249
3283
  #define vec_cts(__a, __b) \
3250
3284
  _Generic((__a), vector float \
3251
- : __builtin_altivec_vctsxs((vector float)(__a), (__b)), \
3285
+ : (vector signed int)__builtin_altivec_vctsxs((vector float)(__a), \
3286
+ (__b)), \
3252
3287
  vector double \
3253
3288
  : __extension__({ \
3254
3289
  vector double __ret = \
3255
3290
  (vector double)(__a) * \
3256
3291
  (vector double)(vector unsigned long long)((0x3ffULL + (__b)) \
3257
3292
  << 52); \
3258
- __builtin_vsx_xvcvdpsxws(__ret); \
3293
+ (vector signed long long)__builtin_vsx_xvcvdpsxws(__ret); \
3259
3294
  }))
3260
3295
  #else // __XL_COMPAT_ALTIVEC__
3261
3296
  #define vec_cts(__a, __b) \
3262
3297
  _Generic((__a), vector float \
3263
- : __builtin_altivec_vctsxs((vector float)(__a), (__b)), \
3298
+ : (vector signed int)__builtin_altivec_vctsxs((vector float)(__a), \
3299
+ (__b)), \
3264
3300
  vector double \
3265
3301
  : __extension__({ \
3266
3302
  vector double __ret = \
3267
3303
  (vector double)(__a) * \
3268
3304
  (vector double)(vector unsigned long long)((0x3ffULL + (__b)) \
3269
3305
  << 52); \
3270
- __builtin_convertvector(__ret, vector signed long long); \
3306
+ (vector signed long long)__builtin_convertvector( \
3307
+ __ret, vector signed long long); \
3271
3308
  }))
3272
3309
  #endif // __XL_COMPAT_ALTIVEC__
3273
3310
  #else
@@ -3284,26 +3321,29 @@ static __inline__ vector double __ATTRS_o_ai vec_cpsgn(vector double __a,
3284
3321
  #ifdef __XL_COMPAT_ALTIVEC__
3285
3322
  #define vec_ctu(__a, __b) \
3286
3323
  _Generic((__a), vector float \
3287
- : __builtin_altivec_vctuxs((vector float)(__a), (__b)), \
3324
+ : (vector unsigned int)__builtin_altivec_vctuxs( \
3325
+ (vector float)(__a), (__b)), \
3288
3326
  vector double \
3289
3327
  : __extension__({ \
3290
3328
  vector double __ret = \
3291
3329
  (vector double)(__a) * \
3292
3330
  (vector double)(vector unsigned long long)((0x3ffULL + __b) \
3293
3331
  << 52); \
3294
- __builtin_vsx_xvcvdpuxws(__ret); \
3332
+ (vector unsigned long long)__builtin_vsx_xvcvdpuxws(__ret); \
3295
3333
  }))
3296
3334
  #else // __XL_COMPAT_ALTIVEC__
3297
3335
  #define vec_ctu(__a, __b) \
3298
3336
  _Generic((__a), vector float \
3299
- : __builtin_altivec_vctuxs((vector float)(__a), (__b)), \
3337
+ : (vector unsigned int)__builtin_altivec_vctuxs( \
3338
+ (vector float)(__a), (__b)), \
3300
3339
  vector double \
3301
3340
  : __extension__({ \
3302
3341
  vector double __ret = \
3303
3342
  (vector double)(__a) * \
3304
3343
  (vector double)(vector unsigned long long)((0x3ffULL + __b) \
3305
3344
  << 52); \
3306
- __builtin_convertvector(__ret, vector unsigned long long); \
3345
+ (vector unsigned long long)__builtin_convertvector( \
3346
+ __ret, vector unsigned long long); \
3307
3347
  }))
3308
3348
  #endif // __XL_COMPAT_ALTIVEC__
3309
3349
  #else
@@ -6484,12 +6524,12 @@ vec_nand(vector signed char __a, vector signed char __b) {
6484
6524
 
6485
6525
  static __inline__ vector signed char __ATTRS_o_ai
6486
6526
  vec_nand(vector signed char __a, vector bool char __b) {
6487
- return ~(__a & __b);
6527
+ return ~(__a & (vector signed char)__b);
6488
6528
  }
6489
6529
 
6490
6530
  static __inline__ vector signed char __ATTRS_o_ai
6491
6531
  vec_nand(vector bool char __a, vector signed char __b) {
6492
- return ~(__a & __b);
6532
+ return (vector signed char)~(__a & (vector bool char)__b);
6493
6533
  }
6494
6534
 
6495
6535
  static __inline__ vector unsigned char __ATTRS_o_ai
@@ -6499,12 +6539,12 @@ vec_nand(vector unsigned char __a, vector unsigned char __b) {
6499
6539
 
6500
6540
  static __inline__ vector unsigned char __ATTRS_o_ai
6501
6541
  vec_nand(vector unsigned char __a, vector bool char __b) {
6502
- return ~(__a & __b);
6542
+ return ~(__a & (vector unsigned char)__b);
6503
6543
  }
6504
6544
 
6505
6545
  static __inline__ vector unsigned char __ATTRS_o_ai
6506
6546
  vec_nand(vector bool char __a, vector unsigned char __b) {
6507
- return ~(__a & __b);
6547
+ return (vector unsigned char)~(__a & (vector bool char)__b);
6508
6548
  }
6509
6549
 
6510
6550
  static __inline__ vector bool char __ATTRS_o_ai vec_nand(vector bool char __a,
@@ -6519,12 +6559,12 @@ vec_nand(vector signed short __a, vector signed short __b) {
6519
6559
 
6520
6560
  static __inline__ vector signed short __ATTRS_o_ai
6521
6561
  vec_nand(vector signed short __a, vector bool short __b) {
6522
- return ~(__a & __b);
6562
+ return ~(__a & (vector signed short)__b);
6523
6563
  }
6524
6564
 
6525
6565
  static __inline__ vector signed short __ATTRS_o_ai
6526
6566
  vec_nand(vector bool short __a, vector signed short __b) {
6527
- return ~(__a & __b);
6567
+ return (vector signed short)~(__a & (vector bool short)__b);
6528
6568
  }
6529
6569
 
6530
6570
  static __inline__ vector unsigned short __ATTRS_o_ai
@@ -6534,7 +6574,7 @@ vec_nand(vector unsigned short __a, vector unsigned short __b) {
6534
6574
 
6535
6575
  static __inline__ vector unsigned short __ATTRS_o_ai
6536
6576
  vec_nand(vector unsigned short __a, vector bool short __b) {
6537
- return ~(__a & __b);
6577
+ return ~(__a & (vector unsigned short)__b);
6538
6578
  }
6539
6579
 
6540
6580
  static __inline__ vector bool short __ATTRS_o_ai
@@ -6549,12 +6589,12 @@ vec_nand(vector signed int __a, vector signed int __b) {
6549
6589
 
6550
6590
  static __inline__ vector signed int __ATTRS_o_ai vec_nand(vector signed int __a,
6551
6591
  vector bool int __b) {
6552
- return ~(__a & __b);
6592
+ return ~(__a & (vector signed int)__b);
6553
6593
  }
6554
6594
 
6555
6595
  static __inline__ vector signed int __ATTRS_o_ai
6556
6596
  vec_nand(vector bool int __a, vector signed int __b) {
6557
- return ~(__a & __b);
6597
+ return (vector signed int)~(__a & (vector bool int)__b);
6558
6598
  }
6559
6599
 
6560
6600
  static __inline__ vector unsigned int __ATTRS_o_ai
@@ -6564,12 +6604,12 @@ vec_nand(vector unsigned int __a, vector unsigned int __b) {
6564
6604
 
6565
6605
  static __inline__ vector unsigned int __ATTRS_o_ai
6566
6606
  vec_nand(vector unsigned int __a, vector bool int __b) {
6567
- return ~(__a & __b);
6607
+ return ~(__a & (vector unsigned int)__b);
6568
6608
  }
6569
6609
 
6570
6610
  static __inline__ vector unsigned int __ATTRS_o_ai
6571
6611
  vec_nand(vector bool int __a, vector unsigned int __b) {
6572
- return ~(__a & __b);
6612
+ return (vector unsigned int)~(__a & (vector bool int)__b);
6573
6613
  }
6574
6614
 
6575
6615
  static __inline__ vector bool int __ATTRS_o_ai vec_nand(vector bool int __a,
@@ -6590,12 +6630,12 @@ vec_nand(vector signed long long __a, vector signed long long __b) {
6590
6630
 
6591
6631
  static __inline__ vector signed long long __ATTRS_o_ai
6592
6632
  vec_nand(vector signed long long __a, vector bool long long __b) {
6593
- return ~(__a & __b);
6633
+ return ~(__a & (vector signed long long)__b);
6594
6634
  }
6595
6635
 
6596
6636
  static __inline__ vector signed long long __ATTRS_o_ai
6597
6637
  vec_nand(vector bool long long __a, vector signed long long __b) {
6598
- return ~(__a & __b);
6638
+ return (vector signed long long)~(__a & (vector bool long long)__b);
6599
6639
  }
6600
6640
 
6601
6641
  static __inline__ vector unsigned long long __ATTRS_o_ai
@@ -6605,12 +6645,12 @@ vec_nand(vector unsigned long long __a, vector unsigned long long __b) {
6605
6645
 
6606
6646
  static __inline__ vector unsigned long long __ATTRS_o_ai
6607
6647
  vec_nand(vector unsigned long long __a, vector bool long long __b) {
6608
- return ~(__a & __b);
6648
+ return ~(__a & (vector unsigned long long)__b);
6609
6649
  }
6610
6650
 
6611
6651
  static __inline__ vector unsigned long long __ATTRS_o_ai
6612
6652
  vec_nand(vector bool long long __a, vector unsigned long long __b) {
6613
- return ~(__a & __b);
6653
+ return (vector unsigned long long)~(__a & (vector bool long long)__b);
6614
6654
  }
6615
6655
 
6616
6656
  static __inline__ vector bool long long __ATTRS_o_ai
@@ -6998,12 +7038,12 @@ vec_orc(vector signed char __a, vector signed char __b) {
6998
7038
 
6999
7039
  static __inline__ vector signed char __ATTRS_o_ai
7000
7040
  vec_orc(vector signed char __a, vector bool char __b) {
7001
- return __a | ~__b;
7041
+ return __a | (vector signed char)~__b;
7002
7042
  }
7003
7043
 
7004
7044
  static __inline__ vector signed char __ATTRS_o_ai
7005
7045
  vec_orc(vector bool char __a, vector signed char __b) {
7006
- return __a | ~__b;
7046
+ return (vector signed char)(__a | (vector bool char)~__b);
7007
7047
  }
7008
7048
 
7009
7049
  static __inline__ vector unsigned char __ATTRS_o_ai
@@ -7013,12 +7053,12 @@ vec_orc(vector unsigned char __a, vector unsigned char __b) {
7013
7053
 
7014
7054
  static __inline__ vector unsigned char __ATTRS_o_ai
7015
7055
  vec_orc(vector unsigned char __a, vector bool char __b) {
7016
- return __a | ~__b;
7056
+ return __a | (vector unsigned char)~__b;
7017
7057
  }
7018
7058
 
7019
7059
  static __inline__ vector unsigned char __ATTRS_o_ai
7020
7060
  vec_orc(vector bool char __a, vector unsigned char __b) {
7021
- return __a | ~__b;
7061
+ return (vector unsigned char)(__a | (vector bool char)~__b);
7022
7062
  }
7023
7063
 
7024
7064
  static __inline__ vector bool char __ATTRS_o_ai vec_orc(vector bool char __a,
@@ -7033,12 +7073,12 @@ vec_orc(vector signed short __a, vector signed short __b) {
7033
7073
 
7034
7074
  static __inline__ vector signed short __ATTRS_o_ai
7035
7075
  vec_orc(vector signed short __a, vector bool short __b) {
7036
- return __a | ~__b;
7076
+ return __a | (vector signed short)~__b;
7037
7077
  }
7038
7078
 
7039
7079
  static __inline__ vector signed short __ATTRS_o_ai
7040
7080
  vec_orc(vector bool short __a, vector signed short __b) {
7041
- return __a | ~__b;
7081
+ return (vector signed short)(__a | (vector bool short)~__b);
7042
7082
  }
7043
7083
 
7044
7084
  static __inline__ vector unsigned short __ATTRS_o_ai
@@ -7048,12 +7088,12 @@ vec_orc(vector unsigned short __a, vector unsigned short __b) {
7048
7088
 
7049
7089
  static __inline__ vector unsigned short __ATTRS_o_ai
7050
7090
  vec_orc(vector unsigned short __a, vector bool short __b) {
7051
- return __a | ~__b;
7091
+ return __a | (vector unsigned short)~__b;
7052
7092
  }
7053
7093
 
7054
7094
  static __inline__ vector unsigned short __ATTRS_o_ai
7055
7095
  vec_orc(vector bool short __a, vector unsigned short __b) {
7056
- return __a | ~__b;
7096
+ return (vector unsigned short)(__a | (vector bool short)~__b);
7057
7097
  }
7058
7098
 
7059
7099
  static __inline__ vector bool short __ATTRS_o_ai
@@ -7068,12 +7108,12 @@ vec_orc(vector signed int __a, vector signed int __b) {
7068
7108
 
7069
7109
  static __inline__ vector signed int __ATTRS_o_ai vec_orc(vector signed int __a,
7070
7110
  vector bool int __b) {
7071
- return __a | ~__b;
7111
+ return __a | (vector signed int)~__b;
7072
7112
  }
7073
7113
 
7074
7114
  static __inline__ vector signed int __ATTRS_o_ai
7075
7115
  vec_orc(vector bool int __a, vector signed int __b) {
7076
- return __a | ~__b;
7116
+ return (vector signed int)(__a | (vector bool int)~__b);
7077
7117
  }
7078
7118
 
7079
7119
  static __inline__ vector unsigned int __ATTRS_o_ai
@@ -7083,12 +7123,12 @@ vec_orc(vector unsigned int __a, vector unsigned int __b) {
7083
7123
 
7084
7124
  static __inline__ vector unsigned int __ATTRS_o_ai
7085
7125
  vec_orc(vector unsigned int __a, vector bool int __b) {
7086
- return __a | ~__b;
7126
+ return __a | (vector unsigned int)~__b;
7087
7127
  }
7088
7128
 
7089
7129
  static __inline__ vector unsigned int __ATTRS_o_ai
7090
7130
  vec_orc(vector bool int __a, vector unsigned int __b) {
7091
- return __a | ~__b;
7131
+ return (vector unsigned int)(__a | (vector bool int)~__b);
7092
7132
  }
7093
7133
 
7094
7134
  static __inline__ vector bool int __ATTRS_o_ai vec_orc(vector bool int __a,
@@ -7098,12 +7138,17 @@ static __inline__ vector bool int __ATTRS_o_ai vec_orc(vector bool int __a,
7098
7138
 
7099
7139
  static __inline__ vector float __ATTRS_o_ai
7100
7140
  vec_orc(vector bool int __a, vector float __b) {
7101
- return (vector float)(__a | ~(vector unsigned int)__b);
7141
+ return (vector float)(__a | ~(vector bool int)__b);
7102
7142
  }
7103
7143
 
7104
7144
  static __inline__ vector float __ATTRS_o_ai
7105
7145
  vec_orc(vector float __a, vector bool int __b) {
7106
- return (vector float)((vector unsigned int)__a | ~__b);
7146
+ return (vector float)((vector bool int)__a | ~__b);
7147
+ }
7148
+
7149
+ static __inline__ vector float __ATTRS_o_ai vec_orc(vector float __a,
7150
+ vector float __b) {
7151
+ return (vector float)((vector unsigned int)__a | ~(vector unsigned int)__b);
7107
7152
  }
7108
7153
 
7109
7154
  static __inline__ vector signed long long __ATTRS_o_ai
@@ -7113,12 +7158,12 @@ vec_orc(vector signed long long __a, vector signed long long __b) {
7113
7158
 
7114
7159
  static __inline__ vector signed long long __ATTRS_o_ai
7115
7160
  vec_orc(vector signed long long __a, vector bool long long __b) {
7116
- return __a | ~__b;
7161
+ return __a | (vector signed long long)~__b;
7117
7162
  }
7118
7163
 
7119
7164
  static __inline__ vector signed long long __ATTRS_o_ai
7120
7165
  vec_orc(vector bool long long __a, vector signed long long __b) {
7121
- return __a | ~__b;
7166
+ return (vector signed long long)(__a | (vector bool long long)~__b);
7122
7167
  }
7123
7168
 
7124
7169
  static __inline__ vector unsigned long long __ATTRS_o_ai
@@ -7128,12 +7173,12 @@ vec_orc(vector unsigned long long __a, vector unsigned long long __b) {
7128
7173
 
7129
7174
  static __inline__ vector unsigned long long __ATTRS_o_ai
7130
7175
  vec_orc(vector unsigned long long __a, vector bool long long __b) {
7131
- return __a | ~__b;
7176
+ return __a | (vector unsigned long long)~__b;
7132
7177
  }
7133
7178
 
7134
7179
  static __inline__ vector unsigned long long __ATTRS_o_ai
7135
7180
  vec_orc(vector bool long long __a, vector unsigned long long __b) {
7136
- return __a | ~__b;
7181
+ return (vector unsigned long long)(__a | (vector bool long long)~__b);
7137
7182
  }
7138
7183
 
7139
7184
  static __inline__ vector bool long long __ATTRS_o_ai
@@ -7143,12 +7188,18 @@ vec_orc(vector bool long long __a, vector bool long long __b) {
7143
7188
 
7144
7189
  static __inline__ vector double __ATTRS_o_ai
7145
7190
  vec_orc(vector double __a, vector bool long long __b) {
7146
- return (vector double)((vector unsigned long long)__a | ~__b);
7191
+ return (vector double)((vector bool long long)__a | ~__b);
7147
7192
  }
7148
7193
 
7149
7194
  static __inline__ vector double __ATTRS_o_ai
7150
7195
  vec_orc(vector bool long long __a, vector double __b) {
7151
- return (vector double)(__a | ~(vector unsigned long long)__b);
7196
+ return (vector double)(__a | ~(vector bool long long)__b);
7197
+ }
7198
+
7199
+ static __inline__ vector double __ATTRS_o_ai vec_orc(vector double __a,
7200
+ vector double __b) {
7201
+ return (vector double)((vector unsigned long long)__a |
7202
+ ~(vector unsigned long long)__b);
7152
7203
  }
7153
7204
  #endif
7154
7205
 
@@ -8258,14 +8309,20 @@ vec_rl(vector signed long long __a, vector unsigned long long __b) {
8258
8309
 
8259
8310
  static __inline__ vector unsigned long long __ATTRS_o_ai
8260
8311
  vec_rl(vector unsigned long long __a, vector unsigned long long __b) {
8261
- return __builtin_altivec_vrld(__a, __b);
8312
+ return (vector unsigned long long)__builtin_altivec_vrld(
8313
+ (vector long long)__a, __b);
8262
8314
  }
8263
8315
  #endif
8264
8316
 
8265
8317
  #if defined(__POWER10_VECTOR__) && defined(__SIZEOF_INT128__)
8266
8318
  static __inline__ vector signed __int128 __ATTRS_o_ai
8267
8319
  vec_rl(vector signed __int128 __a, vector unsigned __int128 __b) {
8268
- return (__b << __a)|(__b >> ((__CHAR_BIT__ * sizeof(vector signed __int128)) - __a));
8320
+ return (vector signed __int128)(((vector unsigned __int128)__b
8321
+ << (vector unsigned __int128)__a) |
8322
+ ((vector unsigned __int128)__b >>
8323
+ ((__CHAR_BIT__ *
8324
+ sizeof(vector unsigned __int128)) -
8325
+ (vector unsigned __int128)__a)));
8269
8326
  }
8270
8327
 
8271
8328
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -8299,7 +8356,9 @@ vec_rlmi(vector unsigned __int128 __a, vector unsigned __int128 __b,
8299
8356
  static __inline__ vector signed __int128 __ATTRS_o_ai
8300
8357
  vec_rlmi(vector signed __int128 __a, vector signed __int128 __b,
8301
8358
  vector signed __int128 __c) {
8302
- return __builtin_altivec_vrlqmi(__a, __c, __b);
8359
+ return (vector signed __int128)__builtin_altivec_vrlqmi(
8360
+ (vector unsigned __int128)__a, (vector unsigned __int128)__c,
8361
+ (vector unsigned __int128)__b);
8303
8362
  }
8304
8363
  #endif
8305
8364
 
@@ -8352,7 +8411,8 @@ vec_rlnm(vector signed __int128 __a, vector signed __int128 __b,
8352
8411
  __builtin_shufflevector(TmpB, TmpC, -1, -1, -1, -1, -1, 31, 30, 15, -1,
8353
8412
  -1, -1, -1, -1, -1, -1, -1);
8354
8413
  #endif
8355
- return __builtin_altivec_vrlqnm(__a, (vector unsigned __int128) MaskAndShift);
8414
+ return (vector signed __int128)__builtin_altivec_vrlqnm(
8415
+ (vector unsigned __int128)__a, (vector unsigned __int128)MaskAndShift);
8356
8416
  }
8357
8417
  #endif
8358
8418
 
@@ -8399,9 +8459,20 @@ static __inline__ vector float __ATTRS_o_ai vec_round(vector float __a) {
8399
8459
  }
8400
8460
 
8401
8461
  #ifdef __VSX__
8462
+ #ifdef __XL_COMPAT_ALTIVEC__
8463
+ static __inline__ vector double __ATTRS_o_ai vec_rint(vector double __a);
8464
+ static __inline__ vector double __ATTRS_o_ai vec_round(vector double __a) {
8465
+ double __fpscr = __builtin_readflm();
8466
+ __builtin_setrnd(0);
8467
+ vector double __rounded = vec_rint(__a);
8468
+ __builtin_setflm(__fpscr);
8469
+ return __rounded;
8470
+ }
8471
+ #else
8402
8472
  static __inline__ vector double __ATTRS_o_ai vec_round(vector double __a) {
8403
8473
  return __builtin_vsx_xvrdpi(__a);
8404
8474
  }
8475
+ #endif
8405
8476
 
8406
8477
  /* vec_rint */
8407
8478
 
@@ -8839,7 +8910,7 @@ static __inline__ vector long long __ATTRS_o_ai
8839
8910
  vec_sl(vector long long __a, vector unsigned long long __b) {
8840
8911
  return (vector long long)vec_sl((vector unsigned long long)__a, __b);
8841
8912
  }
8842
- #else
8913
+ #elif defined(__VSX__)
8843
8914
  static __inline__ vector unsigned char __ATTRS_o_ai
8844
8915
  vec_vspltb(vector unsigned char __a, unsigned char __b);
8845
8916
  static __inline__ vector unsigned long long __ATTRS_o_ai
@@ -8885,7 +8956,7 @@ static __inline__ vector long long __ATTRS_o_ai
8885
8956
  vec_sl(vector long long __a, vector unsigned long long __b) {
8886
8957
  return (vector long long)vec_sl((vector unsigned long long)__a, __b);
8887
8958
  }
8888
- #endif
8959
+ #endif /* __VSX__ */
8889
8960
 
8890
8961
  /* vec_vslb */
8891
8962
 
@@ -10350,7 +10421,7 @@ static __inline__ vector long long __ATTRS_o_ai
10350
10421
  vec_sr(vector long long __a, vector unsigned long long __b) {
10351
10422
  return (vector long long)vec_sr((vector unsigned long long)__a, __b);
10352
10423
  }
10353
- #else
10424
+ #elif defined(__VSX__)
10354
10425
  static __inline__ vector unsigned long long __ATTRS_o_ai
10355
10426
  vec_sr(vector unsigned long long __a, vector unsigned long long __b) {
10356
10427
  __b %= (vector unsigned long long)(sizeof(unsigned long long) * __CHAR_BIT__);
@@ -10394,7 +10465,7 @@ static __inline__ vector long long __ATTRS_o_ai
10394
10465
  vec_sr(vector long long __a, vector unsigned long long __b) {
10395
10466
  return (vector long long)vec_sr((vector unsigned long long)__a, __b);
10396
10467
  }
10397
- #endif
10468
+ #endif /* __VSX__ */
10398
10469
 
10399
10470
  /* vec_vsrb */
10400
10471
 
@@ -10480,7 +10551,7 @@ static __inline__ vector unsigned long long __ATTRS_o_ai
10480
10551
  vec_sra(vector unsigned long long __a, vector unsigned long long __b) {
10481
10552
  return (vector unsigned long long)((vector signed long long)__a >> __b);
10482
10553
  }
10483
- #else
10554
+ #elif defined(__VSX__)
10484
10555
  static __inline__ vector signed long long __ATTRS_o_ai
10485
10556
  vec_sra(vector signed long long __a, vector unsigned long long __b) {
10486
10557
  __b %= (vector unsigned long long)(sizeof(unsigned long long) * __CHAR_BIT__);
@@ -10492,7 +10563,7 @@ vec_sra(vector unsigned long long __a, vector unsigned long long __b) {
10492
10563
  __b %= (vector unsigned long long)(sizeof(unsigned long long) * __CHAR_BIT__);
10493
10564
  return (vector unsigned long long)((vector signed long long)__a >> __b);
10494
10565
  }
10495
- #endif
10566
+ #endif /* __VSX__ */
10496
10567
 
10497
10568
  /* vec_vsrab */
10498
10569
 
@@ -12041,13 +12112,15 @@ vec_subc(vector unsigned __int128 __a, vector unsigned __int128 __b) {
12041
12112
 
12042
12113
  static __inline__ vector signed __int128 __ATTRS_o_ai
12043
12114
  vec_subc(vector signed __int128 __a, vector signed __int128 __b) {
12044
- return __builtin_altivec_vsubcuq(__a, __b);
12115
+ return (vector signed __int128)__builtin_altivec_vsubcuq(
12116
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b);
12045
12117
  }
12046
12118
  #endif
12047
12119
 
12048
12120
  static __inline__ vector unsigned char __attribute__((__always_inline__))
12049
12121
  vec_subc_u128(vector unsigned char __a, vector unsigned char __b) {
12050
- return (vector unsigned char)__builtin_altivec_vsubcuq(__a, __b);
12122
+ return (vector unsigned char)__builtin_altivec_vsubcuq_c(
12123
+ (vector unsigned char)__a, (vector unsigned char)__b);
12051
12124
  }
12052
12125
  #endif // __POWER8_VECTOR__
12053
12126
 
@@ -12269,7 +12342,7 @@ vec_vsubuqm(vector unsigned __int128 __a, vector unsigned __int128 __b) {
12269
12342
 
12270
12343
  static __inline__ vector unsigned char __attribute__((__always_inline__))
12271
12344
  vec_sub_u128(vector unsigned char __a, vector unsigned char __b) {
12272
- return __builtin_altivec_vsubuqm(__a, __b);
12345
+ return (vector unsigned char)__builtin_altivec_vsubuqm(__a, __b);
12273
12346
  }
12274
12347
 
12275
12348
  /* vec_vsubeuqm */
@@ -12278,7 +12351,9 @@ vec_sub_u128(vector unsigned char __a, vector unsigned char __b) {
12278
12351
  static __inline__ vector signed __int128 __ATTRS_o_ai
12279
12352
  vec_vsubeuqm(vector signed __int128 __a, vector signed __int128 __b,
12280
12353
  vector signed __int128 __c) {
12281
- return __builtin_altivec_vsubeuqm(__a, __b, __c);
12354
+ return (vector signed __int128)__builtin_altivec_vsubeuqm(
12355
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b,
12356
+ (vector unsigned __int128)__c);
12282
12357
  }
12283
12358
 
12284
12359
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -12290,7 +12365,9 @@ vec_vsubeuqm(vector unsigned __int128 __a, vector unsigned __int128 __b,
12290
12365
  static __inline__ vector signed __int128 __ATTRS_o_ai
12291
12366
  vec_sube(vector signed __int128 __a, vector signed __int128 __b,
12292
12367
  vector signed __int128 __c) {
12293
- return __builtin_altivec_vsubeuqm(__a, __b, __c);
12368
+ return (vector signed __int128)__builtin_altivec_vsubeuqm(
12369
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b,
12370
+ (vector unsigned __int128)__c);
12294
12371
  }
12295
12372
 
12296
12373
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -12303,7 +12380,9 @@ vec_sube(vector unsigned __int128 __a, vector unsigned __int128 __b,
12303
12380
  static __inline__ vector unsigned char __attribute__((__always_inline__))
12304
12381
  vec_sube_u128(vector unsigned char __a, vector unsigned char __b,
12305
12382
  vector unsigned char __c) {
12306
- return (vector unsigned char)__builtin_altivec_vsubeuqm(__a, __b, __c);
12383
+ return (vector unsigned char)__builtin_altivec_vsubeuqm_c(
12384
+ (vector unsigned char)__a, (vector unsigned char)__b,
12385
+ (vector unsigned char)__c);
12307
12386
  }
12308
12387
 
12309
12388
  /* vec_vsubcuq */
@@ -12311,7 +12390,8 @@ vec_sube_u128(vector unsigned char __a, vector unsigned char __b,
12311
12390
  #ifdef __SIZEOF_INT128__
12312
12391
  static __inline__ vector signed __int128 __ATTRS_o_ai
12313
12392
  vec_vsubcuq(vector signed __int128 __a, vector signed __int128 __b) {
12314
- return __builtin_altivec_vsubcuq(__a, __b);
12393
+ return (vector signed __int128)__builtin_altivec_vsubcuq(
12394
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b);
12315
12395
  }
12316
12396
 
12317
12397
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -12324,7 +12404,9 @@ vec_vsubcuq(vector unsigned __int128 __a, vector unsigned __int128 __b) {
12324
12404
  static __inline__ vector signed __int128 __ATTRS_o_ai
12325
12405
  vec_vsubecuq(vector signed __int128 __a, vector signed __int128 __b,
12326
12406
  vector signed __int128 __c) {
12327
- return __builtin_altivec_vsubecuq(__a, __b, __c);
12407
+ return (vector signed __int128)__builtin_altivec_vsubecuq(
12408
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b,
12409
+ (vector unsigned __int128)__c);
12328
12410
  }
12329
12411
 
12330
12412
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -12352,7 +12434,9 @@ vec_subec(vector unsigned int __a, vector unsigned int __b,
12352
12434
  static __inline__ vector signed __int128 __ATTRS_o_ai
12353
12435
  vec_subec(vector signed __int128 __a, vector signed __int128 __b,
12354
12436
  vector signed __int128 __c) {
12355
- return __builtin_altivec_vsubecuq(__a, __b, __c);
12437
+ return (vector signed __int128)__builtin_altivec_vsubecuq(
12438
+ (vector unsigned __int128)__a, (vector unsigned __int128)__b,
12439
+ (vector unsigned __int128)__c);
12356
12440
  }
12357
12441
 
12358
12442
  static __inline__ vector unsigned __int128 __ATTRS_o_ai
@@ -12365,7 +12449,9 @@ vec_subec(vector unsigned __int128 __a, vector unsigned __int128 __b,
12365
12449
  static __inline__ vector unsigned char __attribute__((__always_inline__))
12366
12450
  vec_subec_u128(vector unsigned char __a, vector unsigned char __b,
12367
12451
  vector unsigned char __c) {
12368
- return (vector unsigned char)__builtin_altivec_vsubecuq(__a, __b, __c);
12452
+ return (vector unsigned char)__builtin_altivec_vsubecuq_c(
12453
+ (vector unsigned char)__a, (vector unsigned char)__b,
12454
+ (vector unsigned char)__c);
12369
12455
  }
12370
12456
  #endif // __POWER8_VECTOR__
12371
12457
 
@@ -13441,74 +13527,74 @@ vec_vxor(vector bool long long __a, vector bool long long __b) {
13441
13527
  /* vec_extract */
13442
13528
 
13443
13529
  static __inline__ signed char __ATTRS_o_ai vec_extract(vector signed char __a,
13444
- unsigned int __b) {
13530
+ signed int __b) {
13445
13531
  return __a[__b & 0xf];
13446
13532
  }
13447
13533
 
13448
13534
  static __inline__ unsigned char __ATTRS_o_ai
13449
- vec_extract(vector unsigned char __a, unsigned int __b) {
13535
+ vec_extract(vector unsigned char __a, signed int __b) {
13450
13536
  return __a[__b & 0xf];
13451
13537
  }
13452
13538
 
13453
13539
  static __inline__ unsigned char __ATTRS_o_ai vec_extract(vector bool char __a,
13454
- unsigned int __b) {
13540
+ signed int __b) {
13455
13541
  return __a[__b & 0xf];
13456
13542
  }
13457
13543
 
13458
13544
  static __inline__ signed short __ATTRS_o_ai vec_extract(vector signed short __a,
13459
- unsigned int __b) {
13545
+ signed int __b) {
13460
13546
  return __a[__b & 0x7];
13461
13547
  }
13462
13548
 
13463
13549
  static __inline__ unsigned short __ATTRS_o_ai
13464
- vec_extract(vector unsigned short __a, unsigned int __b) {
13550
+ vec_extract(vector unsigned short __a, signed int __b) {
13465
13551
  return __a[__b & 0x7];
13466
13552
  }
13467
13553
 
13468
13554
  static __inline__ unsigned short __ATTRS_o_ai vec_extract(vector bool short __a,
13469
- unsigned int __b) {
13555
+ signed int __b) {
13470
13556
  return __a[__b & 0x7];
13471
13557
  }
13472
13558
 
13473
13559
  static __inline__ signed int __ATTRS_o_ai vec_extract(vector signed int __a,
13474
- unsigned int __b) {
13560
+ signed int __b) {
13475
13561
  return __a[__b & 0x3];
13476
13562
  }
13477
13563
 
13478
13564
  static __inline__ unsigned int __ATTRS_o_ai vec_extract(vector unsigned int __a,
13479
- unsigned int __b) {
13565
+ signed int __b) {
13480
13566
  return __a[__b & 0x3];
13481
13567
  }
13482
13568
 
13483
13569
  static __inline__ unsigned int __ATTRS_o_ai vec_extract(vector bool int __a,
13484
- unsigned int __b) {
13570
+ signed int __b) {
13485
13571
  return __a[__b & 0x3];
13486
13572
  }
13487
13573
 
13488
13574
  #ifdef __VSX__
13489
13575
  static __inline__ signed long long __ATTRS_o_ai
13490
- vec_extract(vector signed long long __a, unsigned int __b) {
13576
+ vec_extract(vector signed long long __a, signed int __b) {
13491
13577
  return __a[__b & 0x1];
13492
13578
  }
13493
13579
 
13494
13580
  static __inline__ unsigned long long __ATTRS_o_ai
13495
- vec_extract(vector unsigned long long __a, unsigned int __b) {
13581
+ vec_extract(vector unsigned long long __a, signed int __b) {
13496
13582
  return __a[__b & 0x1];
13497
13583
  }
13498
13584
 
13499
13585
  static __inline__ unsigned long long __ATTRS_o_ai
13500
- vec_extract(vector bool long long __a, unsigned int __b) {
13586
+ vec_extract(vector bool long long __a, signed int __b) {
13501
13587
  return __a[__b & 0x1];
13502
13588
  }
13503
13589
 
13504
13590
  static __inline__ double __ATTRS_o_ai vec_extract(vector double __a,
13505
- unsigned int __b) {
13591
+ signed int __b) {
13506
13592
  return __a[__b & 0x1];
13507
13593
  }
13508
13594
  #endif
13509
13595
 
13510
13596
  static __inline__ float __ATTRS_o_ai vec_extract(vector float __a,
13511
- unsigned int __b) {
13597
+ signed int __b) {
13512
13598
  return __a[__b & 0x3];
13513
13599
  }
13514
13600
 
@@ -13568,82 +13654,82 @@ vec_extract_fp32_from_shortl(vector unsigned short __a) {
13568
13654
 
13569
13655
  static __inline__ vector signed char __ATTRS_o_ai
13570
13656
  vec_insert(signed char __a, vector signed char __b, int __c) {
13571
- __b[__c] = __a;
13657
+ __b[__c & 0xF] = __a;
13572
13658
  return __b;
13573
13659
  }
13574
13660
 
13575
13661
  static __inline__ vector unsigned char __ATTRS_o_ai
13576
13662
  vec_insert(unsigned char __a, vector unsigned char __b, int __c) {
13577
- __b[__c] = __a;
13663
+ __b[__c & 0xF] = __a;
13578
13664
  return __b;
13579
13665
  }
13580
13666
 
13581
13667
  static __inline__ vector bool char __ATTRS_o_ai vec_insert(unsigned char __a,
13582
13668
  vector bool char __b,
13583
13669
  int __c) {
13584
- __b[__c] = __a;
13670
+ __b[__c & 0xF] = __a;
13585
13671
  return __b;
13586
13672
  }
13587
13673
 
13588
13674
  static __inline__ vector signed short __ATTRS_o_ai
13589
13675
  vec_insert(signed short __a, vector signed short __b, int __c) {
13590
- __b[__c] = __a;
13676
+ __b[__c & 0x7] = __a;
13591
13677
  return __b;
13592
13678
  }
13593
13679
 
13594
13680
  static __inline__ vector unsigned short __ATTRS_o_ai
13595
13681
  vec_insert(unsigned short __a, vector unsigned short __b, int __c) {
13596
- __b[__c] = __a;
13682
+ __b[__c & 0x7] = __a;
13597
13683
  return __b;
13598
13684
  }
13599
13685
 
13600
13686
  static __inline__ vector bool short __ATTRS_o_ai
13601
13687
  vec_insert(unsigned short __a, vector bool short __b, int __c) {
13602
- __b[__c] = __a;
13688
+ __b[__c & 0x7] = __a;
13603
13689
  return __b;
13604
13690
  }
13605
13691
 
13606
13692
  static __inline__ vector signed int __ATTRS_o_ai
13607
13693
  vec_insert(signed int __a, vector signed int __b, int __c) {
13608
- __b[__c] = __a;
13694
+ __b[__c & 0x3] = __a;
13609
13695
  return __b;
13610
13696
  }
13611
13697
 
13612
13698
  static __inline__ vector unsigned int __ATTRS_o_ai
13613
13699
  vec_insert(unsigned int __a, vector unsigned int __b, int __c) {
13614
- __b[__c] = __a;
13700
+ __b[__c & 0x3] = __a;
13615
13701
  return __b;
13616
13702
  }
13617
13703
 
13618
13704
  static __inline__ vector bool int __ATTRS_o_ai vec_insert(unsigned int __a,
13619
13705
  vector bool int __b,
13620
13706
  int __c) {
13621
- __b[__c] = __a;
13707
+ __b[__c & 0x3] = __a;
13622
13708
  return __b;
13623
13709
  }
13624
13710
 
13625
13711
  #ifdef __VSX__
13626
13712
  static __inline__ vector signed long long __ATTRS_o_ai
13627
13713
  vec_insert(signed long long __a, vector signed long long __b, int __c) {
13628
- __b[__c] = __a;
13714
+ __b[__c & 0x1] = __a;
13629
13715
  return __b;
13630
13716
  }
13631
13717
 
13632
13718
  static __inline__ vector unsigned long long __ATTRS_o_ai
13633
13719
  vec_insert(unsigned long long __a, vector unsigned long long __b, int __c) {
13634
- __b[__c] = __a;
13720
+ __b[__c & 0x1] = __a;
13635
13721
  return __b;
13636
13722
  }
13637
13723
 
13638
13724
  static __inline__ vector bool long long __ATTRS_o_ai
13639
13725
  vec_insert(unsigned long long __a, vector bool long long __b, int __c) {
13640
- __b[__c] = __a;
13726
+ __b[__c & 0x1] = __a;
13641
13727
  return __b;
13642
13728
  }
13643
13729
  static __inline__ vector double __ATTRS_o_ai vec_insert(double __a,
13644
13730
  vector double __b,
13645
13731
  int __c) {
13646
- __b[__c] = __a;
13732
+ __b[__c & 0x1] = __a;
13647
13733
  return __b;
13648
13734
  }
13649
13735
  #endif
@@ -13651,7 +13737,7 @@ static __inline__ vector double __ATTRS_o_ai vec_insert(double __a,
13651
13737
  static __inline__ vector float __ATTRS_o_ai vec_insert(float __a,
13652
13738
  vector float __b,
13653
13739
  int __c) {
13654
- __b[__c] = __a;
13740
+ __b[__c & 0x3] = __a;
13655
13741
  return __b;
13656
13742
  }
13657
13743
 
@@ -14812,42 +14898,43 @@ static __inline__ int __ATTRS_o_ai vec_all_eq(vector bool int __a,
14812
14898
  #ifdef __VSX__
14813
14899
  static __inline__ int __ATTRS_o_ai vec_all_eq(vector signed long long __a,
14814
14900
  vector signed long long __b) {
14901
+ #ifdef __POWER8_VECTOR__
14815
14902
  return __builtin_altivec_vcmpequd_p(__CR6_LT, __a, __b);
14903
+ #else
14904
+ // No vcmpequd on Power7 so we xor the two vectors and compare against zero as
14905
+ // 32-bit elements.
14906
+ return vec_all_eq((vector signed int)vec_xor(__a, __b), (vector signed int)0);
14907
+ #endif
14816
14908
  }
14817
14909
 
14818
14910
  static __inline__ int __ATTRS_o_ai vec_all_eq(vector long long __a,
14819
14911
  vector bool long long __b) {
14820
- return __builtin_altivec_vcmpequd_p(__CR6_LT, __a, (vector long long)__b);
14912
+ return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
14821
14913
  }
14822
14914
 
14823
14915
  static __inline__ int __ATTRS_o_ai vec_all_eq(vector unsigned long long __a,
14824
14916
  vector unsigned long long __b) {
14825
- return __builtin_altivec_vcmpequd_p(__CR6_LT, (vector long long)__a,
14826
- (vector long long)__b);
14917
+ return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
14827
14918
  }
14828
14919
 
14829
14920
  static __inline__ int __ATTRS_o_ai vec_all_eq(vector unsigned long long __a,
14830
14921
  vector bool long long __b) {
14831
- return __builtin_altivec_vcmpequd_p(__CR6_LT, (vector long long)__a,
14832
- (vector long long)__b);
14922
+ return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
14833
14923
  }
14834
14924
 
14835
14925
  static __inline__ int __ATTRS_o_ai vec_all_eq(vector bool long long __a,
14836
14926
  vector long long __b) {
14837
- return __builtin_altivec_vcmpequd_p(__CR6_LT, (vector long long)__a,
14838
- (vector long long)__b);
14927
+ return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
14839
14928
  }
14840
14929
 
14841
14930
  static __inline__ int __ATTRS_o_ai vec_all_eq(vector bool long long __a,
14842
14931
  vector unsigned long long __b) {
14843
- return __builtin_altivec_vcmpequd_p(__CR6_LT, (vector long long)__a,
14844
- (vector long long)__b);
14932
+ return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
14845
14933
  }
14846
14934
 
14847
14935
  static __inline__ int __ATTRS_o_ai vec_all_eq(vector bool long long __a,
14848
14936
  vector bool long long __b) {
14849
- return __builtin_altivec_vcmpequd_p(__CR6_LT, (vector long long)__a,
14850
- (vector long long)__b);
14937
+ return vec_all_eq((vector signed long long)__a, (vector signed long long)__b);
14851
14938
  }
14852
14939
  #endif
14853
14940
 
@@ -14870,12 +14957,20 @@ static __inline__ int __ATTRS_o_ai vec_all_eq(vector double __a,
14870
14957
  #if defined(__POWER10_VECTOR__) && defined(__SIZEOF_INT128__)
14871
14958
  static __inline__ int __ATTRS_o_ai vec_all_eq(vector signed __int128 __a,
14872
14959
  vector signed __int128 __b) {
14873
- return __builtin_altivec_vcmpequq_p(__CR6_LT, __a, __b);
14960
+ return __builtin_altivec_vcmpequq_p(__CR6_LT, (vector unsigned __int128)__a,
14961
+ (vector signed __int128)__b);
14874
14962
  }
14875
14963
 
14876
14964
  static __inline__ int __ATTRS_o_ai vec_all_eq(vector unsigned __int128 __a,
14877
14965
  vector unsigned __int128 __b) {
14878
- return __builtin_altivec_vcmpequq_p(__CR6_LT, __a, __b);
14966
+ return __builtin_altivec_vcmpequq_p(__CR6_LT, __a,
14967
+ (vector signed __int128)__b);
14968
+ }
14969
+
14970
+ static __inline__ int __ATTRS_o_ai vec_all_eq(vector bool __int128 __a,
14971
+ vector bool __int128 __b) {
14972
+ return __builtin_altivec_vcmpequq_p(__CR6_LT, (vector unsigned __int128)__a,
14973
+ (vector signed __int128)__b);
14879
14974
  }
14880
14975
  #endif
14881
14976
 
@@ -15815,12 +15910,20 @@ static __inline__ int __ATTRS_o_ai vec_all_ne(vector double __a,
15815
15910
  #if defined(__POWER10_VECTOR__) && defined(__SIZEOF_INT128__)
15816
15911
  static __inline__ int __ATTRS_o_ai vec_all_ne(vector signed __int128 __a,
15817
15912
  vector signed __int128 __b) {
15818
- return __builtin_altivec_vcmpequq_p(__CR6_EQ, __a, __b);
15913
+ return __builtin_altivec_vcmpequq_p(__CR6_EQ, (vector unsigned __int128)__a,
15914
+ __b);
15819
15915
  }
15820
15916
 
15821
15917
  static __inline__ int __ATTRS_o_ai vec_all_ne(vector unsigned __int128 __a,
15822
15918
  vector unsigned __int128 __b) {
15823
- return __builtin_altivec_vcmpequq_p(__CR6_EQ, __a, __b);
15919
+ return __builtin_altivec_vcmpequq_p(__CR6_EQ, __a,
15920
+ (vector signed __int128)__b);
15921
+ }
15922
+
15923
+ static __inline__ int __ATTRS_o_ai vec_all_ne(vector bool __int128 __a,
15924
+ vector bool __int128 __b) {
15925
+ return __builtin_altivec_vcmpequq_p(__CR6_EQ, (vector unsigned __int128)__a,
15926
+ (vector signed __int128)__b);
15824
15927
  }
15825
15928
  #endif
15826
15929
 
@@ -16104,12 +16207,20 @@ static __inline__ int __ATTRS_o_ai vec_any_eq(vector double __a,
16104
16207
  #if defined(__POWER10_VECTOR__) && defined(__SIZEOF_INT128__)
16105
16208
  static __inline__ int __ATTRS_o_ai vec_any_eq(vector signed __int128 __a,
16106
16209
  vector signed __int128 __b) {
16107
- return __builtin_altivec_vcmpequq_p(__CR6_EQ_REV, __a, __b);
16210
+ return __builtin_altivec_vcmpequq_p(__CR6_EQ_REV,
16211
+ (vector unsigned __int128)__a, __b);
16108
16212
  }
16109
16213
 
16110
16214
  static __inline__ int __ATTRS_o_ai vec_any_eq(vector unsigned __int128 __a,
16111
16215
  vector unsigned __int128 __b) {
16112
- return __builtin_altivec_vcmpequq_p(__CR6_EQ_REV, __a, __b);
16216
+ return __builtin_altivec_vcmpequq_p(__CR6_EQ_REV, __a,
16217
+ (vector signed __int128)__b);
16218
+ }
16219
+
16220
+ static __inline__ int __ATTRS_o_ai vec_any_eq(vector bool __int128 __a,
16221
+ vector bool __int128 __b) {
16222
+ return __builtin_altivec_vcmpequq_p(
16223
+ __CR6_EQ_REV, (vector unsigned __int128)__a, (vector signed __int128)__b);
16113
16224
  }
16114
16225
  #endif
16115
16226
 
@@ -17020,43 +17131,43 @@ static __inline__ int __ATTRS_o_ai vec_any_ne(vector bool int __a,
17020
17131
  #ifdef __VSX__
17021
17132
  static __inline__ int __ATTRS_o_ai vec_any_ne(vector signed long long __a,
17022
17133
  vector signed long long __b) {
17134
+ #ifdef __POWER8_VECTOR__
17023
17135
  return __builtin_altivec_vcmpequd_p(__CR6_LT_REV, __a, __b);
17136
+ #else
17137
+ // Take advantage of the optimized sequence for vec_all_eq when vcmpequd is
17138
+ // not available.
17139
+ return !vec_all_eq(__a, __b);
17140
+ #endif
17024
17141
  }
17025
17142
 
17026
17143
  static __inline__ int __ATTRS_o_ai vec_any_ne(vector unsigned long long __a,
17027
17144
  vector unsigned long long __b) {
17028
- return __builtin_altivec_vcmpequd_p(__CR6_LT_REV, (vector long long)__a,
17029
- (vector long long)__b);
17145
+ return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
17030
17146
  }
17031
17147
 
17032
17148
  static __inline__ int __ATTRS_o_ai vec_any_ne(vector signed long long __a,
17033
17149
  vector bool long long __b) {
17034
- return __builtin_altivec_vcmpequd_p(__CR6_LT_REV, __a,
17035
- (vector signed long long)__b);
17150
+ return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
17036
17151
  }
17037
17152
 
17038
17153
  static __inline__ int __ATTRS_o_ai vec_any_ne(vector unsigned long long __a,
17039
17154
  vector bool long long __b) {
17040
- return __builtin_altivec_vcmpequd_p(
17041
- __CR6_LT_REV, (vector signed long long)__a, (vector signed long long)__b);
17155
+ return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
17042
17156
  }
17043
17157
 
17044
17158
  static __inline__ int __ATTRS_o_ai vec_any_ne(vector bool long long __a,
17045
17159
  vector signed long long __b) {
17046
- return __builtin_altivec_vcmpequd_p(
17047
- __CR6_LT_REV, (vector signed long long)__a, (vector signed long long)__b);
17160
+ return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
17048
17161
  }
17049
17162
 
17050
17163
  static __inline__ int __ATTRS_o_ai vec_any_ne(vector bool long long __a,
17051
17164
  vector unsigned long long __b) {
17052
- return __builtin_altivec_vcmpequd_p(
17053
- __CR6_LT_REV, (vector signed long long)__a, (vector signed long long)__b);
17165
+ return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
17054
17166
  }
17055
17167
 
17056
17168
  static __inline__ int __ATTRS_o_ai vec_any_ne(vector bool long long __a,
17057
17169
  vector bool long long __b) {
17058
- return __builtin_altivec_vcmpequd_p(
17059
- __CR6_LT_REV, (vector signed long long)__a, (vector signed long long)__b);
17170
+ return vec_any_ne((vector signed long long)__a, (vector signed long long)__b);
17060
17171
  }
17061
17172
  #endif
17062
17173
 
@@ -17079,12 +17190,20 @@ static __inline__ int __ATTRS_o_ai vec_any_ne(vector double __a,
17079
17190
  #if defined(__POWER10_VECTOR__) && defined(__SIZEOF_INT128__)
17080
17191
  static __inline__ int __ATTRS_o_ai vec_any_ne(vector signed __int128 __a,
17081
17192
  vector signed __int128 __b) {
17082
- return __builtin_altivec_vcmpequq_p(__CR6_LT_REV, __a, __b);
17193
+ return __builtin_altivec_vcmpequq_p(__CR6_LT_REV,
17194
+ (vector unsigned __int128)__a, __b);
17083
17195
  }
17084
17196
 
17085
17197
  static __inline__ int __ATTRS_o_ai vec_any_ne(vector unsigned __int128 __a,
17086
17198
  vector unsigned __int128 __b) {
17087
- return __builtin_altivec_vcmpequq_p(__CR6_LT_REV, __a, __b);
17199
+ return __builtin_altivec_vcmpequq_p(__CR6_LT_REV, __a,
17200
+ (vector signed __int128)__b);
17201
+ }
17202
+
17203
+ static __inline__ int __ATTRS_o_ai vec_any_ne(vector bool __int128 __a,
17204
+ vector bool __int128 __b) {
17205
+ return __builtin_altivec_vcmpequq_p(
17206
+ __CR6_LT_REV, (vector unsigned __int128)__a, (vector signed __int128)__b);
17088
17207
  }
17089
17208
  #endif
17090
17209
 
@@ -17203,6 +17322,7 @@ provided.
17203
17322
  #define vec_ncipher_be __builtin_altivec_crypto_vncipher
17204
17323
  #define vec_ncipherlast_be __builtin_altivec_crypto_vncipherlast
17205
17324
 
17325
+ #ifdef __VSX__
17206
17326
  static __inline__ vector unsigned long long __attribute__((__always_inline__))
17207
17327
  __builtin_crypto_vsbox(vector unsigned long long __a) {
17208
17328
  return __builtin_altivec_crypto_vsbox(__a);
@@ -17231,6 +17351,7 @@ __builtin_crypto_vncipherlast(vector unsigned long long __a,
17231
17351
  vector unsigned long long __b) {
17232
17352
  return __builtin_altivec_crypto_vncipherlast(__a, __b);
17233
17353
  }
17354
+ #endif /* __VSX__ */
17234
17355
 
17235
17356
  #define __builtin_crypto_vshasigmad __builtin_altivec_crypto_vshasigmad
17236
17357
  #define __builtin_crypto_vshasigmaw __builtin_altivec_crypto_vshasigmaw
@@ -17245,13 +17366,17 @@ __builtin_crypto_vncipherlast(vector unsigned long long __a,
17245
17366
  static __inline__ vector bool char __ATTRS_o_ai
17246
17367
  vec_permxor(vector bool char __a, vector bool char __b,
17247
17368
  vector bool char __c) {
17248
- return __builtin_altivec_crypto_vpermxor(__a, __b, __c);
17369
+ return (vector bool char)__builtin_altivec_crypto_vpermxor(
17370
+ (vector unsigned char)__a, (vector unsigned char)__b,
17371
+ (vector unsigned char)__c);
17249
17372
  }
17250
17373
 
17251
17374
  static __inline__ vector signed char __ATTRS_o_ai
17252
17375
  vec_permxor(vector signed char __a, vector signed char __b,
17253
17376
  vector signed char __c) {
17254
- return __builtin_altivec_crypto_vpermxor(__a, __b, __c);
17377
+ return (vector signed char)__builtin_altivec_crypto_vpermxor(
17378
+ (vector unsigned char)__a, (vector unsigned char)__b,
17379
+ (vector unsigned char)__c);
17255
17380
  }
17256
17381
 
17257
17382
  static __inline__ vector unsigned char __ATTRS_o_ai
@@ -17313,7 +17438,7 @@ __builtin_crypto_vpmsumb(vector unsigned long long __a,
17313
17438
 
17314
17439
  static __inline__ vector signed char __ATTRS_o_ai
17315
17440
  vec_vgbbd(vector signed char __a) {
17316
- return __builtin_altivec_vgbbd((vector unsigned char)__a);
17441
+ return (vector signed char)__builtin_altivec_vgbbd((vector unsigned char)__a);
17317
17442
  }
17318
17443
 
17319
17444
  #define vec_pmsum_be __builtin_crypto_vpmsumb
@@ -17326,32 +17451,44 @@ vec_vgbbd(vector unsigned char __a) {
17326
17451
 
17327
17452
  static __inline__ vector signed long long __ATTRS_o_ai
17328
17453
  vec_gbb(vector signed long long __a) {
17329
- return __builtin_altivec_vgbbd((vector unsigned char)__a);
17454
+ return (vector signed long long)__builtin_altivec_vgbbd(
17455
+ (vector unsigned char)__a);
17330
17456
  }
17331
17457
 
17332
17458
  static __inline__ vector unsigned long long __ATTRS_o_ai
17333
17459
  vec_gbb(vector unsigned long long __a) {
17334
- return __builtin_altivec_vgbbd((vector unsigned char)__a);
17460
+ return (vector unsigned long long)__builtin_altivec_vgbbd(
17461
+ (vector unsigned char)__a);
17335
17462
  }
17336
17463
 
17337
17464
  static __inline__ vector long long __ATTRS_o_ai
17338
17465
  vec_vbpermq(vector signed char __a, vector signed char __b) {
17339
- return __builtin_altivec_vbpermq((vector unsigned char)__a,
17340
- (vector unsigned char)__b);
17466
+ return (vector long long)__builtin_altivec_vbpermq((vector unsigned char)__a,
17467
+ (vector unsigned char)__b);
17341
17468
  }
17342
17469
 
17343
17470
  static __inline__ vector long long __ATTRS_o_ai
17344
17471
  vec_vbpermq(vector unsigned char __a, vector unsigned char __b) {
17345
- return __builtin_altivec_vbpermq(__a, __b);
17472
+ return (vector long long)__builtin_altivec_vbpermq(__a, __b);
17346
17473
  }
17347
17474
 
17348
17475
  #if defined(__powerpc64__) && defined(__SIZEOF_INT128__)
17349
- static __inline__ vector unsigned long long __attribute__((__always_inline__))
17476
+ static __inline__ vector unsigned long long __ATTRS_o_ai
17350
17477
  vec_bperm(vector unsigned __int128 __a, vector unsigned char __b) {
17351
17478
  return __builtin_altivec_vbpermq((vector unsigned char)__a,
17352
17479
  (vector unsigned char)__b);
17353
17480
  }
17354
17481
  #endif
17482
+ static __inline__ vector unsigned char __ATTRS_o_ai
17483
+ vec_bperm(vector unsigned char __a, vector unsigned char __b) {
17484
+ return (vector unsigned char)__builtin_altivec_vbpermq(__a, __b);
17485
+ }
17486
+ #endif // __POWER8_VECTOR__
17487
+ #ifdef __POWER9_VECTOR__
17488
+ static __inline__ vector unsigned long long __ATTRS_o_ai
17489
+ vec_bperm(vector unsigned long long __a, vector unsigned char __b) {
17490
+ return __builtin_altivec_vbpermd(__a, __b);
17491
+ }
17355
17492
  #endif
17356
17493
 
17357
17494
 
@@ -17715,26 +17852,26 @@ vec_xl_be(signed long long __offset, const unsigned __int128 *__ptr) {
17715
17852
  #if defined(__POWER10_VECTOR__) && defined(__VSX__) && \
17716
17853
  defined(__SIZEOF_INT128__)
17717
17854
 
17718
- /* vect_xl_sext */
17855
+ /* vec_xl_sext */
17719
17856
 
17720
- static __inline__ vector unsigned __int128 __ATTRS_o_ai
17857
+ static __inline__ vector signed __int128 __ATTRS_o_ai
17721
17858
  vec_xl_sext(ptrdiff_t __offset, const signed char *__pointer) {
17722
- return (vector unsigned __int128)*(__pointer + __offset);
17859
+ return (vector signed __int128)*(__pointer + __offset);
17723
17860
  }
17724
17861
 
17725
- static __inline__ vector unsigned __int128 __ATTRS_o_ai
17862
+ static __inline__ vector signed __int128 __ATTRS_o_ai
17726
17863
  vec_xl_sext(ptrdiff_t __offset, const signed short *__pointer) {
17727
- return (vector unsigned __int128)*(__pointer + __offset);
17864
+ return (vector signed __int128)*(__pointer + __offset);
17728
17865
  }
17729
17866
 
17730
- static __inline__ vector unsigned __int128 __ATTRS_o_ai
17867
+ static __inline__ vector signed __int128 __ATTRS_o_ai
17731
17868
  vec_xl_sext(ptrdiff_t __offset, const signed int *__pointer) {
17732
- return (vector unsigned __int128)*(__pointer + __offset);
17869
+ return (vector signed __int128)*(__pointer + __offset);
17733
17870
  }
17734
17871
 
17735
- static __inline__ vector unsigned __int128 __ATTRS_o_ai
17872
+ static __inline__ vector signed __int128 __ATTRS_o_ai
17736
17873
  vec_xl_sext(ptrdiff_t __offset, const signed long long *__pointer) {
17737
- return (vector unsigned __int128)*(__pointer + __offset);
17874
+ return (vector signed __int128)*(__pointer + __offset);
17738
17875
  }
17739
17876
 
17740
17877
  /* vec_xl_zext */
@@ -18198,13 +18335,17 @@ vec_expandm(vector unsigned __int128 __a) {
18198
18335
 
18199
18336
  #define vec_cntm(__a, __mp) \
18200
18337
  _Generic((__a), vector unsigned char \
18201
- : __builtin_altivec_vcntmbb((__a), (unsigned int)(__mp)), \
18338
+ : __builtin_altivec_vcntmbb((vector unsigned char)(__a), \
18339
+ (unsigned char)(__mp)), \
18202
18340
  vector unsigned short \
18203
- : __builtin_altivec_vcntmbh((__a), (unsigned int)(__mp)), \
18341
+ : __builtin_altivec_vcntmbh((vector unsigned short)(__a), \
18342
+ (unsigned char)(__mp)), \
18204
18343
  vector unsigned int \
18205
- : __builtin_altivec_vcntmbw((__a), (unsigned int)(__mp)), \
18344
+ : __builtin_altivec_vcntmbw((vector unsigned int)(__a), \
18345
+ (unsigned char)(__mp)), \
18206
18346
  vector unsigned long long \
18207
- : __builtin_altivec_vcntmbd((__a), (unsigned int)(__mp)))
18347
+ : __builtin_altivec_vcntmbd((vector unsigned long long)(__a), \
18348
+ (unsigned char)(__mp)))
18208
18349
 
18209
18350
  /* vec_gen[b|h|w|d|q]m */
18210
18351
 
@@ -18265,43 +18406,52 @@ vec_cfuge(vector unsigned long long __a, vector unsigned long long __b) {
18265
18406
  #ifdef __SIZEOF_INT128__
18266
18407
  #define vec_ternarylogic(__a, __b, __c, __imm) \
18267
18408
  _Generic((__a), vector unsigned char \
18268
- : __builtin_vsx_xxeval((vector unsigned long long)(__a), \
18269
- (vector unsigned long long)(__b), \
18270
- (vector unsigned long long)(__c), (__imm)), \
18409
+ : (vector unsigned char)__builtin_vsx_xxeval( \
18410
+ (vector unsigned long long)(__a), \
18411
+ (vector unsigned long long)(__b), \
18412
+ (vector unsigned long long)(__c), (__imm)), \
18271
18413
  vector unsigned short \
18272
- : __builtin_vsx_xxeval((vector unsigned long long)(__a), \
18273
- (vector unsigned long long)(__b), \
18274
- (vector unsigned long long)(__c), (__imm)), \
18414
+ : (vector unsigned short)__builtin_vsx_xxeval( \
18415
+ (vector unsigned long long)(__a), \
18416
+ (vector unsigned long long)(__b), \
18417
+ (vector unsigned long long)(__c), (__imm)), \
18275
18418
  vector unsigned int \
18276
- : __builtin_vsx_xxeval((vector unsigned long long)(__a), \
18277
- (vector unsigned long long)(__b), \
18278
- (vector unsigned long long)(__c), (__imm)), \
18419
+ : (vector unsigned int)__builtin_vsx_xxeval( \
18420
+ (vector unsigned long long)(__a), \
18421
+ (vector unsigned long long)(__b), \
18422
+ (vector unsigned long long)(__c), (__imm)), \
18279
18423
  vector unsigned long long \
18280
- : __builtin_vsx_xxeval((vector unsigned long long)(__a), \
18281
- (vector unsigned long long)(__b), \
18282
- (vector unsigned long long)(__c), (__imm)), \
18424
+ : (vector unsigned long long)__builtin_vsx_xxeval( \
18425
+ (vector unsigned long long)(__a), \
18426
+ (vector unsigned long long)(__b), \
18427
+ (vector unsigned long long)(__c), (__imm)), \
18283
18428
  vector unsigned __int128 \
18284
- : __builtin_vsx_xxeval((vector unsigned long long)(__a), \
18285
- (vector unsigned long long)(__b), \
18286
- (vector unsigned long long)(__c), (__imm)))
18429
+ : (vector unsigned __int128)__builtin_vsx_xxeval( \
18430
+ (vector unsigned long long)(__a), \
18431
+ (vector unsigned long long)(__b), \
18432
+ (vector unsigned long long)(__c), (__imm)))
18287
18433
  #else
18288
18434
  #define vec_ternarylogic(__a, __b, __c, __imm) \
18289
18435
  _Generic((__a), vector unsigned char \
18290
- : __builtin_vsx_xxeval((vector unsigned long long)(__a), \
18291
- (vector unsigned long long)(__b), \
18292
- (vector unsigned long long)(__c), (__imm)), \
18436
+ : (vector unsigned char)__builtin_vsx_xxeval( \
18437
+ (vector unsigned long long)(__a), \
18438
+ (vector unsigned long long)(__b), \
18439
+ (vector unsigned long long)(__c), (__imm)), \
18293
18440
  vector unsigned short \
18294
- : __builtin_vsx_xxeval((vector unsigned long long)(__a), \
18295
- (vector unsigned long long)(__b), \
18296
- (vector unsigned long long)(__c), (__imm)), \
18441
+ : (vector unsigned short)__builtin_vsx_xxeval( \
18442
+ (vector unsigned long long)(__a), \
18443
+ (vector unsigned long long)(__b), \
18444
+ (vector unsigned long long)(__c), (__imm)), \
18297
18445
  vector unsigned int \
18298
- : __builtin_vsx_xxeval((vector unsigned long long)(__a), \
18299
- (vector unsigned long long)(__b), \
18300
- (vector unsigned long long)(__c), (__imm)), \
18446
+ : (vector unsigned int)__builtin_vsx_xxeval( \
18447
+ (vector unsigned long long)(__a), \
18448
+ (vector unsigned long long)(__b), \
18449
+ (vector unsigned long long)(__c), (__imm)), \
18301
18450
  vector unsigned long long \
18302
- : __builtin_vsx_xxeval((vector unsigned long long)(__a), \
18303
- (vector unsigned long long)(__b), \
18304
- (vector unsigned long long)(__c), (__imm)))
18451
+ : (vector unsigned long long)__builtin_vsx_xxeval( \
18452
+ (vector unsigned long long)(__a), \
18453
+ (vector unsigned long long)(__b), \
18454
+ (vector unsigned long long)(__c), (__imm)))
18305
18455
  #endif /* __SIZEOF_INT128__ */
18306
18456
  #endif /* __VSX__ */
18307
18457
 
@@ -18309,53 +18459,63 @@ vec_cfuge(vector unsigned long long __a, vector unsigned long long __b) {
18309
18459
 
18310
18460
  #ifdef __VSX__
18311
18461
  #define vec_genpcvm(__a, __imm) \
18312
- _Generic((__a), vector unsigned char \
18313
- : __builtin_vsx_xxgenpcvbm((__a), (int)(__imm)), \
18314
- vector unsigned short \
18315
- : __builtin_vsx_xxgenpcvhm((__a), (int)(__imm)), \
18316
- vector unsigned int \
18317
- : __builtin_vsx_xxgenpcvwm((__a), (int)(__imm)), \
18318
- vector unsigned long long \
18319
- : __builtin_vsx_xxgenpcvdm((__a), (int)(__imm)))
18462
+ _Generic( \
18463
+ (__a), vector unsigned char \
18464
+ : __builtin_vsx_xxgenpcvbm((vector unsigned char)(__a), (int)(__imm)), \
18465
+ vector unsigned short \
18466
+ : __builtin_vsx_xxgenpcvhm((vector unsigned short)(__a), (int)(__imm)), \
18467
+ vector unsigned int \
18468
+ : __builtin_vsx_xxgenpcvwm((vector unsigned int)(__a), (int)(__imm)), \
18469
+ vector unsigned long long \
18470
+ : __builtin_vsx_xxgenpcvdm((vector unsigned long long)(__a), \
18471
+ (int)(__imm)))
18320
18472
  #endif /* __VSX__ */
18321
18473
 
18322
- /* vec_clrl */
18474
+ /* vec_clr_first */
18323
18475
 
18324
18476
  static __inline__ vector signed char __ATTRS_o_ai
18325
- vec_clrl(vector signed char __a, unsigned int __n) {
18477
+ vec_clr_first(vector signed char __a, unsigned int __n) {
18326
18478
  #ifdef __LITTLE_ENDIAN__
18327
- return __builtin_altivec_vclrrb(__a, __n);
18479
+ return (vector signed char)__builtin_altivec_vclrrb((vector unsigned char)__a,
18480
+ __n);
18328
18481
  #else
18329
- return __builtin_altivec_vclrlb( __a, __n);
18482
+ return (vector signed char)__builtin_altivec_vclrlb((vector unsigned char)__a,
18483
+ __n);
18330
18484
  #endif
18331
18485
  }
18332
18486
 
18333
18487
  static __inline__ vector unsigned char __ATTRS_o_ai
18334
- vec_clrl(vector unsigned char __a, unsigned int __n) {
18488
+ vec_clr_first(vector unsigned char __a, unsigned int __n) {
18335
18489
  #ifdef __LITTLE_ENDIAN__
18336
- return __builtin_altivec_vclrrb((vector signed char)__a, __n);
18490
+ return (vector unsigned char)__builtin_altivec_vclrrb(
18491
+ (vector unsigned char)__a, __n);
18337
18492
  #else
18338
- return __builtin_altivec_vclrlb((vector signed char)__a, __n);
18493
+ return (vector unsigned char)__builtin_altivec_vclrlb(
18494
+ (vector unsigned char)__a, __n);
18339
18495
  #endif
18340
18496
  }
18341
18497
 
18342
- /* vec_clrr */
18498
+ /* vec_clr_last */
18343
18499
 
18344
18500
  static __inline__ vector signed char __ATTRS_o_ai
18345
- vec_clrr(vector signed char __a, unsigned int __n) {
18501
+ vec_clr_last(vector signed char __a, unsigned int __n) {
18346
18502
  #ifdef __LITTLE_ENDIAN__
18347
- return __builtin_altivec_vclrlb(__a, __n);
18503
+ return (vector signed char)__builtin_altivec_vclrlb((vector unsigned char)__a,
18504
+ __n);
18348
18505
  #else
18349
- return __builtin_altivec_vclrrb( __a, __n);
18506
+ return (vector signed char)__builtin_altivec_vclrrb((vector unsigned char)__a,
18507
+ __n);
18350
18508
  #endif
18351
18509
  }
18352
18510
 
18353
18511
  static __inline__ vector unsigned char __ATTRS_o_ai
18354
- vec_clrr(vector unsigned char __a, unsigned int __n) {
18512
+ vec_clr_last(vector unsigned char __a, unsigned int __n) {
18355
18513
  #ifdef __LITTLE_ENDIAN__
18356
- return __builtin_altivec_vclrlb((vector signed char)__a, __n);
18514
+ return (vector unsigned char)__builtin_altivec_vclrlb(
18515
+ (vector unsigned char)__a, __n);
18357
18516
  #else
18358
- return __builtin_altivec_vclrrb((vector signed char)__a, __n);
18517
+ return (vector unsigned char)__builtin_altivec_vclrrb(
18518
+ (vector unsigned char)__a, __n);
18359
18519
  #endif
18360
18520
  }
18361
18521
 
@@ -18407,13 +18567,75 @@ vec_mod(vector unsigned __int128 __a, vector unsigned __int128 __b) {
18407
18567
  }
18408
18568
  #endif
18409
18569
 
18410
- /* vec_sldbi */
18411
-
18412
- #define vec_sldb(__a, __b, __c) __builtin_altivec_vsldbi(__a, __b, (__c & 0x7))
18413
-
18414
- /* vec_srdbi */
18415
-
18416
- #define vec_srdb(__a, __b, __c) __builtin_altivec_vsrdbi(__a, __b, (__c & 0x7))
18570
+ /* vec_sldb */
18571
+ #define vec_sldb(__a, __b, __c) \
18572
+ _Generic( \
18573
+ (__a), vector unsigned char \
18574
+ : (vector unsigned char)__builtin_altivec_vsldbi( \
18575
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18576
+ (__c & 0x7)), \
18577
+ vector signed char \
18578
+ : (vector signed char)__builtin_altivec_vsldbi( \
18579
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18580
+ (__c & 0x7)), \
18581
+ vector unsigned short \
18582
+ : (vector unsigned short)__builtin_altivec_vsldbi( \
18583
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18584
+ (__c & 0x7)), \
18585
+ vector signed short \
18586
+ : (vector signed short)__builtin_altivec_vsldbi( \
18587
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18588
+ (__c & 0x7)), \
18589
+ vector unsigned int \
18590
+ : (vector unsigned int)__builtin_altivec_vsldbi( \
18591
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18592
+ (__c & 0x7)), \
18593
+ vector signed int \
18594
+ : (vector signed int)__builtin_altivec_vsldbi((vector unsigned char)__a, \
18595
+ (vector unsigned char)__b, \
18596
+ (__c & 0x7)), \
18597
+ vector unsigned long long \
18598
+ : (vector unsigned long long)__builtin_altivec_vsldbi( \
18599
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18600
+ (__c & 0x7)), \
18601
+ vector signed long long \
18602
+ : (vector signed long long)__builtin_altivec_vsldbi( \
18603
+ (vector unsigned char)__a, (vector unsigned char)__b, (__c & 0x7)))
18604
+
18605
+ /* vec_srdb */
18606
+ #define vec_srdb(__a, __b, __c) \
18607
+ _Generic( \
18608
+ (__a), vector unsigned char \
18609
+ : (vector unsigned char)__builtin_altivec_vsrdbi( \
18610
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18611
+ (__c & 0x7)), \
18612
+ vector signed char \
18613
+ : (vector signed char)__builtin_altivec_vsrdbi( \
18614
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18615
+ (__c & 0x7)), \
18616
+ vector unsigned short \
18617
+ : (vector unsigned short)__builtin_altivec_vsrdbi( \
18618
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18619
+ (__c & 0x7)), \
18620
+ vector signed short \
18621
+ : (vector signed short)__builtin_altivec_vsrdbi( \
18622
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18623
+ (__c & 0x7)), \
18624
+ vector unsigned int \
18625
+ : (vector unsigned int)__builtin_altivec_vsrdbi( \
18626
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18627
+ (__c & 0x7)), \
18628
+ vector signed int \
18629
+ : (vector signed int)__builtin_altivec_vsrdbi((vector unsigned char)__a, \
18630
+ (vector unsigned char)__b, \
18631
+ (__c & 0x7)), \
18632
+ vector unsigned long long \
18633
+ : (vector unsigned long long)__builtin_altivec_vsrdbi( \
18634
+ (vector unsigned char)__a, (vector unsigned char)__b, \
18635
+ (__c & 0x7)), \
18636
+ vector signed long long \
18637
+ : (vector signed long long)__builtin_altivec_vsrdbi( \
18638
+ (vector unsigned char)__a, (vector unsigned char)__b, (__c & 0x7)))
18417
18639
 
18418
18640
  /* vec_insertl */
18419
18641
 
@@ -18642,16 +18864,46 @@ vec_extracth(vector unsigned long long __a, vector unsigned long long __b,
18642
18864
  #ifdef __VSX__
18643
18865
 
18644
18866
  /* vec_permx */
18645
-
18646
18867
  #define vec_permx(__a, __b, __c, __d) \
18647
- __builtin_vsx_xxpermx((__a), (__b), (__c), (__d))
18868
+ _Generic( \
18869
+ (__a), vector unsigned char \
18870
+ : (vector unsigned char)__builtin_vsx_xxpermx( \
18871
+ (vector unsigned char)__a, (vector unsigned char)__b, __c, __d), \
18872
+ vector signed char \
18873
+ : (vector signed char)__builtin_vsx_xxpermx( \
18874
+ (vector unsigned char)__a, (vector unsigned char)__b, __c, __d), \
18875
+ vector unsigned short \
18876
+ : (vector unsigned short)__builtin_vsx_xxpermx( \
18877
+ (vector unsigned char)__a, (vector unsigned char)__b, __c, __d), \
18878
+ vector signed short \
18879
+ : (vector signed short)__builtin_vsx_xxpermx( \
18880
+ (vector unsigned char)__a, (vector unsigned char)__b, __c, __d), \
18881
+ vector unsigned int \
18882
+ : (vector unsigned int)__builtin_vsx_xxpermx( \
18883
+ (vector unsigned char)__a, (vector unsigned char)__b, __c, __d), \
18884
+ vector signed int \
18885
+ : (vector signed int)__builtin_vsx_xxpermx( \
18886
+ (vector unsigned char)__a, (vector unsigned char)__b, __c, __d), \
18887
+ vector unsigned long long \
18888
+ : (vector unsigned long long)__builtin_vsx_xxpermx( \
18889
+ (vector unsigned char)__a, (vector unsigned char)__b, __c, __d), \
18890
+ vector signed long long \
18891
+ : (vector signed long long)__builtin_vsx_xxpermx( \
18892
+ (vector unsigned char)__a, (vector unsigned char)__b, __c, __d), \
18893
+ vector float \
18894
+ : (vector float)__builtin_vsx_xxpermx( \
18895
+ (vector unsigned char)__a, (vector unsigned char)__b, __c, __d), \
18896
+ vector double \
18897
+ : (vector double)__builtin_vsx_xxpermx( \
18898
+ (vector unsigned char)__a, (vector unsigned char)__b, __c, __d))
18648
18899
 
18649
18900
  /* vec_blendv */
18650
18901
 
18651
18902
  static __inline__ vector signed char __ATTRS_o_ai
18652
18903
  vec_blendv(vector signed char __a, vector signed char __b,
18653
18904
  vector unsigned char __c) {
18654
- return __builtin_vsx_xxblendvb(__a, __b, __c);
18905
+ return (vector signed char)__builtin_vsx_xxblendvb(
18906
+ (vector unsigned char)__a, (vector unsigned char)__b, __c);
18655
18907
  }
18656
18908
 
18657
18909
  static __inline__ vector unsigned char __ATTRS_o_ai
@@ -18663,7 +18915,8 @@ vec_blendv(vector unsigned char __a, vector unsigned char __b,
18663
18915
  static __inline__ vector signed short __ATTRS_o_ai
18664
18916
  vec_blendv(vector signed short __a, vector signed short __b,
18665
18917
  vector unsigned short __c) {
18666
- return __builtin_vsx_xxblendvh(__a, __b, __c);
18918
+ return (vector signed short)__builtin_vsx_xxblendvh(
18919
+ (vector unsigned short)__a, (vector unsigned short)__b, __c);
18667
18920
  }
18668
18921
 
18669
18922
  static __inline__ vector unsigned short __ATTRS_o_ai
@@ -18675,7 +18928,8 @@ vec_blendv(vector unsigned short __a, vector unsigned short __b,
18675
18928
  static __inline__ vector signed int __ATTRS_o_ai
18676
18929
  vec_blendv(vector signed int __a, vector signed int __b,
18677
18930
  vector unsigned int __c) {
18678
- return __builtin_vsx_xxblendvw(__a, __b, __c);
18931
+ return (vector signed int)__builtin_vsx_xxblendvw(
18932
+ (vector unsigned int)__a, (vector unsigned int)__b, __c);
18679
18933
  }
18680
18934
 
18681
18935
  static __inline__ vector unsigned int __ATTRS_o_ai
@@ -18687,33 +18941,68 @@ vec_blendv(vector unsigned int __a, vector unsigned int __b,
18687
18941
  static __inline__ vector signed long long __ATTRS_o_ai
18688
18942
  vec_blendv(vector signed long long __a, vector signed long long __b,
18689
18943
  vector unsigned long long __c) {
18690
- return __builtin_vsx_xxblendvd(__a, __b, __c);
18944
+ return (vector signed long long)__builtin_vsx_xxblendvd(
18945
+ (vector unsigned long long)__a, (vector unsigned long long)__b, __c);
18691
18946
  }
18692
18947
 
18693
18948
  static __inline__ vector unsigned long long __ATTRS_o_ai
18694
18949
  vec_blendv(vector unsigned long long __a, vector unsigned long long __b,
18695
18950
  vector unsigned long long __c) {
18696
- return __builtin_vsx_xxblendvd(__a, __b, __c);
18951
+ return (vector unsigned long long)__builtin_vsx_xxblendvd(__a, __b, __c);
18697
18952
  }
18698
18953
 
18699
18954
  static __inline__ vector float __ATTRS_o_ai
18700
18955
  vec_blendv(vector float __a, vector float __b, vector unsigned int __c) {
18701
- return __builtin_vsx_xxblendvw(__a, __b, __c);
18956
+ return (vector float)__builtin_vsx_xxblendvw((vector unsigned int)__a,
18957
+ (vector unsigned int)__b, __c);
18702
18958
  }
18703
18959
 
18704
18960
  static __inline__ vector double __ATTRS_o_ai
18705
18961
  vec_blendv(vector double __a, vector double __b,
18706
18962
  vector unsigned long long __c) {
18707
- return __builtin_vsx_xxblendvd(__a, __b, __c);
18963
+ return (vector double)__builtin_vsx_xxblendvd(
18964
+ (vector unsigned long long)__a, (vector unsigned long long)__b, __c);
18708
18965
  }
18709
18966
 
18710
- /* vec_replace_elt */
18711
-
18712
- #define vec_replace_elt __builtin_altivec_vec_replace_elt
18713
-
18714
- /* vec_replace_unaligned */
18967
+ #define vec_replace_unaligned(__a, __b, __c) \
18968
+ _Generic((__a), vector signed int \
18969
+ : __builtin_altivec_vinsw((vector unsigned char)__a, \
18970
+ (unsigned int)__b, __c), \
18971
+ vector unsigned int \
18972
+ : __builtin_altivec_vinsw((vector unsigned char)__a, \
18973
+ (unsigned int)__b, __c), \
18974
+ vector unsigned long long \
18975
+ : __builtin_altivec_vinsd((vector unsigned char)__a, \
18976
+ (unsigned long long)__b, __c), \
18977
+ vector signed long long \
18978
+ : __builtin_altivec_vinsd((vector unsigned char)__a, \
18979
+ (unsigned long long)__b, __c), \
18980
+ vector float \
18981
+ : __builtin_altivec_vinsw((vector unsigned char)__a, \
18982
+ (unsigned int)__b, __c), \
18983
+ vector double \
18984
+ : __builtin_altivec_vinsd((vector unsigned char)__a, \
18985
+ (unsigned long long)__b, __c))
18715
18986
 
18716
- #define vec_replace_unaligned __builtin_altivec_vec_replace_unaligned
18987
+ #define vec_replace_elt(__a, __b, __c) \
18988
+ _Generic((__a), vector signed int \
18989
+ : (vector signed int)__builtin_altivec_vinsw_elt( \
18990
+ (vector unsigned char)__a, (unsigned int)__b, __c), \
18991
+ vector unsigned int \
18992
+ : (vector unsigned int)__builtin_altivec_vinsw_elt( \
18993
+ (vector unsigned char)__a, (unsigned int)__b, __c), \
18994
+ vector unsigned long long \
18995
+ : (vector unsigned long long)__builtin_altivec_vinsd_elt( \
18996
+ (vector unsigned char)__a, (unsigned long long)__b, __c), \
18997
+ vector signed long long \
18998
+ : (vector signed long long)__builtin_altivec_vinsd_elt( \
18999
+ (vector unsigned char)__a, (unsigned long long)__b, __c), \
19000
+ vector float \
19001
+ : (vector float)__builtin_altivec_vinsw_elt( \
19002
+ (vector unsigned char)__a, (unsigned int)__b, __c), \
19003
+ vector double \
19004
+ : (vector double)__builtin_altivec_vinsd_elt( \
19005
+ (vector unsigned char)__a, (unsigned long long)__b, __c))
18717
19006
 
18718
19007
  /* vec_splati */
18719
19008
 
@@ -18733,36 +19022,39 @@ static __inline__ vector double __ATTRS_o_ai vec_splatid(const float __a) {
18733
19022
 
18734
19023
  static __inline__ vector signed int __ATTRS_o_ai vec_splati_ins(
18735
19024
  vector signed int __a, const unsigned int __b, const signed int __c) {
19025
+ const unsigned int __d = __b & 0x01;
18736
19026
  #ifdef __LITTLE_ENDIAN__
18737
- __a[1 - __b] = __c;
18738
- __a[3 - __b] = __c;
19027
+ __a[1 - __d] = __c;
19028
+ __a[3 - __d] = __c;
18739
19029
  #else
18740
- __a[__b] = __c;
18741
- __a[2 + __b] = __c;
19030
+ __a[__d] = __c;
19031
+ __a[2 + __d] = __c;
18742
19032
  #endif
18743
19033
  return __a;
18744
19034
  }
18745
19035
 
18746
19036
  static __inline__ vector unsigned int __ATTRS_o_ai vec_splati_ins(
18747
19037
  vector unsigned int __a, const unsigned int __b, const unsigned int __c) {
19038
+ const unsigned int __d = __b & 0x01;
18748
19039
  #ifdef __LITTLE_ENDIAN__
18749
- __a[1 - __b] = __c;
18750
- __a[3 - __b] = __c;
19040
+ __a[1 - __d] = __c;
19041
+ __a[3 - __d] = __c;
18751
19042
  #else
18752
- __a[__b] = __c;
18753
- __a[2 + __b] = __c;
19043
+ __a[__d] = __c;
19044
+ __a[2 + __d] = __c;
18754
19045
  #endif
18755
19046
  return __a;
18756
19047
  }
18757
19048
 
18758
19049
  static __inline__ vector float __ATTRS_o_ai
18759
19050
  vec_splati_ins(vector float __a, const unsigned int __b, const float __c) {
19051
+ const unsigned int __d = __b & 0x01;
18760
19052
  #ifdef __LITTLE_ENDIAN__
18761
- __a[1 - __b] = __c;
18762
- __a[3 - __b] = __c;
19053
+ __a[1 - __d] = __c;
19054
+ __a[3 - __d] = __c;
18763
19055
  #else
18764
- __a[__b] = __c;
18765
- __a[2 + __b] = __c;
19056
+ __a[__d] = __c;
19057
+ __a[2 + __d] = __c;
18766
19058
  #endif
18767
19059
  return __a;
18768
19060
  }
@@ -18787,27 +19079,33 @@ vec_test_lsbb_all_zeros(vector unsigned char __a) {
18787
19079
  static __inline__ vector unsigned char __ATTRS_o_ai
18788
19080
  vec_stril(vector unsigned char __a) {
18789
19081
  #ifdef __LITTLE_ENDIAN__
18790
- return __builtin_altivec_vstribr((vector signed char)__a);
19082
+ return (vector unsigned char)__builtin_altivec_vstribr(
19083
+ (vector unsigned char)__a);
18791
19084
  #else
18792
- return __builtin_altivec_vstribl((vector signed char)__a);
19085
+ return (vector unsigned char)__builtin_altivec_vstribl(
19086
+ (vector unsigned char)__a);
18793
19087
  #endif
18794
19088
  }
18795
19089
 
18796
19090
  static __inline__ vector signed char __ATTRS_o_ai
18797
19091
  vec_stril(vector signed char __a) {
18798
19092
  #ifdef __LITTLE_ENDIAN__
18799
- return __builtin_altivec_vstribr(__a);
19093
+ return (vector signed char)__builtin_altivec_vstribr(
19094
+ (vector unsigned char)__a);
18800
19095
  #else
18801
- return __builtin_altivec_vstribl(__a);
19096
+ return (vector signed char)__builtin_altivec_vstribl(
19097
+ (vector unsigned char)__a);
18802
19098
  #endif
18803
19099
  }
18804
19100
 
18805
19101
  static __inline__ vector unsigned short __ATTRS_o_ai
18806
19102
  vec_stril(vector unsigned short __a) {
18807
19103
  #ifdef __LITTLE_ENDIAN__
18808
- return __builtin_altivec_vstrihr((vector signed short)__a);
19104
+ return (vector unsigned short)__builtin_altivec_vstrihr(
19105
+ (vector signed short)__a);
18809
19106
  #else
18810
- return __builtin_altivec_vstrihl((vector signed short)__a);
19107
+ return (vector unsigned short)__builtin_altivec_vstrihl(
19108
+ (vector signed short)__a);
18811
19109
  #endif
18812
19110
  }
18813
19111
 
@@ -18824,17 +19122,17 @@ vec_stril(vector signed short __a) {
18824
19122
 
18825
19123
  static __inline__ int __ATTRS_o_ai vec_stril_p(vector unsigned char __a) {
18826
19124
  #ifdef __LITTLE_ENDIAN__
18827
- return __builtin_altivec_vstribr_p(__CR6_EQ, (vector signed char)__a);
19125
+ return __builtin_altivec_vstribr_p(__CR6_EQ, (vector unsigned char)__a);
18828
19126
  #else
18829
- return __builtin_altivec_vstribl_p(__CR6_EQ, (vector signed char)__a);
19127
+ return __builtin_altivec_vstribl_p(__CR6_EQ, (vector unsigned char)__a);
18830
19128
  #endif
18831
19129
  }
18832
19130
 
18833
19131
  static __inline__ int __ATTRS_o_ai vec_stril_p(vector signed char __a) {
18834
19132
  #ifdef __LITTLE_ENDIAN__
18835
- return __builtin_altivec_vstribr_p(__CR6_EQ, __a);
19133
+ return __builtin_altivec_vstribr_p(__CR6_EQ, (vector unsigned char)__a);
18836
19134
  #else
18837
- return __builtin_altivec_vstribl_p(__CR6_EQ, __a);
19135
+ return __builtin_altivec_vstribl_p(__CR6_EQ, (vector unsigned char)__a);
18838
19136
  #endif
18839
19137
  }
18840
19138
 
@@ -18859,27 +19157,33 @@ static __inline__ int __ATTRS_o_ai vec_stril_p(vector signed short __a) {
18859
19157
  static __inline__ vector unsigned char __ATTRS_o_ai
18860
19158
  vec_strir(vector unsigned char __a) {
18861
19159
  #ifdef __LITTLE_ENDIAN__
18862
- return __builtin_altivec_vstribl((vector signed char)__a);
19160
+ return (vector unsigned char)__builtin_altivec_vstribl(
19161
+ (vector unsigned char)__a);
18863
19162
  #else
18864
- return __builtin_altivec_vstribr((vector signed char)__a);
19163
+ return (vector unsigned char)__builtin_altivec_vstribr(
19164
+ (vector unsigned char)__a);
18865
19165
  #endif
18866
19166
  }
18867
19167
 
18868
19168
  static __inline__ vector signed char __ATTRS_o_ai
18869
19169
  vec_strir(vector signed char __a) {
18870
19170
  #ifdef __LITTLE_ENDIAN__
18871
- return __builtin_altivec_vstribl(__a);
19171
+ return (vector signed char)__builtin_altivec_vstribl(
19172
+ (vector unsigned char)__a);
18872
19173
  #else
18873
- return __builtin_altivec_vstribr(__a);
19174
+ return (vector signed char)__builtin_altivec_vstribr(
19175
+ (vector unsigned char)__a);
18874
19176
  #endif
18875
19177
  }
18876
19178
 
18877
19179
  static __inline__ vector unsigned short __ATTRS_o_ai
18878
19180
  vec_strir(vector unsigned short __a) {
18879
19181
  #ifdef __LITTLE_ENDIAN__
18880
- return __builtin_altivec_vstrihl((vector signed short)__a);
19182
+ return (vector unsigned short)__builtin_altivec_vstrihl(
19183
+ (vector signed short)__a);
18881
19184
  #else
18882
- return __builtin_altivec_vstrihr((vector signed short)__a);
19185
+ return (vector unsigned short)__builtin_altivec_vstrihr(
19186
+ (vector signed short)__a);
18883
19187
  #endif
18884
19188
  }
18885
19189
 
@@ -18896,17 +19200,17 @@ vec_strir(vector signed short __a) {
18896
19200
 
18897
19201
  static __inline__ int __ATTRS_o_ai vec_strir_p(vector unsigned char __a) {
18898
19202
  #ifdef __LITTLE_ENDIAN__
18899
- return __builtin_altivec_vstribl_p(__CR6_EQ, (vector signed char)__a);
19203
+ return __builtin_altivec_vstribl_p(__CR6_EQ, (vector unsigned char)__a);
18900
19204
  #else
18901
- return __builtin_altivec_vstribr_p(__CR6_EQ, (vector signed char)__a);
19205
+ return __builtin_altivec_vstribr_p(__CR6_EQ, (vector unsigned char)__a);
18902
19206
  #endif
18903
19207
  }
18904
19208
 
18905
19209
  static __inline__ int __ATTRS_o_ai vec_strir_p(vector signed char __a) {
18906
19210
  #ifdef __LITTLE_ENDIAN__
18907
- return __builtin_altivec_vstribl_p(__CR6_EQ, __a);
19211
+ return __builtin_altivec_vstribl_p(__CR6_EQ, (vector unsigned char)__a);
18908
19212
  #else
18909
- return __builtin_altivec_vstribr_p(__CR6_EQ, __a);
19213
+ return __builtin_altivec_vstribr_p(__CR6_EQ, (vector unsigned char)__a);
18910
19214
  #endif
18911
19215
  }
18912
19216
 
@@ -18976,6 +19280,51 @@ vec_sra(vector signed __int128 __a, vector unsigned __int128 __b) {
18976
19280
  #endif /* __SIZEOF_INT128__ */
18977
19281
  #endif /* __POWER10_VECTOR__ */
18978
19282
 
19283
+ #ifdef __POWER8_VECTOR__
19284
+ #define __bcdadd(__a, __b, __ps) __builtin_ppc_bcdadd((__a), (__b), (__ps))
19285
+ #define __bcdsub(__a, __b, __ps) __builtin_ppc_bcdsub((__a), (__b), (__ps))
19286
+
19287
+ static __inline__ long __bcdadd_ofl(vector unsigned char __a,
19288
+ vector unsigned char __b) {
19289
+ return __builtin_ppc_bcdadd_p(__CR6_SO, __a, __b);
19290
+ }
19291
+
19292
+ static __inline__ long __bcdsub_ofl(vector unsigned char __a,
19293
+ vector unsigned char __b) {
19294
+ return __builtin_ppc_bcdsub_p(__CR6_SO, __a, __b);
19295
+ }
19296
+
19297
+ static __inline__ long __bcd_invalid(vector unsigned char __a) {
19298
+ return __builtin_ppc_bcdsub_p(__CR6_SO, __a, __a);
19299
+ }
19300
+
19301
+ static __inline__ long __bcdcmpeq(vector unsigned char __a,
19302
+ vector unsigned char __b) {
19303
+ return __builtin_ppc_bcdsub_p(__CR6_EQ, __a, __b);
19304
+ }
19305
+
19306
+ static __inline__ long __bcdcmplt(vector unsigned char __a,
19307
+ vector unsigned char __b) {
19308
+ return __builtin_ppc_bcdsub_p(__CR6_LT, __a, __b);
19309
+ }
19310
+
19311
+ static __inline__ long __bcdcmpgt(vector unsigned char __a,
19312
+ vector unsigned char __b) {
19313
+ return __builtin_ppc_bcdsub_p(__CR6_GT, __a, __b);
19314
+ }
19315
+
19316
+ static __inline__ long __bcdcmple(vector unsigned char __a,
19317
+ vector unsigned char __b) {
19318
+ return __builtin_ppc_bcdsub_p(__CR6_GT_REV, __a, __b);
19319
+ }
19320
+
19321
+ static __inline__ long __bcdcmpge(vector unsigned char __a,
19322
+ vector unsigned char __b) {
19323
+ return __builtin_ppc_bcdsub_p(__CR6_LT_REV, __a, __b);
19324
+ }
19325
+
19326
+ #endif // __POWER8_VECTOR__
19327
+
18979
19328
  #undef __ATTRS_o_ai
18980
19329
 
18981
19330
  #endif /* __ALTIVEC_H */