@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
@@ -10,26 +10,32 @@
10
10
  #ifndef __SMMINTRIN_H
11
11
  #define __SMMINTRIN_H
12
12
 
13
+ #if !defined(__i386__) && !defined(__x86_64__)
14
+ #error "This header is only meant to be used on x86 and x64 architecture"
15
+ #endif
16
+
13
17
  #include <tmmintrin.h>
14
18
 
15
19
  /* Define the default attributes for the functions in this file. */
16
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("sse4.1"), __min_vector_width__(128)))
20
+ #define __DEFAULT_FN_ATTRS \
21
+ __attribute__((__always_inline__, __nodebug__, __target__("sse4.1"), \
22
+ __min_vector_width__(128)))
17
23
 
18
24
  /* SSE4 Rounding macros. */
19
- #define _MM_FROUND_TO_NEAREST_INT 0x00
20
- #define _MM_FROUND_TO_NEG_INF 0x01
21
- #define _MM_FROUND_TO_POS_INF 0x02
22
- #define _MM_FROUND_TO_ZERO 0x03
23
- #define _MM_FROUND_CUR_DIRECTION 0x04
24
-
25
- #define _MM_FROUND_RAISE_EXC 0x00
26
- #define _MM_FROUND_NO_EXC 0x08
27
-
28
- #define _MM_FROUND_NINT (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_NEAREST_INT)
29
- #define _MM_FROUND_FLOOR (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_NEG_INF)
30
- #define _MM_FROUND_CEIL (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_POS_INF)
31
- #define _MM_FROUND_TRUNC (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_ZERO)
32
- #define _MM_FROUND_RINT (_MM_FROUND_RAISE_EXC | _MM_FROUND_CUR_DIRECTION)
25
+ #define _MM_FROUND_TO_NEAREST_INT 0x00
26
+ #define _MM_FROUND_TO_NEG_INF 0x01
27
+ #define _MM_FROUND_TO_POS_INF 0x02
28
+ #define _MM_FROUND_TO_ZERO 0x03
29
+ #define _MM_FROUND_CUR_DIRECTION 0x04
30
+
31
+ #define _MM_FROUND_RAISE_EXC 0x00
32
+ #define _MM_FROUND_NO_EXC 0x08
33
+
34
+ #define _MM_FROUND_NINT (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_NEAREST_INT)
35
+ #define _MM_FROUND_FLOOR (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_NEG_INF)
36
+ #define _MM_FROUND_CEIL (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_POS_INF)
37
+ #define _MM_FROUND_TRUNC (_MM_FROUND_RAISE_EXC | _MM_FROUND_TO_ZERO)
38
+ #define _MM_FROUND_RINT (_MM_FROUND_RAISE_EXC | _MM_FROUND_CUR_DIRECTION)
33
39
  #define _MM_FROUND_NEARBYINT (_MM_FROUND_NO_EXC | _MM_FROUND_CUR_DIRECTION)
34
40
 
35
41
  /// Rounds up each element of the 128-bit vector of [4 x float] to an
@@ -47,7 +53,7 @@
47
53
  /// \param X
48
54
  /// A 128-bit vector of [4 x float] values to be rounded up.
49
55
  /// \returns A 128-bit vector of [4 x float] containing the rounded values.
50
- #define _mm_ceil_ps(X) _mm_round_ps((X), _MM_FROUND_CEIL)
56
+ #define _mm_ceil_ps(X) _mm_round_ps((X), _MM_FROUND_CEIL)
51
57
 
52
58
  /// Rounds up each element of the 128-bit vector of [2 x double] to an
53
59
  /// integer and returns the rounded values in a 128-bit vector of
@@ -64,7 +70,7 @@
64
70
  /// \param X
65
71
  /// A 128-bit vector of [2 x double] values to be rounded up.
66
72
  /// \returns A 128-bit vector of [2 x double] containing the rounded values.
67
- #define _mm_ceil_pd(X) _mm_round_pd((X), _MM_FROUND_CEIL)
73
+ #define _mm_ceil_pd(X) _mm_round_pd((X), _MM_FROUND_CEIL)
68
74
 
69
75
  /// Copies three upper elements of the first 128-bit vector operand to
70
76
  /// the corresponding three upper elements of the 128-bit result vector of
@@ -89,7 +95,7 @@
89
95
  /// of the result.
90
96
  /// \returns A 128-bit vector of [4 x float] containing the copied and rounded
91
97
  /// values.
92
- #define _mm_ceil_ss(X, Y) _mm_round_ss((X), (Y), _MM_FROUND_CEIL)
98
+ #define _mm_ceil_ss(X, Y) _mm_round_ss((X), (Y), _MM_FROUND_CEIL)
93
99
 
94
100
  /// Copies the upper element of the first 128-bit vector operand to the
95
101
  /// corresponding upper element of the 128-bit result vector of [2 x double].
@@ -114,7 +120,7 @@
114
120
  /// of the result.
115
121
  /// \returns A 128-bit vector of [2 x double] containing the copied and rounded
116
122
  /// values.
117
- #define _mm_ceil_sd(X, Y) _mm_round_sd((X), (Y), _MM_FROUND_CEIL)
123
+ #define _mm_ceil_sd(X, Y) _mm_round_sd((X), (Y), _MM_FROUND_CEIL)
118
124
 
119
125
  /// Rounds down each element of the 128-bit vector of [4 x float] to an
120
126
  /// an integer and returns the rounded values in a 128-bit vector of
@@ -131,7 +137,7 @@
131
137
  /// \param X
132
138
  /// A 128-bit vector of [4 x float] values to be rounded down.
133
139
  /// \returns A 128-bit vector of [4 x float] containing the rounded values.
134
- #define _mm_floor_ps(X) _mm_round_ps((X), _MM_FROUND_FLOOR)
140
+ #define _mm_floor_ps(X) _mm_round_ps((X), _MM_FROUND_FLOOR)
135
141
 
136
142
  /// Rounds down each element of the 128-bit vector of [2 x double] to an
137
143
  /// integer and returns the rounded values in a 128-bit vector of
@@ -148,7 +154,7 @@
148
154
  /// \param X
149
155
  /// A 128-bit vector of [2 x double].
150
156
  /// \returns A 128-bit vector of [2 x double] containing the rounded values.
151
- #define _mm_floor_pd(X) _mm_round_pd((X), _MM_FROUND_FLOOR)
157
+ #define _mm_floor_pd(X) _mm_round_pd((X), _MM_FROUND_FLOOR)
152
158
 
153
159
  /// Copies three upper elements of the first 128-bit vector operand to
154
160
  /// the corresponding three upper elements of the 128-bit result vector of
@@ -173,7 +179,7 @@
173
179
  /// of the result.
174
180
  /// \returns A 128-bit vector of [4 x float] containing the copied and rounded
175
181
  /// values.
176
- #define _mm_floor_ss(X, Y) _mm_round_ss((X), (Y), _MM_FROUND_FLOOR)
182
+ #define _mm_floor_ss(X, Y) _mm_round_ss((X), (Y), _MM_FROUND_FLOOR)
177
183
 
178
184
  /// Copies the upper element of the first 128-bit vector operand to the
179
185
  /// corresponding upper element of the 128-bit result vector of [2 x double].
@@ -198,7 +204,7 @@
198
204
  /// of the result.
199
205
  /// \returns A 128-bit vector of [2 x double] containing the copied and rounded
200
206
  /// values.
201
- #define _mm_floor_sd(X, Y) _mm_round_sd((X), (Y), _MM_FROUND_FLOOR)
207
+ #define _mm_floor_sd(X, Y) _mm_round_sd((X), (Y), _MM_FROUND_FLOOR)
202
208
 
203
209
  /// Rounds each element of the 128-bit vector of [4 x float] to an
204
210
  /// integer value according to the rounding control specified by the second
@@ -230,8 +236,8 @@
230
236
  /// 10: Upward (toward positive infinity) \n
231
237
  /// 11: Truncated
232
238
  /// \returns A 128-bit vector of [4 x float] containing the rounded values.
233
- #define _mm_round_ps(X, M) \
234
- (__m128)__builtin_ia32_roundps((__v4sf)(__m128)(X), (M))
239
+ #define _mm_round_ps(X, M) \
240
+ ((__m128)__builtin_ia32_roundps((__v4sf)(__m128)(X), (M)))
235
241
 
236
242
  /// Copies three upper elements of the first 128-bit vector operand to
237
243
  /// the corresponding three upper elements of the 128-bit result vector of
@@ -271,9 +277,9 @@
271
277
  /// 11: Truncated
272
278
  /// \returns A 128-bit vector of [4 x float] containing the copied and rounded
273
279
  /// values.
274
- #define _mm_round_ss(X, Y, M) \
275
- (__m128)__builtin_ia32_roundss((__v4sf)(__m128)(X), \
276
- (__v4sf)(__m128)(Y), (M))
280
+ #define _mm_round_ss(X, Y, M) \
281
+ ((__m128)__builtin_ia32_roundss((__v4sf)(__m128)(X), (__v4sf)(__m128)(Y), \
282
+ (M)))
277
283
 
278
284
  /// Rounds each element of the 128-bit vector of [2 x double] to an
279
285
  /// integer value according to the rounding control specified by the second
