@nativescript/visionos 8.6.0-alpha.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.
- package/framework/.build_env_vars.sh +147 -143
- package/framework/__PROJECT_NAME__/__PROJECT_NAME__.entitlements +3 -1
- package/framework/__PROJECT_NAME__.xcodeproj/project.pbxproj +18 -6
- package/framework/__PROJECT_NAME__.xcodeproj/project.xcworkspace/xcuserdata/nstudio.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/framework/internal/NativeScriptEmbedder.h +29 -0
- package/framework/internal/NativeScriptEmbedder.m +25 -0
- package/framework/internal/NativeScriptStart.m +7 -8
- package/framework/internal/Swift-ObjC-Bridging-Header.h +1 -0
- package/framework/internal/XCFrameworks.zip +0 -0
- package/framework/internal/macros.h +17 -0
- package/framework/internal/metadata-generator-arm64/bin/build-step-metadata-generator.py +14 -0
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_intrinsics.h +38 -6
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_math.h +1 -1
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_runtime_wrapper.h +61 -2
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/__clang_cuda_texture_intrinsics.h +740 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_runtime_wrapper.h +17 -4
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/altivec.h +677 -328
- 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
- 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
- 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
- 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
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512bf16intrin.h +3 -3
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512dqintrin.h +365 -365
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512erintrin.h +102 -102
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/avx512fp16intrin.h +3349 -0
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlbf16intrin.h +52 -4
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/avx512vlfp16intrin.h +2068 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlintrin.h +596 -610
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlvbmi2intrin.h +96 -96
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avxvnniintrin.h +16 -16
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cpuid.h +3 -1
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/crc32intrin.h +100 -0
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/float.h +15 -6
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hexagon_types.h +0 -32
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/hlsl.h +15 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/hlsl_basic_types.h +64 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/hlsl_intrinsics.h +15 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hresetintrin.h +2 -2
- 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
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/intrin.h +34 -35
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/limits.h +20 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mm_malloc.h +3 -3
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mmintrin.h +4 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/nmmintrin.h +4 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/opencl-c-base.h +79 -11
- 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
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pmmintrin.h +5 -1
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/bmi2intrin.h +134 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/bmiintrin.h +165 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/emmintrin.h +2268 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/immintrin.h +27 -0
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/ppc_wrappers/mmintrin.h +389 -386
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/pmmintrin.h +145 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/smmintrin.h +663 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/tmmintrin.h +453 -0
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/x86intrin.h +28 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/ppc_wrappers/xmmintrin.h +1827 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/prfchwintrin.h +5 -2
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/rdpruintrin.h +57 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/rdseedintrin.h +3 -3
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/riscv_vector.h +202 -0
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdatomic.h +11 -1
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stddef.h +1 -1
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/stdnoreturn.h +29 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tmmintrin.h +10 -6
- 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
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vaesintrin.h +1 -1
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/velintrin.h +71 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/velintrin_approx.h +120 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/velintrin_gen.h +1257 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vpclmulqdqintrin.h +6 -6
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/wmmintrin.h +4 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/15.0.7/include/x86gprintrin.h +53 -0
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xmmintrin.h +18 -8
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xopintrin.h +31 -31
- package/framework/internal/metadata-generator-arm64/bin/objc-metadata-generator +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/build-step-metadata-generator.py +14 -0
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_intrinsics.h +38 -6
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_math.h +1 -1
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_runtime_wrapper.h +61 -2
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/__clang_cuda_texture_intrinsics.h +740 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_runtime_wrapper.h +17 -4
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/altivec.h +677 -328
- 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
- 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
- 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
- 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
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512bf16intrin.h +3 -3
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512dqintrin.h +365 -365
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512erintrin.h +102 -102
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/avx512fp16intrin.h +3349 -0
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlbf16intrin.h +52 -4
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/avx512vlfp16intrin.h +2068 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlintrin.h +596 -610
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlvbmi2intrin.h +96 -96
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avxvnniintrin.h +16 -16
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cpuid.h +3 -1
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/crc32intrin.h +100 -0
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/float.h +15 -6
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hexagon_types.h +0 -32
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/hlsl.h +15 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/hlsl_basic_types.h +64 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/hlsl_intrinsics.h +15 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hresetintrin.h +2 -2
- 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
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/intrin.h +34 -35
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/limits.h +20 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mm_malloc.h +3 -3
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mmintrin.h +4 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/nmmintrin.h +4 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/opencl-c-base.h +79 -11
- 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
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pmmintrin.h +5 -1
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/bmi2intrin.h +134 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/bmiintrin.h +165 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/emmintrin.h +2268 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/immintrin.h +27 -0
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/ppc_wrappers/mmintrin.h +389 -386
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/pmmintrin.h +145 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/smmintrin.h +663 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/tmmintrin.h +453 -0
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/x86intrin.h +28 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/ppc_wrappers/xmmintrin.h +1827 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/prfchwintrin.h +5 -2
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/rdpruintrin.h +57 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/rdseedintrin.h +3 -3
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/riscv_vector.h +202 -0
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdatomic.h +11 -1
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stddef.h +1 -1
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/stdnoreturn.h +29 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tmmintrin.h +10 -6
- 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
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vaesintrin.h +1 -1
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/velintrin.h +71 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/velintrin_approx.h +120 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/velintrin_gen.h +1257 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vpclmulqdqintrin.h +6 -6
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/wmmintrin.h +4 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/15.0.7/include/x86gprintrin.h +53 -0
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xmmintrin.h +18 -8
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xopintrin.h +31 -31
- package/framework/internal/metadata-generator-x86_64/bin/objc-metadata-generator +0 -0
- package/framework/internal/nsld.sh +5 -3
- package/package.json +4 -3
- package/framework/internal/main.m +0 -68
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/ppc_wrappers/emmintrin.h +0 -2324
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/ppc_wrappers/pmmintrin.h +0 -150
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/ppc_wrappers/smmintrin.h +0 -109
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/ppc_wrappers/tmmintrin.h +0 -495
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/ppc_wrappers/xmmintrin.h +0 -1843
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/riscv_vector.h +0 -123865
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/13.0.1/include/x86gprintrin.h +0 -23
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/ppc_wrappers/emmintrin.h +0 -2324
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/ppc_wrappers/pmmintrin.h +0 -150
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/ppc_wrappers/smmintrin.h +0 -109
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/ppc_wrappers/tmmintrin.h +0 -495
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/ppc_wrappers/xmmintrin.h +0 -1843
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/riscv_vector.h +0 -123865
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/13.0.1/include/x86gprintrin.h +0 -23
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_builtin_vars.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_cmath.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_device_functions.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_math_forward_declares.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_cmath.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_libdevice_declares.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_math.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__stddef_max_align_t.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/adxintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm64intr.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_bf16.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_cde.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_cmse.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_fp16.h +89 -89
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_mve.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/armintr.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512bitalgintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512cdintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512ifmaintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512ifmavlintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512pfintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vbmiintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vbmivlintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlbitalgintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlcdintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlvp2intersectintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vnniintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vp2intersectintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vpopcntdqintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vpopcntdqvlintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/bmi2intrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/builtins.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cet.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cldemoteintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clflushoptintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clwbintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clzerointrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/algorithm +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/complex +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/new +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/enqcmdintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fma4intrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fmaintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fxsrintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hexagon_circ_brev_intrinsics.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/htmintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/htmxlintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/inttypes.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/invpcidintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/iso646.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/lwpintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/lzcntintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mm3dnow.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/module.modulemap +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/movdirintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/msa.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mwaitxintrin.h +0 -0
- 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
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/cmath +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/complex_cmath.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/math.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/new +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pconfigintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pkuintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/popcntintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/ptwriteintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/s390intrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/serializeintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/sgxintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/shaintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdalign.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdarg.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tbmintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tgmath.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tsxldtrkintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vadefs.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/varargs.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vecintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/waitpkgintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/wbnoinvdintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsavecintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsaveintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsaveoptintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsavesintrin.h +0 -0
- package/framework/internal/metadata-generator-arm64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xtestintrin.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_builtin_vars.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_cmath.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_cuda_device_functions.h +0 -0
- 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
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_cmath.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_libdevice_declares.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__clang_hip_math.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/__stddef_max_align_t.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/adxintrin.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm64intr.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_bf16.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_cde.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_cmse.h +0 -0
- package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_fp16.h +89 -89
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/arm_mve.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/armintr.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512bitalgintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512cdintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512ifmaintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512ifmavlintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512pfintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vbmiintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vbmivlintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlbitalgintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlcdintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vnniintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vp2intersectintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vpopcntdqintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/avx512vpopcntdqvlintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/bmi2intrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/builtins.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cet.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cldemoteintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clflushoptintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clwbintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/clzerointrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/algorithm +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/complex +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/cuda_wrappers/new +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/enqcmdintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fma4intrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fmaintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/fxsrintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/htmintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/htmxlintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/inttypes.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/invpcidintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/iso646.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/lwpintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/lzcntintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mm3dnow.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/module.modulemap +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/movdirintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/msa.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/mwaitxintrin.h +0 -0
- /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
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/cmath +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/complex_cmath.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/math.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/openmp_wrappers/new +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pconfigintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/pkuintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/popcntintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/ptwriteintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/s390intrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/serializeintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/sgxintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/shaintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdalign.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/stdarg.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tbmintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tgmath.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/tsxldtrkintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vadefs.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/varargs.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/vecintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/waitpkgintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/wbnoinvdintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsavecintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsaveintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsaveoptintrin.h +0 -0
- /package/framework/internal/metadata-generator-x86_64/bin/lib/clang/{13.0.1 → 15.0.7}/include/xsavesintrin.h +0 -0
- /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
|
|
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
|
|
20
|
-
#define _MM_FROUND_TO_NEG_INF
|
|
21
|
-
#define _MM_FROUND_TO_POS_INF
|
|
22
|
-
#define _MM_FROUND_TO_ZERO
|
|
23
|
-
#define _MM_FROUND_CUR_DIRECTION
|
|
24
|
-
|
|
25
|
-
#define _MM_FROUND_RAISE_EXC
|
|
26
|
-
#define _MM_FROUND_NO_EXC
|
|
27
|
-
|
|
28
|
-
#define _MM_FROUND_NINT
|
|
29
|
-
#define _MM_FROUND_FLOOR
|
|
30
|
-
#define _MM_FROUND_CEIL
|
|
31
|
-
#define _MM_FROUND_TRUNC
|
|
32
|
-
#define _MM_FROUND_RINT
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
380
|
-
|
|
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)
|
|
408
|
-
|
|
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
|
-
|
|
432
|
-
{
|
|
433
|
-
return (__m128d)
|
|
434
|
-
|
|
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
|
-
|
|
459
|
-
{
|
|
460
|
-
return (__m128)
|
|
461
|
-
|
|
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
|
-
|
|
486
|
-
{
|
|
487
|
-
return (__m128i)
|
|
488
|
-
|
|
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)
|
|
517
|
-
|
|
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__
|
|
534
|
-
|
|
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__
|
|
554
|
-
|
|
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)
|
|
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)
|
|
629
|
-
(
|
|
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__
|
|
645
|
-
_mm_stream_load_si128
|
|
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__
|
|
665
|
-
|
|
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__
|
|
684
|
-
|
|
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__
|
|
703
|
-
|
|
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__
|
|
722
|
-
|
|
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__
|
|
741
|
-
|
|
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__
|
|
760
|
-
|
|
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__
|
|
779
|
-
|
|
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__
|
|
798
|
-
|
|
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)
|
|
869
|
-
(
|
|
870
|
-
|
|
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
|
-
{
|
|
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)
|
|
884
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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)
|
|
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
|
-
|
|
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
|
|
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
|
|
1549
|
-
#define _SIDD_UWORD_OPS
|
|
1550
|
-
#define _SIDD_SBYTE_OPS
|
|
1551
|
-
#define _SIDD_SWORD_OPS
|
|
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
|
|
1555
|
-
#define _SIDD_CMP_RANGES
|
|
1556
|
-
#define _SIDD_CMP_EQUAL_EACH
|
|
1557
|
-
#define _SIDD_CMP_EQUAL_ORDERED
|
|
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
|
|
1561
|
-
#define _SIDD_NEGATIVE_POLARITY
|
|
1562
|
-
#define _SIDD_MASKED_POSITIVE_POLARITY
|
|
1563
|
-
#define _SIDD_MASKED_NEGATIVE_POLARITY
|
|
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
|
|
1567
|
-
#define _SIDD_MOST_SIGNIFICANT
|
|
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
|
|
1571
|
-
#define _SIDD_UNIT_MASK
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1743
|
-
|
|
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
|
-
|
|
1802
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2105
|
-
|
|
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
|
-
|
|
2159
|
-
|
|
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
|
-
|
|
2212
|
-
|
|
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
|
-
|
|
2267
|
-
|
|
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
|
-
|
|
2321
|
-
|
|
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
|
-
|
|
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 */
|