@@ -305,8 +311,8 @@
305
311
  /// 10: Upward (toward positive infinity) \n
306
312
  /// 11: Truncated
307
313
  /// \returns A 128-bit vector of [2 x double] containing the rounded values.
308
- #define _mm_round_pd(X, M) \
309
- (__m128d)__builtin_ia32_roundpd((__v2df)(__m128d)(X), (M))
314
+ #define _mm_round_pd(X, M) \
315
+ ((__m128d)__builtin_ia32_roundpd((__v2df)(__m128d)(X), (M)))
310
316
 
311
317
  /// Copies the upper element of the first 128-bit vector operand to the
312
318
  /// corresponding upper element of the 128-bit result vector of [2 x double].
@@ -346,9 +352,9 @@
346
352
  /// 11: Truncated
347
353
  /// \returns A 128-bit vector of [2 x double] containing the copied and rounded
348
354
  /// values.
349
- #define _mm_round_sd(X, Y, M) \
350
- (__m128d)__builtin_ia32_roundsd((__v2df)(__m128d)(X), \
351
- (__v2df)(__m128d)(Y), (M))
355
+ #define _mm_round_sd(X, Y, M) \
356
+ ((__m128d)__builtin_ia32_roundsd((__v2df)(__m128d)(X), (__v2df)(__m128d)(Y), \
357
+ (M)))
352
358
 
353
359
  /* SSE4 Packed Blending Intrinsics. */
354
360
  /// Returns a 128-bit vector of [2 x double] where the values are
@@ -375,9 +381,9 @@
375
381
  /// When a mask bit is 1, the corresponding 64-bit element in operand \a V2
376
382
  /// is copied to the same position in the result.
377
383
  /// \returns A 128-bit vector of [2 x double] containing the copied values.
378
- #define _mm_blend_pd(V1, V2, M) \
379
- (__m128d) __builtin_ia32_blendpd ((__v2df)(__m128d)(V1), \
380
- (__v2df)(__m128d)(V2), (int)(M))
384
+ #define _mm_blend_pd(V1, V2, M) \
385
+ ((__m128d)__builtin_ia32_blendpd((__v2df)(__m128d)(V1), \
386
+ (__v2df)(__m128d)(V2), (int)(M)))
381
387
 
382
388
  /// Returns a 128-bit vector of [4 x float] where the values are selected
383
389
  /// from either the first or second operand as specified by the third
@@ -403,9 +409,9 @@
403
409
  /// When a mask bit is 1, the corresponding 32-bit element in operand \a V2
404
410
  /// is copied to the same position in the result.
405
411
  /// \returns A 128-bit vector of [4 x float] containing the copied values.
406
- #define _mm_blend_ps(V1, V2, M) \
407
- (__m128) __builtin_ia32_blendps ((__v4sf)(__m128)(V1), \
408
- (__v4sf)(__m128)(V2), (int)(M))
412
+ #define _mm_blend_ps(V1, V2, M) \
413
+ ((__m128)__builtin_ia32_blendps((__v4sf)(__m128)(V1), (__v4sf)(__m128)(V2), \
414
+ (int)(M)))
409
415
 
410
416
  /// Returns a 128-bit vector of [2 x double] where the values are
411
417
  /// selected from either the first or second operand as specified by the
@@ -427,11 +433,11 @@
427
433
  /// position in the result. When a mask bit is 1, the corresponding 64-bit
428
434
  /// element in operand \a __V2 is copied to the same position in the result.
429
435
  /// \returns A 128-bit vector of [2 x double] containing the copied values.
430
- static __inline__ __m128d __DEFAULT_FN_ATTRS
431
- _mm_blendv_pd (__m128d __V1, __m128d __V2, __m128d __M)
432
- {
433
- return (__m128d) __builtin_ia32_blendvpd ((__v2df)__V1, (__v2df)__V2,
434
- (__v2df)__M);
436
+ static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_blendv_pd(__m128d __V1,
437
+ __m128d __V2,
438
+ __m128d __M) {
439
+ return (__m128d)__builtin_ia32_blendvpd((__v2df)__V1, (__v2df)__V2,
440
+ (__v2df)__M);
435
441
  }
436
442
 
437
443
  /// Returns a 128-bit vector of [4 x float] where the values are
@@ -454,11 +460,11 @@ _mm_blendv_pd (__m128d __V1, __m128d __V2, __m128d __M)
454
460
  /// position in the result. When a mask bit is 1, the corresponding 32-bit
455
461
  /// element in operand \a __V2 is copied to the same position in the result.
456
462
  /// \returns A 128-bit vector of [4 x float] containing the copied values.
457
- static __inline__ __m128 __DEFAULT_FN_ATTRS
458
- _mm_blendv_ps (__m128 __V1, __m128 __V2, __m128 __M)
459
- {
460
- return (__m128) __builtin_ia32_blendvps ((__v4sf)__V1, (__v4sf)__V2,
461
- (__v4sf)__M);
463
+ static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_blendv_ps(__m128 __V1,
464
+ __m128 __V2,
465
+ __m128 __M) {
466
+ return (__m128)__builtin_ia32_blendvps((__v4sf)__V1, (__v4sf)__V2,
467
+ (__v4sf)__M);
462
468
  }
463
469
 
464
470
  /// Returns a 128-bit vector of [16 x i8] where the values are selected
@@ -481,11 +487,11 @@ _mm_blendv_ps (__m128 __V1, __m128 __V2, __m128 __M)
481
487
  /// position in the result. When a mask bit is 1, the corresponding 8-bit
482
488
  /// element in operand \a __V2 is copied to the same position in the result.
483
489
  /// \returns A 128-bit vector of [16 x i8] containing the copied values.
484
- static __inline__ __m128i __DEFAULT_FN_ATTRS
485
- _mm_blendv_epi8 (__m128i __V1, __m128i __V2, __m128i __M)
486
- {
487
- return (__m128i) __builtin_ia32_pblendvb128 ((__v16qi)__V1, (__v16qi)__V2,
488
- (__v16qi)__M);
490
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_blendv_epi8(__m128i __V1,
491
+ __m128i __V2,
492
+ __m128i __M) {
493
+ return (__m128i)__builtin_ia32_pblendvb128((__v16qi)__V1, (__v16qi)__V2,
494
+ (__v16qi)__M);
489
495
  }
490
496
 
491
497
  /// Returns a 128-bit vector of [8 x i16] where the values are selected
@@ -512,9 +518,9 @@ _mm_blendv_epi8 (__m128i __V1, __m128i __V2, __m128i __M)
512
518
  /// When a mask bit is 1, the corresponding 16-bit element in operand \a V2
513
519
  /// is copied to the same position in the result.
514
520
  /// \returns A 128-bit vector of [8 x i16] containing the copied values.
515
- #define _mm_blend_epi16(V1, V2, M) \
516
- (__m128i) __builtin_ia32_pblendw128 ((__v8hi)(__m128i)(V1), \
517
- (__v8hi)(__m128i)(V2), (int)(M))
521
+ #define _mm_blend_epi16(V1, V2, M) \
522
+ ((__m128i)__builtin_ia32_pblendw128((__v8hi)(__m128i)(V1), \
523
+ (__v8hi)(__m128i)(V2), (int)(M)))
518
524
 
519
525
  /* SSE4 Dword Multiply Instructions. */
520
526
  /// Multiples corresponding elements of two 128-bit vectors of [4 x i32]
@@ -530,10 +536,9 @@ _mm_blendv_epi8 (__m128i __V1, __m128i __V2, __m128i __M)
530
536
  /// \param __V2
531
537
  /// A 128-bit integer vector.
532
538
  /// \returns A 128-bit integer vector containing the products of both operands.
533
- static __inline__ __m128i __DEFAULT_FN_ATTRS
534
- _mm_mullo_epi32 (__m128i __V1, __m128i __V2)
535
- {
536
- return (__m128i) ((__v4su)__V1 * (__v4su)__V2);
539
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mullo_epi32(__m128i __V1,
540
+ __m128i __V2) {
541
+ return (__m128i)((__v4su)__V1 * (__v4su)__V2);
537
542
  }
538
543
 
539
544
  /// Multiplies corresponding even-indexed elements of two 128-bit
@@ -550,10 +555,9 @@ _mm_mullo_epi32 (__m128i __V1, __m128i __V2)
550
555
  /// A 128-bit vector of [4 x i32].
551
556
  /// \returns A 128-bit vector of [2 x i64] containing the products of both
552
557
  /// operands.
553
- static __inline__ __m128i __DEFAULT_FN_ATTRS
554
- _mm_mul_epi32 (__m128i __V1, __m128i __V2)
555
- {
556
- return (__m128i) __builtin_ia32_pmuldq128 ((__v4si)__V1, (__v4si)__V2);
558
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mul_epi32(__m128i __V1,
559
+ __m128i __V2) {
560
+ return (__m128i)__builtin_ia32_pmuldq128((__v4si)__V1, (__v4si)__V2);
557
561
  }
558
562
 
559
563
  /* SSE4 Floating Point Dot Product Instructions. */
@@ -589,9 +593,8 @@ _mm_mul_epi32 (__m128i __V1, __m128i __V2)
589
593
  /// each [4 x float] subvector. If a bit is set, the dot product is returned
590
594
  /// in the corresponding element; otherwise that element is set to zero.
591
595
  /// \returns A 128-bit vector of [4 x float] containing the dot product.
592
- #define _mm_dp_ps(X, Y, M) \
593
- (__m128) __builtin_ia32_dpps((__v4sf)(__m128)(X), \
594
- (__v4sf)(__m128)(Y), (M))
596
+ #define _mm_dp_ps(X, Y, M) \
597
+ ((__m128)__builtin_ia32_dpps((__v4sf)(__m128)(X), (__v4sf)(__m128)(Y), (M)))
595
598
 
596
599
  /// Computes the dot product of the two 128-bit vectors of [2 x double]
597
600
  /// and returns it in the elements of the 128-bit result vector of
@@ -624,9 +627,9 @@ _mm_mul_epi32 (__m128i __V1, __m128i __V2)
624
627
  /// to the lowest element and bit [1] corresponding to the highest element of
625
628
  /// each [2 x double] vector. If a bit is set, the dot product is returned in
626
629
  /// the corresponding element; otherwise that element is set to zero.
627
- #define _mm_dp_pd(X, Y, M) \
628
- (__m128d) __builtin_ia32_dppd((__v2df)(__m128d)(X), \
629
- (__v2df)(__m128d)(Y), (M))
630
+ #define _mm_dp_pd(X, Y, M) \
631
+ ((__m128d)__builtin_ia32_dppd((__v2df)(__m128d)(X), (__v2df)(__m128d)(Y), \
632
+ (M)))
630
633
 
631
634
  /* SSE4 Streaming Load Hint Instruction. */
632
635
  /// Loads integer values from a 128-bit aligned memory location to a
@@ -641,10 +644,9 @@ _mm_mul_epi32 (__m128i __V1, __m128i __V2)
641
644
  /// values.
642
645
  /// \returns A 128-bit integer vector containing the data stored at the
643
646
  /// specified memory location.
644
- static __inline__ __m128i __DEFAULT_FN_ATTRS
645
- _mm_stream_load_si128 (__m128i const *__V)
646
- {
647
- return (__m128i) __builtin_nontemporal_load ((const __v2di *) __V);
647
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
648
+ _mm_stream_load_si128(__m128i const *__V) {
649
+ return (__m128i)__builtin_nontemporal_load((const __v2di *)__V);
648
650
  }
649
651
 
650
652
  /* SSE4 Packed Integer Min/Max Instructions. */
@@ -661,10 +663,9 @@ _mm_stream_load_si128 (__m128i const *__V)
661
663
  /// \param __V2
662
664
  /// A 128-bit vector of [16 x i8]
663
665
  /// \returns A 128-bit vector of [16 x i8] containing the lesser values.
664
- static __inline__ __m128i __DEFAULT_FN_ATTRS
665
- _mm_min_epi8 (__m128i __V1, __m128i __V2)
666
- {
667
- return (__m128i) __builtin_ia32_pminsb128 ((__v16qi) __V1, (__v16qi) __V2);
666
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi8(__m128i __V1,
667
+ __m128i __V2) {
668
+ return (__m128i)__builtin_elementwise_min((__v16qs)__V1, (__v16qs)__V2);
668
669
  }
669
670
 
670
671
  /// Compares the corresponding elements of two 128-bit vectors of
@@ -680,10 +681,9 @@ _mm_min_epi8 (__m128i __V1, __m128i __V2)
680
681
  /// \param __V2
681
682
  /// A 128-bit vector of [16 x i8].
682
683
  /// \returns A 128-bit vector of [16 x i8] containing the greater values.
683
- static __inline__ __m128i __DEFAULT_FN_ATTRS
684
- _mm_max_epi8 (__m128i __V1, __m128i __V2)
685
- {
686
- return (__m128i) __builtin_ia32_pmaxsb128 ((__v16qi) __V1, (__v16qi) __V2);
684
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi8(__m128i __V1,
685
+ __m128i __V2) {
686
+ return (__m128i)__builtin_elementwise_max((__v16qs)__V1, (__v16qs)__V2);
687
687
  }
688
688
 
689
689
  /// Compares the corresponding elements of two 128-bit vectors of
@@ -699,10 +699,9 @@ _mm_max_epi8 (__m128i __V1, __m128i __V2)
699
699
  /// \param __V2
700
700
  /// A 128-bit vector of [8 x u16].
701
701
  /// \returns A 128-bit vector of [8 x u16] containing the lesser values.
702
- static __inline__ __m128i __DEFAULT_FN_ATTRS
703
- _mm_min_epu16 (__m128i __V1, __m128i __V2)
704
- {
705
- return (__m128i) __builtin_ia32_pminuw128 ((__v8hi) __V1, (__v8hi) __V2);
702
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu16(__m128i __V1,
703
+ __m128i __V2) {
704
+ return (__m128i)__builtin_elementwise_min((__v8hu)__V1, (__v8hu)__V2);
706
705
  }
707
706
 
708
707
  /// Compares the corresponding elements of two 128-bit vectors of
@@ -718,10 +717,9 @@ _mm_min_epu16 (__m128i __V1, __m128i __V2)
718
717
  /// \param __V2
719
718
  /// A 128-bit vector of [8 x u16].
720
719
  /// \returns A 128-bit vector of [8 x u16] containing the greater values.
721
- static __inline__ __m128i __DEFAULT_FN_ATTRS
722
- _mm_max_epu16 (__m128i __V1, __m128i __V2)
723
- {
724
- return (__m128i) __builtin_ia32_pmaxuw128 ((__v8hi) __V1, (__v8hi) __V2);
720
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu16(__m128i __V1,
721
+ __m128i __V2) {
722
+ return (__m128i)__builtin_elementwise_max((__v8hu)__V1, (__v8hu)__V2);
725
723
  }
726
724
 
727
725
  /// Compares the corresponding elements of two 128-bit vectors of
@@ -737,10 +735,9 @@ _mm_max_epu16 (__m128i __V1, __m128i __V2)
737
735
  /// \param __V2
738
736
  /// A 128-bit vector of [4 x i32].
739
737
  /// \returns A 128-bit vector of [4 x i32] containing the lesser values.
740
- static __inline__ __m128i __DEFAULT_FN_ATTRS
741
- _mm_min_epi32 (__m128i __V1, __m128i __V2)
742
- {
743
- return (__m128i) __builtin_ia32_pminsd128 ((__v4si) __V1, (__v4si) __V2);
738
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi32(__m128i __V1,
739
+ __m128i __V2) {
740
+ return (__m128i)__builtin_elementwise_min((__v4si)__V1, (__v4si)__V2);
744
741
  }
745
742
 
746
743
  /// Compares the corresponding elements of two 128-bit vectors of
@@ -756,10 +753,9 @@ _mm_min_epi32 (__m128i __V1, __m128i __V2)
756
753
  /// \param __V2
757
754
  /// A 128-bit vector of [4 x i32].
758
755
  /// \returns A 128-bit vector of [4 x i32] containing the greater values.
759
- static __inline__ __m128i __DEFAULT_FN_ATTRS
760
- _mm_max_epi32 (__m128i __V1, __m128i __V2)
761
- {
762
- return (__m128i) __builtin_ia32_pmaxsd128 ((__v4si) __V1, (__v4si) __V2);
756
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi32(__m128i __V1,
757
+ __m128i __V2) {
758
+ return (__m128i)__builtin_elementwise_max((__v4si)__V1, (__v4si)__V2);
763
759
  }
764
760
 
765
761
  /// Compares the corresponding elements of two 128-bit vectors of
@@ -775,10 +771,9 @@ _mm_max_epi32 (__m128i __V1, __m128i __V2)
775
771
  /// \param __V2
776
772
  /// A 128-bit vector of [4 x u32].
777
773
  /// \returns A 128-bit vector of [4 x u32] containing the lesser values.
778
- static __inline__ __m128i __DEFAULT_FN_ATTRS
779
- _mm_min_epu32 (__m128i __V1, __m128i __V2)
780
- {
781
- return (__m128i) __builtin_ia32_pminud128((__v4si) __V1, (__v4si) __V2);
774
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu32(__m128i __V1,
775
+ __m128i __V2) {
776
+ return (__m128i)__builtin_elementwise_min((__v4su)__V1, (__v4su)__V2);
782
777
  }
783
778
 
784
779
  /// Compares the corresponding elements of two 128-bit vectors of
@@ -794,10 +789,9 @@ _mm_min_epu32 (__m128i __V1, __m128i __V2)
794
789
  /// \param __V2
795
790
  /// A 128-bit vector of [4 x u32].
796
791
  /// \returns A 128-bit vector of [4 x u32] containing the greater values.
797
- static __inline__ __m128i __DEFAULT_FN_ATTRS
798
- _mm_max_epu32 (__m128i __V1, __m128i __V2)
799
- {
800
- return (__m128i) __builtin_ia32_pmaxud128((__v4si) __V1, (__v4si) __V2);
792
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu32(__m128i __V1,
793
+ __m128i __V2) {
794
+ return (__m128i)__builtin_elementwise_max((__v4su)__V1, (__v4su)__V2);
801
795
  }
802
796
 
803
797
  /* SSE4 Insertion and Extraction from XMM Register Instructions. */
@@ -865,23 +859,24 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2)
865
859
  /// 10: Bits [95:64] of parameter \a X are returned. \n
866
860
  /// 11: Bits [127:96] of parameter \a X are returned.
867
861
  /// \returns A 32-bit integer containing the extracted 32 bits of float data.
868
- #define _mm_extract_ps(X, N) (__extension__ \
869
- ({ union { int __i; float __f; } __t; \
870
- __t.__f = __builtin_ia32_vec_ext_v4sf((__v4sf)(__m128)(X), (int)(N)); \
871
- __t.__i;}))
862
+ #define _mm_extract_ps(X, N) \
863
+ __builtin_bit_cast( \
864
+ int, __builtin_ia32_vec_ext_v4sf((__v4sf)(__m128)(X), (int)(N)))
872
865
 
873
866
  /* Miscellaneous insert and extract macros. */
874
867
  /* Extract a single-precision float from X at index N into D. */
875
- #define _MM_EXTRACT_FLOAT(D, X, N) \
876
- { (D) = __builtin_ia32_vec_ext_v4sf((__v4sf)(__m128)(X), (int)(N)); }
868
+ #define _MM_EXTRACT_FLOAT(D, X, N) \
869
+ do { \
870
+ (D) = __builtin_ia32_vec_ext_v4sf((__v4sf)(__m128)(X), (int)(N)); \
871
+ } while (0)
877
872
 
878
873
  /* Or together 2 sets of indexes (X and Y) with the zeroing bits (Z) to create
879
874
  an index suitable for _mm_insert_ps. */
880
875
  #define _MM_MK_INSERTPS_NDX(X, Y, Z) (((X) << 6) | ((Y) << 4) | (Z))
881
876
 
882
877
  /* Extract a float from X at index N into the first index of the return. */
883
- #define _MM_PICK_OUT_PS(X, N) _mm_insert_ps (_mm_setzero_ps(), (X), \
884
- _MM_MK_INSERTPS_NDX((N), 0, 0x0e))
878
+ #define _MM_PICK_OUT_PS(X, N) \
879
+ _mm_insert_ps(_mm_setzero_ps(), (X), _MM_MK_INSERTPS_NDX((N), 0, 0x0e))
885
880
 
886
881
  /* Insert int into packed integer array at index. */
887
882
  /// Constructs a 128-bit vector of [16 x i8] by first making a copy of
@@ -924,9 +919,9 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2)
924
919
  /// 1110: Bits [119:112] of the result are used for insertion. \n
925
920
  /// 1111: Bits [127:120] of the result are used for insertion.
926
921
  /// \returns A 128-bit integer vector containing the constructed values.
927
- #define _mm_insert_epi8(X, I, N) \
928
- (__m128i)__builtin_ia32_vec_set_v16qi((__v16qi)(__m128i)(X), \
929
- (int)(I), (int)(N))
922
+ #define _mm_insert_epi8(X, I, N) \
923
+ ((__m128i)__builtin_ia32_vec_set_v16qi((__v16qi)(__m128i)(X), (int)(I), \
924
+ (int)(N)))
930
925
 
931
926
  /// Constructs a 128-bit vector of [4 x i32] by first making a copy of
932
927
  /// the 128-bit integer vector parameter, and then inserting the 32-bit
@@ -956,9 +951,9 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2)
956
951
  /// 10: Bits [95:64] of the result are used for insertion. \n
957
952
  /// 11: Bits [127:96] of the result are used for insertion.
958
953
  /// \returns A 128-bit integer vector containing the constructed values.
959
- #define _mm_insert_epi32(X, I, N) \
960
- (__m128i)__builtin_ia32_vec_set_v4si((__v4si)(__m128i)(X), \
961
- (int)(I), (int)(N))
954
+ #define _mm_insert_epi32(X, I, N) \
955
+ ((__m128i)__builtin_ia32_vec_set_v4si((__v4si)(__m128i)(X), (int)(I), \
956
+ (int)(N)))
962
957
 
963
958
  #ifdef __x86_64__
964
959
  /// Constructs a 128-bit vector of [2 x i64] by first making a copy of
@@ -987,9 +982,9 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2)
987
982
  /// 0: Bits [63:0] of the result are used for insertion. \n
988
983
  /// 1: Bits [127:64] of the result are used for insertion. \n
989
984
  /// \returns A 128-bit integer vector containing the constructed values.
990
- #define _mm_insert_epi64(X, I, N) \
991
- (__m128i)__builtin_ia32_vec_set_v2di((__v2di)(__m128i)(X), \
992
- (long long)(I), (int)(N))
985
+ #define _mm_insert_epi64(X, I, N) \
986
+ ((__m128i)__builtin_ia32_vec_set_v2di((__v2di)(__m128i)(X), (long long)(I), \
987
+ (int)(N)))
993
988
  #endif /* __x86_64__ */
994
989
 
995
990
  /* Extract int from packed integer array at index. This returns the element
@@ -1030,9 +1025,9 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2)
1030
1025
  /// \returns An unsigned integer, whose lower 8 bits are selected from the
1031
1026
  /// 128-bit integer vector parameter and the remaining bits are assigned
1032
1027
  /// zeros.
1033
- #define _mm_extract_epi8(X, N) \
1034
- (int)(unsigned char)__builtin_ia32_vec_ext_v16qi((__v16qi)(__m128i)(X), \
1035
- (int)(N))
1028
+ #define _mm_extract_epi8(X, N) \
1029
+ ((int)(unsigned char)__builtin_ia32_vec_ext_v16qi((__v16qi)(__m128i)(X), \
1030
+ (int)(N)))
1036
1031
 
1037
1032
  /// Extracts a 32-bit element from the 128-bit integer vector of
1038
1033
  /// [4 x i32], using the immediate value parameter \a N as a selector.
@@ -1056,10 +1051,9 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2)
1056
1051
  /// 11: Bits [127:96] of the parameter \a X are exracted.
1057
1052
  /// \returns An integer, whose lower 32 bits are selected from the 128-bit
1058
1053
  /// integer vector parameter and the remaining bits are assigned zeros.
1059
- #define _mm_extract_epi32(X, N) \
1060
- (int)__builtin_ia32_vec_ext_v4si((__v4si)(__m128i)(X), (int)(N))
1054
+ #define _mm_extract_epi32(X, N) \
1055
+ ((int)__builtin_ia32_vec_ext_v4si((__v4si)(__m128i)(X), (int)(N)))
1061
1056
 
1062
- #ifdef __x86_64__
1063
1057
  /// Extracts a 64-bit element from the 128-bit integer vector of
1064
1058
  /// [2 x i64], using the immediate value parameter \a N as a selector.
1065
1059
  ///
@@ -1069,7 +1063,8 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2)
1069
1063
  /// long long _mm_extract_epi64(__m128i X, const int N);
1070
1064
  /// \endcode
1071
1065
  ///
1072
- /// This intrinsic corresponds to the <c> VPEXTRQ / PEXTRQ </c> instruction.
1066
+ /// This intrinsic corresponds to the <c> VPEXTRQ / PEXTRQ </c> instruction
1067
+ /// in 64-bit mode.
1073
1068
  ///
1074
1069
  /// \param X
1075
1070
  /// A 128-bit integer vector.
@@ -1079,9 +1074,8 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2)
1079
1074
  /// 0: Bits [63:0] are returned. \n
1080
1075
  /// 1: Bits [127:64] are returned. \n
1081
1076
  /// \returns A 64-bit integer.
1082
- #define _mm_extract_epi64(X, N) \
1083
- (long long)__builtin_ia32_vec_ext_v2di((__v2di)(__m128i)(X), (int)(N))
1084
- #endif /* __x86_64 */
1077
+ #define _mm_extract_epi64(X, N) \
1078
+ ((long long)__builtin_ia32_vec_ext_v2di((__v2di)(__m128i)(X), (int)(N)))
1085
1079
 
1086
1080
  /* SSE4 128-bit Packed Integer Comparisons. */
1087
1081
  /// Tests whether the specified bits in a 128-bit integer vector are all
@@ -1096,9 +1090,8 @@ _mm_max_epu32 (__m128i __V1, __m128i __V2)
1096
1090
  /// \param __V
1097
1091
  /// A 128-bit integer vector selecting which bits to test in operand \a __M.
1098
1092
  /// \returns TRUE if the specified bits are all zeros; FALSE otherwise.
1099
- static __inline__ int __DEFAULT_FN_ATTRS
1100
- _mm_testz_si128(__m128i __M, __m128i __V)
1101
- {
1093
+ static __inline__ int __DEFAULT_FN_ATTRS _mm_testz_si128(__m128i __M,
1094
+ __m128i __V) {
1102
1095
  return __builtin_ia32_ptestz128((__v2di)__M, (__v2di)__V);
1103
1096
  }
1104
1097
 
@@ -1114,9 +1107,8 @@ _mm_testz_si128(__m128i __M, __m128i __V)
1114
1107
  /// \param __V
1115
1108
  /// A 128-bit integer vector selecting which bits to test in operand \a __M.
1116
1109
  /// \returns TRUE if the specified bits are all ones; FALSE otherwise.
1117
- static __inline__ int __DEFAULT_FN_ATTRS
1118
- _mm_testc_si128(__m128i __M, __m128i __V)
1119
- {
1110
+ static __inline__ int __DEFAULT_FN_ATTRS _mm_testc_si128(__m128i __M,
1111
+ __m128i __V) {
1120
1112
  return __builtin_ia32_ptestc128((__v2di)__M, (__v2di)__V);
1121
1113
  }
1122
1114
 
@@ -1133,9 +1125,8 @@ _mm_testc_si128(__m128i __M, __m128i __V)
1133
1125
  /// A 128-bit integer vector selecting which bits to test in operand \a __M.
1134
1126
  /// \returns TRUE if the specified bits are neither all zeros nor all ones;
1135
1127
  /// FALSE otherwise.
1136
- static __inline__ int __DEFAULT_FN_ATTRS
1137
- _mm_testnzc_si128(__m128i __M, __m128i __V)
1138
- {
1128
+ static __inline__ int __DEFAULT_FN_ATTRS _mm_testnzc_si128(__m128i __M,
1129
+ __m128i __V) {
1139
1130
  return __builtin_ia32_ptestnzc128((__v2di)__M, (__v2di)__V);
1140
1131
  }
1141
1132
 
@@ -1191,7 +1182,7 @@ _mm_testnzc_si128(__m128i __M, __m128i __V)
1191
1182
  /// \param V
1192
1183
  /// A 128-bit integer vector selecting which bits to test in operand \a M.
1193
1184
  /// \returns TRUE if the specified bits are all zeros; FALSE otherwise.
1194
- #define _mm_test_all_zeros(M, V) _mm_testz_si128 ((M), (V))
1185
+ #define _mm_test_all_zeros(M, V) _mm_testz_si128((M), (V))
1195
1186
 
1196
1187
  /* SSE4 64-bit Packed Integer Comparisons. */
1197
1188
  /// Compares each of the corresponding 64-bit values of the 128-bit
@@ -1206,9 +1197,8 @@ _mm_testnzc_si128(__m128i __M, __m128i __V)
1206
1197
  /// \param __V2
1207
1198
  /// A 128-bit integer vector.
1208
1199
  /// \returns A 128-bit integer vector containing the comparison results.
1209
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1210
- _mm_cmpeq_epi64(__m128i __V1, __m128i __V2)
1211
- {
1200
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi64(__m128i __V1,
1201
+ __m128i __V2) {
1212
1202
  return (__m128i)((__v2di)__V1 == (__v2di)__V2);
1213
1203
  }
1214
1204
 
@@ -1223,15 +1213,16 @@ _mm_cmpeq_epi64(__m128i __V1, __m128i __V2)
1223
1213
  /// This intrinsic corresponds to the <c> VPMOVSXBW / PMOVSXBW </c> instruction.
1224
1214
  ///
1225
1215
  /// \param __V
1226
- /// A 128-bit vector of [16 x i8]. The lower eight 8-bit elements are sign-
1227
- /// extended to 16-bit values.
1216
+ /// A 128-bit vector of [16 x i8]. The lower eight 8-bit elements are
1217
+ /// sign-extended to 16-bit values.
1228
1218
  /// \returns A 128-bit vector of [8 x i16] containing the sign-extended values.
1229
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1230
- _mm_cvtepi8_epi16(__m128i __V)
1231
- {
1219
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi16(__m128i __V) {
1232
1220
  /* This function always performs a signed extension, but __v16qi is a char
1233
1221
  which may be signed or unsigned, so use __v16qs. */
1234
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3, 4, 5, 6, 7), __v8hi);
1222
+ return (__m128i) __builtin_convertvector(
1223
+ __builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3, 4, 5, 6,
1224
+ 7),
1225
+ __v8hi);
1235
1226
  }
1236
1227
 
1237
1228
  /// Sign-extends each of the lower four 8-bit integer elements of a
@@ -1247,12 +1238,11 @@ _mm_cvtepi8_epi16(__m128i __V)
1247
1238
  /// A 128-bit vector of [16 x i8]. The lower four 8-bit elements are
1248
1239
  /// sign-extended to 32-bit values.
1249
1240
  /// \returns A 128-bit vector of [4 x i32] containing the sign-extended values.
1250
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1251
- _mm_cvtepi8_epi32(__m128i __V)
1252
- {
1241
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi32(__m128i __V) {
1253
1242
  /* This function always performs a signed extension, but __v16qi is a char
1254
1243
  which may be signed or unsigned, so use __v16qs. */
1255
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3), __v4si);
1244
+ return (__m128i) __builtin_convertvector(
1245
+ __builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3), __v4si);
1256
1246
  }
1257
1247
 
1258
1248
  /// Sign-extends each of the lower two 8-bit integer elements of a
@@ -1268,12 +1258,11 @@ _mm_cvtepi8_epi32(__m128i __V)
1268
1258
  /// A 128-bit vector of [16 x i8]. The lower two 8-bit elements are
1269
1259
  /// sign-extended to 64-bit values.
1270
1260
  /// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
1271
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1272
- _mm_cvtepi8_epi64(__m128i __V)
1273
- {
1261
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi64(__m128i __V) {
1274
1262
  /* This function always performs a signed extension, but __v16qi is a char
1275
1263
  which may be signed or unsigned, so use __v16qs. */
1276
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1), __v2di);
1264
+ return (__m128i) __builtin_convertvector(
1265
+ __builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1), __v2di);
1277
1266
  }
1278
1267
 
1279
1268
  /// Sign-extends each of the lower four 16-bit integer elements of a
@@ -1289,10 +1278,9 @@ _mm_cvtepi8_epi64(__m128i __V)
1289
1278
  /// A 128-bit vector of [8 x i16]. The lower four 16-bit elements are
1290
1279
  /// sign-extended to 32-bit values.
1291
1280
  /// \returns A 128-bit vector of [4 x i32] containing the sign-extended values.
1292
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1293
- _mm_cvtepi16_epi32(__m128i __V)
1294
- {
1295
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1, 2, 3), __v4si);
1281
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi16_epi32(__m128i __V) {
1282
+ return (__m128i) __builtin_convertvector(
1283
+ __builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1, 2, 3), __v4si);
1296
1284
  }
1297
1285
 
1298
1286
  /// Sign-extends each of the lower two 16-bit integer elements of a
@@ -1308,10 +1296,9 @@ _mm_cvtepi16_epi32(__m128i __V)
1308
1296
  /// A 128-bit vector of [8 x i16]. The lower two 16-bit elements are
1309
1297
  /// sign-extended to 64-bit values.
1310
1298
  /// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
1311
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1312
- _mm_cvtepi16_epi64(__m128i __V)
1313
- {
1314
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1), __v2di);
1299
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi16_epi64(__m128i __V) {
1300
+ return (__m128i) __builtin_convertvector(
1301
+ __builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1), __v2di);
1315
1302
  }
1316
1303
 
1317
1304
  /// Sign-extends each of the lower two 32-bit integer elements of a
@@ -1327,10 +1314,9 @@ _mm_cvtepi16_epi64(__m128i __V)
1327
1314
  /// A 128-bit vector of [4 x i32]. The lower two 32-bit elements are
1328
1315
  /// sign-extended to 64-bit values.
1329
1316
  /// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
1330
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1331
- _mm_cvtepi32_epi64(__m128i __V)
1332
- {
1333
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v4si)__V, (__v4si)__V, 0, 1), __v2di);
1317
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi32_epi64(__m128i __V) {
1318
+ return (__m128i) __builtin_convertvector(
1319
+ __builtin_shufflevector((__v4si)__V, (__v4si)__V, 0, 1), __v2di);
1334
1320
  }
1335
1321
 
1336
1322
  /* SSE4 Packed Integer Zero-Extension. */
@@ -1347,10 +1333,11 @@ _mm_cvtepi32_epi64(__m128i __V)
1347
1333
  /// A 128-bit vector of [16 x i8]. The lower eight 8-bit elements are
1348
1334
  /// zero-extended to 16-bit values.
1349
1335
  /// \returns A 128-bit vector of [8 x i16] containing the zero-extended values.
1350
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1351
- _mm_cvtepu8_epi16(__m128i __V)
1352
- {
1353
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3, 4, 5, 6, 7), __v8hi);
1336
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi16(__m128i __V) {
1337
+ return (__m128i) __builtin_convertvector(
1338
+ __builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3, 4, 5, 6,
1339
+ 7),
1340
+ __v8hi);
1354
1341
  }
1355
1342
 
1356
1343
  /// Zero-extends each of the lower four 8-bit integer elements of a
@@ -1366,10 +1353,9 @@ _mm_cvtepu8_epi16(__m128i __V)
1366
1353
  /// A 128-bit vector of [16 x i8]. The lower four 8-bit elements are
1367
1354
  /// zero-extended to 32-bit values.
1368
1355
  /// \returns A 128-bit vector of [4 x i32] containing the zero-extended values.
1369
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1370
- _mm_cvtepu8_epi32(__m128i __V)
1371
- {
1372
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3), __v4si);
1356
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi32(__m128i __V) {
1357
+ return (__m128i) __builtin_convertvector(
1358
+ __builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3), __v4si);
1373
1359
  }
1374
1360
 
1375
1361
  /// Zero-extends each of the lower two 8-bit integer elements of a
@@ -1385,10 +1371,9 @@ _mm_cvtepu8_epi32(__m128i __V)
1385
1371
  /// A 128-bit vector of [16 x i8]. The lower two 8-bit elements are
1386
1372
  /// zero-extended to 64-bit values.
1387
1373
  /// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
1388
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1389
- _mm_cvtepu8_epi64(__m128i __V)
1390
- {
1391
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1), __v2di);
1374
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi64(__m128i __V) {
1375
+ return (__m128i) __builtin_convertvector(
1376
+ __builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1), __v2di);
1392
1377
  }
1393
1378
 
1394
1379
  /// Zero-extends each of the lower four 16-bit integer elements of a
@@ -1404,10 +1389,9 @@ _mm_cvtepu8_epi64(__m128i __V)
1404
1389
  /// A 128-bit vector of [8 x i16]. The lower four 16-bit elements are
1405
1390
  /// zero-extended to 32-bit values.
1406
1391
  /// \returns A 128-bit vector of [4 x i32] containing the zero-extended values.
1407
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1408
- _mm_cvtepu16_epi32(__m128i __V)
1409
- {
1410
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1, 2, 3), __v4si);
1392
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu16_epi32(__m128i __V) {
1393
+ return (__m128i) __builtin_convertvector(
1394
+ __builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1, 2, 3), __v4si);
1411
1395
  }
1412
1396
 
1413
1397
  /// Zero-extends each of the lower two 16-bit integer elements of a
@@ -1423,10 +1407,9 @@ _mm_cvtepu16_epi32(__m128i __V)
1423
1407
  /// A 128-bit vector of [8 x i16]. The lower two 16-bit elements are
1424
1408
  /// zero-extended to 64-bit values.
1425
1409
  /// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
1426
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1427
- _mm_cvtepu16_epi64(__m128i __V)
1428
- {
1429
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1), __v2di);
1410
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu16_epi64(__m128i __V) {
1411
+ return (__m128i) __builtin_convertvector(
1412
+ __builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1), __v2di);
1430
1413
  }
1431
1414
 
1432
1415
  /// Zero-extends each of the lower two 32-bit integer elements of a
@@ -1442,10 +1425,9 @@ _mm_cvtepu16_epi64(__m128i __V)
1442
1425
  /// A 128-bit vector of [4 x i32]. The lower two 32-bit elements are
1443
1426
  /// zero-extended to 64-bit values.
1444
1427
  /// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
1445
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1446
- _mm_cvtepu32_epi64(__m128i __V)
1447
- {
1448
- return (__m128i)__builtin_convertvector(__builtin_shufflevector((__v4su)__V, (__v4su)__V, 0, 1), __v2di);
1428
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu32_epi64(__m128i __V) {
1429
+ return (__m128i) __builtin_convertvector(
1430
+ __builtin_shufflevector((__v4su)__V, (__v4su)__V, 0, 1), __v2di);
1449
1431
  }
1450
1432
 
1451
1433
  /* SSE4 Pack with Unsigned Saturation. */
@@ -1471,10 +1453,9 @@ _mm_cvtepu32_epi64(__m128i __V)
1471
1453
  /// less than 0x0000 are saturated to 0x0000. The converted [4 x i16] values
1472
1454
  /// are written to the higher 64 bits of the result.
1473
1455
  /// \returns A 128-bit vector of [8 x i16] containing the converted values.
1474
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1475
- _mm_packus_epi32(__m128i __V1, __m128i __V2)
1476
- {
1477
- return (__m128i) __builtin_ia32_packusdw128((__v4si)__V1, (__v4si)__V2);
1456
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packus_epi32(__m128i __V1,
1457
+ __m128i __V2) {
1458
+ return (__m128i)__builtin_ia32_packusdw128((__v4si)__V1, (__v4si)__V2);
1478
1459
  }
1479
1460
 
1480
1461
  /* SSE4 Multiple Packed Sums of Absolute Difference. */
@@ -1513,9 +1494,9 @@ _mm_packus_epi32(__m128i __V1, __m128i __V2)
1513
1494
  /// \endcode
1514
1495
  /// \returns A 128-bit integer vector containing the sums of the sets of
1515
1496
  /// absolute differences between both operands.
1516
- #define _mm_mpsadbw_epu8(X, Y, M) \
1517
- (__m128i) __builtin_ia32_mpsadbw128((__v16qi)(__m128i)(X), \
1518
- (__v16qi)(__m128i)(Y), (M))
1497
+ #define _mm_mpsadbw_epu8(X, Y, M) \
1498
+ ((__m128i)__builtin_ia32_mpsadbw128((__v16qi)(__m128i)(X), \
1499
+ (__v16qi)(__m128i)(Y), (M)))
1519
1500
 
1520
1501
  /// Finds the minimum unsigned 16-bit element in the input 128-bit
1521
1502
  /// vector of [8 x u16] and returns it and along with its index.
@@ -1530,10 +1511,8 @@ _mm_packus_epi32(__m128i __V1, __m128i __V2)
1530
1511
  /// \returns A 128-bit value where bits [15:0] contain the minimum value found
1531
1512
  /// in parameter \a __V, bits [18:16] contain the index of the minimum value
1532
1513
  /// and the remaining bits are set to 0.
1533
- static __inline__ __m128i __DEFAULT_FN_ATTRS
1534
- _mm_minpos_epu16(__m128i __V)
1535
- {
1536
- return (__m128i) __builtin_ia32_phminposuw128((__v8hi)__V);
1514
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_minpos_epu16(__m128i __V) {
1515
+ return (__m128i)__builtin_ia32_phminposuw128((__v8hi)__V);
1537
1516
  }
1538
1517
 
1539
1518
  /* Handle the sse4.2 definitions here. */
@@ -1542,33 +1521,34 @@ _mm_minpos_epu16(__m128i __V)
1542
1521
  so we'll do the same. */
1543
1522
 
1544
1523
  #undef __DEFAULT_FN_ATTRS
1545
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("sse4.2")))
1524
+ #define __DEFAULT_FN_ATTRS \
1525
+ __attribute__((__always_inline__, __nodebug__, __target__("sse4.2")))
1546
1526
 
1547
1527
  /* These specify the type of data that we're comparing. */
1548
- #define _SIDD_UBYTE_OPS 0x00
1549
- #define _SIDD_UWORD_OPS 0x01
1550
- #define _SIDD_SBYTE_OPS 0x02
1551
- #define _SIDD_SWORD_OPS 0x03
1528
+ #define _SIDD_UBYTE_OPS 0x00
1529
+ #define _SIDD_UWORD_OPS 0x01
1530
+ #define _SIDD_SBYTE_OPS 0x02
1531
+ #define _SIDD_SWORD_OPS 0x03
1552
1532
 
1553
1533
  /* These specify the type of comparison operation. */
1554
- #define _SIDD_CMP_EQUAL_ANY 0x00
1555
- #define _SIDD_CMP_RANGES 0x04
1556
- #define _SIDD_CMP_EQUAL_EACH 0x08
1557
- #define _SIDD_CMP_EQUAL_ORDERED 0x0c
1534
+ #define _SIDD_CMP_EQUAL_ANY 0x00
1535
+ #define _SIDD_CMP_RANGES 0x04
1536
+ #define _SIDD_CMP_EQUAL_EACH 0x08
1537
+ #define _SIDD_CMP_EQUAL_ORDERED 0x0c
1558
1538
 
1559
1539
  /* These macros specify the polarity of the operation. */
1560
- #define _SIDD_POSITIVE_POLARITY 0x00
1561
- #define _SIDD_NEGATIVE_POLARITY 0x10
1562
- #define _SIDD_MASKED_POSITIVE_POLARITY 0x20
1563
- #define _SIDD_MASKED_NEGATIVE_POLARITY 0x30
1540
+ #define _SIDD_POSITIVE_POLARITY 0x00
1541
+ #define _SIDD_NEGATIVE_POLARITY 0x10
1542
+ #define _SIDD_MASKED_POSITIVE_POLARITY 0x20
1543
+ #define _SIDD_MASKED_NEGATIVE_POLARITY 0x30
1564
1544
 
1565
1545
  /* These macros are used in _mm_cmpXstri() to specify the return. */
1566
- #define _SIDD_LEAST_SIGNIFICANT 0x00
1567
- #define _SIDD_MOST_SIGNIFICANT 0x40
1546
+ #define _SIDD_LEAST_SIGNIFICANT 0x00
1547
+ #define _SIDD_MOST_SIGNIFICANT 0x40
1568
1548
 
1569
1549
  /* These macros are used in _mm_cmpXstri() to specify the return. */
1570
- #define _SIDD_BIT_MASK 0x00
1571
- #define _SIDD_UNIT_MASK 0x40
1550
+ #define _SIDD_BIT_MASK 0x00
1551
+ #define _SIDD_UNIT_MASK 0x40
1572
1552
 
1573
1553
  /* SSE4.2 Packed Comparison Intrinsics. */
1574
1554
  /// Uses the immediate operand \a M to perform a comparison of string
@@ -1623,9 +1603,9 @@ _mm_minpos_epu16(__m128i __V)
1623
1603
  /// repeating each bit 8 or 16 times).
1624
1604
  /// \returns Returns a 128-bit integer vector representing the result mask of
1625
1605
  /// the comparison.
1626
- #define _mm_cmpistrm(A, B, M) \
1627
- (__m128i)__builtin_ia32_pcmpistrm128((__v16qi)(__m128i)(A), \
1628
- (__v16qi)(__m128i)(B), (int)(M))
1606
+ #define _mm_cmpistrm(A, B, M) \
1607
+ ((__m128i)__builtin_ia32_pcmpistrm128((__v16qi)(__m128i)(A), \
1608
+ (__v16qi)(__m128i)(B), (int)(M)))
1629
1609
 
1630
1610
  /// Uses the immediate operand \a M to perform a comparison of string
1631
1611
  /// data with implicitly defined lengths that is contained in source operands
@@ -1677,9 +1657,9 @@ _mm_minpos_epu16(__m128i __V)
1677
1657
  /// 0: The index of the least significant set bit. \n
1678
1658
  /// 1: The index of the most significant set bit. \n
1679
1659
  /// \returns Returns an integer representing the result index of the comparison.
1680
- #define _mm_cmpistri(A, B, M) \
1681
- (int)__builtin_ia32_pcmpistri128((__v16qi)(__m128i)(A), \
1682
- (__v16qi)(__m128i)(B), (int)(M))
1660
+ #define _mm_cmpistri(A, B, M) \
1661
+ ((int)__builtin_ia32_pcmpistri128((__v16qi)(__m128i)(A), \
1662
+ (__v16qi)(__m128i)(B), (int)(M)))
1683
1663
 
1684
1664
  /// Uses the immediate operand \a M to perform a comparison of string
1685
1665
  /// data with explicitly defined lengths that is contained in source operands
@@ -1737,10 +1717,10 @@ _mm_minpos_epu16(__m128i __V)
1737
1717
  /// repeating each bit 8 or 16 times). \n
1738
1718
  /// \returns Returns a 128-bit integer vector representing the result mask of
1739
1719
  /// the comparison.
1740
- #define _mm_cmpestrm(A, LA, B, LB, M) \
1741
- (__m128i)__builtin_ia32_pcmpestrm128((__v16qi)(__m128i)(A), (int)(LA), \
1742
- (__v16qi)(__m128i)(B), (int)(LB), \
1743
- (int)(M))
1720
+ #define _mm_cmpestrm(A, LA, B, LB, M) \
1721
+ ((__m128i)__builtin_ia32_pcmpestrm128((__v16qi)(__m128i)(A), (int)(LA), \
1722
+ (__v16qi)(__m128i)(B), (int)(LB), \
1723
+ (int)(M)))
1744
1724
 
1745
1725
  /// Uses the immediate operand \a M to perform a comparison of string
1746
1726
  /// data with explicitly defined lengths that is contained in source operands
@@ -1796,10 +1776,10 @@ _mm_minpos_epu16(__m128i __V)
1796
1776
  /// 0: The index of the least significant set bit. \n
1797
1777
  /// 1: The index of the most significant set bit. \n
1798
1778
  /// \returns Returns an integer representing the result index of the comparison.
1799
- #define _mm_cmpestri(A, LA, B, LB, M) \
1800
- (int)__builtin_ia32_pcmpestri128((__v16qi)(__m128i)(A), (int)(LA), \
1801
- (__v16qi)(__m128i)(B), (int)(LB), \
1802
- (int)(M))
1779
+ #define _mm_cmpestri(A, LA, B, LB, M) \
1780
+ ((int)__builtin_ia32_pcmpestri128((__v16qi)(__m128i)(A), (int)(LA), \
1781
+ (__v16qi)(__m128i)(B), (int)(LB), \
1782
+ (int)(M)))
1803
1783
 
1804
1784
  /* SSE4.2 Packed Comparison Intrinsics and EFlag Reading. */
1805
1785
  /// Uses the immediate operand \a M to perform a comparison of string
@@ -1848,9 +1828,9 @@ _mm_minpos_epu16(__m128i __V)
1848
1828
  /// to the size of \a A or \a B. \n
1849
1829
  /// \returns Returns 1 if the bit mask is zero and the length of the string in
1850
1830
  /// \a B is the maximum; otherwise, returns 0.
1851
- #define _mm_cmpistra(A, B, M) \
1852
- (int)__builtin_ia32_pcmpistria128((__v16qi)(__m128i)(A), \
1853
- (__v16qi)(__m128i)(B), (int)(M))
1831
+ #define _mm_cmpistra(A, B, M) \
1832
+ ((int)__builtin_ia32_pcmpistria128((__v16qi)(__m128i)(A), \
1833
+ (__v16qi)(__m128i)(B), (int)(M)))
1854
1834
 
1855
1835
  /// Uses the immediate operand \a M to perform a comparison of string
1856
1836
  /// data with implicitly defined lengths that is contained in source operands
@@ -1897,9 +1877,9 @@ _mm_minpos_epu16(__m128i __V)
1897
1877
  /// 11: Negate the bit mask only for bits with an index less than or equal
1898
1878
  /// to the size of \a A or \a B.
1899
1879
  /// \returns Returns 1 if the bit mask is non-zero, otherwise, returns 0.
1900
- #define _mm_cmpistrc(A, B, M) \
1901
- (int)__builtin_ia32_pcmpistric128((__v16qi)(__m128i)(A), \
1902
- (__v16qi)(__m128i)(B), (int)(M))
1880
+ #define _mm_cmpistrc(A, B, M) \
1881
+ ((int)__builtin_ia32_pcmpistric128((__v16qi)(__m128i)(A), \
1882
+ (__v16qi)(__m128i)(B), (int)(M)))
1903
1883
 
1904
1884
  /// Uses the immediate operand \a M to perform a comparison of string
1905
1885
  /// data with implicitly defined lengths that is contained in source operands
@@ -1945,9 +1925,9 @@ _mm_minpos_epu16(__m128i __V)
1945
1925
  /// 11: Negate the bit mask only for bits with an index less than or equal
1946
1926
  /// to the size of \a A or \a B. \n
1947
1927
  /// \returns Returns bit 0 of the resulting bit mask.
1948
- #define _mm_cmpistro(A, B, M) \
1949
- (int)__builtin_ia32_pcmpistrio128((__v16qi)(__m128i)(A), \
1950
- (__v16qi)(__m128i)(B), (int)(M))
1928
+ #define _mm_cmpistro(A, B, M) \
1929
+ ((int)__builtin_ia32_pcmpistrio128((__v16qi)(__m128i)(A), \
1930
+ (__v16qi)(__m128i)(B), (int)(M)))
1951
1931
 
1952
1932
  /// Uses the immediate operand \a M to perform a comparison of string
1953
1933
  /// data with implicitly defined lengths that is contained in source operands
@@ -1995,9 +1975,9 @@ _mm_minpos_epu16(__m128i __V)
1995
1975
  /// to the size of \a A or \a B. \n
1996
1976
  /// \returns Returns 1 if the length of the string in \a A is less than the
1997
1977
  /// maximum, otherwise, returns 0.
1998
- #define _mm_cmpistrs(A, B, M) \
1999
- (int)__builtin_ia32_pcmpistris128((__v16qi)(__m128i)(A), \
2000
- (__v16qi)(__m128i)(B), (int)(M))
1978
+ #define _mm_cmpistrs(A, B, M) \
1979
+ ((int)__builtin_ia32_pcmpistris128((__v16qi)(__m128i)(A), \
1980
+ (__v16qi)(__m128i)(B), (int)(M)))
2001
1981
 
2002
1982
  /// Uses the immediate operand \a M to perform a comparison of string
2003
1983
  /// data with implicitly defined lengths that is contained in source operands
@@ -2045,9 +2025,9 @@ _mm_minpos_epu16(__m128i __V)
2045
2025
  /// to the size of \a A or \a B.
2046
2026
  /// \returns Returns 1 if the length of the string in \a B is less than the
2047
2027
  /// maximum, otherwise, returns 0.
2048
- #define _mm_cmpistrz(A, B, M) \
2049
- (int)__builtin_ia32_pcmpistriz128((__v16qi)(__m128i)(A), \
2050
- (__v16qi)(__m128i)(B), (int)(M))
2028
+ #define _mm_cmpistrz(A, B, M) \
2029
+ ((int)__builtin_ia32_pcmpistriz128((__v16qi)(__m128i)(A), \
2030
+ (__v16qi)(__m128i)(B), (int)(M)))
2051
2031
 
2052
2032
  /// Uses the immediate operand \a M to perform a comparison of string
2053
2033
  /// data with explicitly defined lengths that is contained in source operands
@@ -2099,10 +2079,10 @@ _mm_minpos_epu16(__m128i __V)
2099
2079
  /// to the size of \a A or \a B.
2100
2080
  /// \returns Returns 1 if the bit mask is zero and the length of the string in
2101
2081
  /// \a B is the maximum, otherwise, returns 0.
2102
- #define _mm_cmpestra(A, LA, B, LB, M) \
2103
- (int)__builtin_ia32_pcmpestria128((__v16qi)(__m128i)(A), (int)(LA), \
2104
- (__v16qi)(__m128i)(B), (int)(LB), \
2105
- (int)(M))
2082
+ #define _mm_cmpestra(A, LA, B, LB, M) \
2083
+ ((int)__builtin_ia32_pcmpestria128((__v16qi)(__m128i)(A), (int)(LA), \
2084
+ (__v16qi)(__m128i)(B), (int)(LB), \
2085
+ (int)(M)))
2106
2086
 
2107
2087
  /// Uses the immediate operand \a M to perform a comparison of string
2108
2088
  /// data with explicitly defined lengths that is contained in source operands
@@ -2153,10 +2133,10 @@ _mm_minpos_epu16(__m128i __V)
2153
2133
  /// 11: Negate the bit mask only for bits with an index less than or equal
2154
2134
  /// to the size of \a A or \a B. \n
2155
2135
  /// \returns Returns 1 if the resulting mask is non-zero, otherwise, returns 0.
2156
- #define _mm_cmpestrc(A, LA, B, LB, M) \
2157
- (int)__builtin_ia32_pcmpestric128((__v16qi)(__m128i)(A), (int)(LA), \
2158
- (__v16qi)(__m128i)(B), (int)(LB), \
2159
- (int)(M))
2136
+ #define _mm_cmpestrc(A, LA, B, LB, M) \
2137
+ ((int)__builtin_ia32_pcmpestric128((__v16qi)(__m128i)(A), (int)(LA), \
2138
+ (__v16qi)(__m128i)(B), (int)(LB), \
2139
+ (int)(M)))
2160
2140
 
2161
2141
  /// Uses the immediate operand \a M to perform a comparison of string
2162
2142
  /// data with explicitly defined lengths that is contained in source operands
@@ -2206,10 +2186,10 @@ _mm_minpos_epu16(__m128i __V)
2206
2186
  /// 11: Negate the bit mask only for bits with an index less than or equal
2207
2187
  /// to the size of \a A or \a B.
2208
2188
  /// \returns Returns bit 0 of the resulting bit mask.
2209
- #define _mm_cmpestro(A, LA, B, LB, M) \
2210
- (int)__builtin_ia32_pcmpestrio128((__v16qi)(__m128i)(A), (int)(LA), \
2211
- (__v16qi)(__m128i)(B), (int)(LB), \
2212
- (int)(M))
2189
+ #define _mm_cmpestro(A, LA, B, LB, M) \
2190
+ ((int)__builtin_ia32_pcmpestrio128((__v16qi)(__m128i)(A), (int)(LA), \
2191
+ (__v16qi)(__m128i)(B), (int)(LB), \
2192
+ (int)(M)))
2213
2193
 
2214
2194
  /// Uses the immediate operand \a M to perform a comparison of string
2215
2195
  /// data with explicitly defined lengths that is contained in source operands
@@ -2261,10 +2241,10 @@ _mm_minpos_epu16(__m128i __V)
2261
2241
  /// to the size of \a A or \a B. \n
2262
2242
  /// \returns Returns 1 if the length of the string in \a A is less than the
2263
2243
  /// maximum, otherwise, returns 0.
2264
- #define _mm_cmpestrs(A, LA, B, LB, M) \
2265
- (int)__builtin_ia32_pcmpestris128((__v16qi)(__m128i)(A), (int)(LA), \
2266
- (__v16qi)(__m128i)(B), (int)(LB), \
2267
- (int)(M))
2244
+ #define _mm_cmpestrs(A, LA, B, LB, M) \
2245
+ ((int)__builtin_ia32_pcmpestris128((__v16qi)(__m128i)(A), (int)(LA), \
2246
+ (__v16qi)(__m128i)(B), (int)(LB), \
2247
+ (int)(M)))
2268
2248
 
2269
2249
  /// Uses the immediate operand \a M to perform a comparison of string
2270
2250
  /// data with explicitly defined lengths that is contained in source operands
@@ -2315,10 +2295,10 @@ _mm_minpos_epu16(__m128i __V)
2315
2295
  /// to the size of \a A or \a B.
2316
2296
  /// \returns Returns 1 if the length of the string in \a B is less than the
2317
2297
  /// maximum, otherwise, returns 0.
2318
- #define _mm_cmpestrz(A, LA, B, LB, M) \
2319
- (int)__builtin_ia32_pcmpestriz128((__v16qi)(__m128i)(A), (int)(LA), \
2320
- (__v16qi)(__m128i)(B), (int)(LB), \
2321
- (int)(M))
2298
+ #define _mm_cmpestrz(A, LA, B, LB, M) \
2299
+ ((int)__builtin_ia32_pcmpestriz128((__v16qi)(__m128i)(A), (int)(LA), \
2300
+ (__v16qi)(__m128i)(B), (int)(LB), \
2301
+ (int)(M)))
2322
2302
 
2323
2303
  /* SSE4.2 Compare Packed Data -- Greater Than. */
2324
2304
  /// Compares each of the corresponding 64-bit values of the 128-bit
@@ -2334,97 +2314,15 @@ _mm_minpos_epu16(__m128i __V)
2334
2314
  /// \param __V2
2335
2315
  /// A 128-bit integer vector.
2336
2316
  /// \returns A 128-bit integer vector containing the comparison results.
2337
- static __inline__ __m128i __DEFAULT_FN_ATTRS
2338
- _mm_cmpgt_epi64(__m128i __V1, __m128i __V2)
2339
- {
2317
+ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi64(__m128i __V1,
2318
+ __m128i __V2) {
2340
2319
  return (__m128i)((__v2di)__V1 > (__v2di)__V2);
2341
2320
  }
2342
2321
 
2343
- /* SSE4.2 Accumulate CRC32. */
2344
- /// Adds the unsigned integer operand to the CRC-32C checksum of the
2345
- /// unsigned char operand.
2346
- ///
2347
- /// \headerfile <x86intrin.h>
2348
- ///
2349
- /// This intrinsic corresponds to the <c> CRC32B </c> instruction.
2350
- ///
2351
- /// \param __C
2352
- /// An unsigned integer operand to add to the CRC-32C checksum of operand
2353
- /// \a __D.
2354
- /// \param __D
2355
- /// An unsigned 8-bit integer operand used to compute the CRC-32C checksum.
2356
- /// \returns The result of adding operand \a __C to the CRC-32C checksum of
2357
- /// operand \a __D.
2358
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
2359
- _mm_crc32_u8(unsigned int __C, unsigned char __D)
2360
- {
2361
- return __builtin_ia32_crc32qi(__C, __D);
2362
- }
2363
-
2364
- /// Adds the unsigned integer operand to the CRC-32C checksum of the
2365
- /// unsigned short operand.
2366
- ///
2367
- /// \headerfile <x86intrin.h>
2368
- ///
2369
- /// This intrinsic corresponds to the <c> CRC32W </c> instruction.
2370
- ///
2371
- /// \param __C
2372
- /// An unsigned integer operand to add to the CRC-32C checksum of operand
2373
- /// \a __D.
2374
- /// \param __D
2375
- /// An unsigned 16-bit integer operand used to compute the CRC-32C checksum.
2376
- /// \returns The result of adding operand \a __C to the CRC-32C checksum of
2377
- /// operand \a __D.
2378
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
2379
- _mm_crc32_u16(unsigned int __C, unsigned short __D)
2380
- {
2381
- return __builtin_ia32_crc32hi(__C, __D);
2382
- }
2383
-
2384
- /// Adds the first unsigned integer operand to the CRC-32C checksum of
2385
- /// the second unsigned integer operand.
2386
- ///
2387
- /// \headerfile <x86intrin.h>
2388
- ///
2389
- /// This intrinsic corresponds to the <c> CRC32L </c> instruction.
2390
- ///
2391
- /// \param __C
2392
- /// An unsigned integer operand to add to the CRC-32C checksum of operand
2393
- /// \a __D.
2394
- /// \param __D
2395
- /// An unsigned 32-bit integer operand used to compute the CRC-32C checksum.
2396
- /// \returns The result of adding operand \a __C to the CRC-32C checksum of
2397
- /// operand \a __D.
2398
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
2399
- _mm_crc32_u32(unsigned int __C, unsigned int __D)
2400
- {
2401
- return __builtin_ia32_crc32si(__C, __D);
2402
- }
2403
-
2404
- #ifdef __x86_64__
2405
- /// Adds the unsigned integer operand to the CRC-32C checksum of the
2406
- /// unsigned 64-bit integer operand.
2407
- ///
2408
- /// \headerfile <x86intrin.h>
2409
- ///
2410
- /// This intrinsic corresponds to the <c> CRC32Q </c> instruction.
2411
- ///
2412
- /// \param __C
2413
- /// An unsigned integer operand to add to the CRC-32C checksum of operand
2414
- /// \a __D.
2415
- /// \param __D
2416
- /// An unsigned 64-bit integer operand used to compute the CRC-32C checksum.
2417
- /// \returns The result of adding operand \a __C to the CRC-32C checksum of
2418
- /// operand \a __D.
2419
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
2420
- _mm_crc32_u64(unsigned long long __C, unsigned long long __D)
2421
- {
2422
- return __builtin_ia32_crc32di(__C, __D);
2423
- }
2424
- #endif /* __x86_64__ */
2425
-
2426
2322
  #undef __DEFAULT_FN_ATTRS
2427
2323
 
2428
2324
  #include <popcntintrin.h>
2429
2325
 
2326
+ #include <crc32intrin.h>
2327
+
2430
2328
  #endif /* __SMMINTRIN_H */