@nativescript/visionos 8.6.0 → 8.7.0-rc.1
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,22 +10,27 @@
|
|
|
10
10
|
#ifndef __EMMINTRIN_H
|
|
11
11
|
#define __EMMINTRIN_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 <xmmintrin.h>
|
|
14
18
|
|
|
15
19
|
typedef double __m128d __attribute__((__vector_size__(16), __aligned__(16)));
|
|
16
20
|
typedef long long __m128i __attribute__((__vector_size__(16), __aligned__(16)));
|
|
17
21
|
|
|
18
22
|
typedef double __m128d_u __attribute__((__vector_size__(16), __aligned__(1)));
|
|
19
|
-
typedef long long __m128i_u
|
|
23
|
+
typedef long long __m128i_u
|
|
24
|
+
__attribute__((__vector_size__(16), __aligned__(1)));
|
|
20
25
|
|
|
21
26
|
/* Type defines. */
|
|
22
|
-
typedef double __v2df __attribute__
|
|
23
|
-
typedef long long __v2di __attribute__
|
|
27
|
+
typedef double __v2df __attribute__((__vector_size__(16)));
|
|
28
|
+
typedef long long __v2di __attribute__((__vector_size__(16)));
|
|
24
29
|
typedef short __v8hi __attribute__((__vector_size__(16)));
|
|
25
30
|
typedef char __v16qi __attribute__((__vector_size__(16)));
|
|
26
31
|
|
|
27
32
|
/* Unsigned types */
|
|
28
|
-
typedef unsigned long long __v2du __attribute__
|
|
33
|
+
typedef unsigned long long __v2du __attribute__((__vector_size__(16)));
|
|
29
34
|
typedef unsigned short __v8hu __attribute__((__vector_size__(16)));
|
|
30
35
|
typedef unsigned char __v16qu __attribute__((__vector_size__(16)));
|
|
31
36
|
|
|
@@ -34,8 +39,12 @@ typedef unsigned char __v16qu __attribute__((__vector_size__(16)));
|
|
|
34
39
|
typedef signed char __v16qs __attribute__((__vector_size__(16)));
|
|
35
40
|
|
|
36
41
|
/* Define the default attributes for the functions in this file. */
|
|
37
|
-
#define __DEFAULT_FN_ATTRS
|
|
38
|
-
|
|
42
|
+
#define __DEFAULT_FN_ATTRS \
|
|
43
|
+
__attribute__((__always_inline__, __nodebug__, __target__("sse2"), \
|
|
44
|
+
__min_vector_width__(128)))
|
|
45
|
+
#define __DEFAULT_FN_ATTRS_MMX \
|
|
46
|
+
__attribute__((__always_inline__, __nodebug__, __target__("mmx,sse2"), \
|
|
47
|
+
__min_vector_width__(64)))
|
|
39
48
|
|
|
40
49
|
/// Adds lower double-precision values in both operands and returns the
|
|
41
50
|
/// sum in the lower 64 bits of the result. The upper 64 bits of the result
|
|
@@ -52,9 +61,8 @@ typedef signed char __v16qs __attribute__((__vector_size__(16)));
|
|
|
52
61
|
/// \returns A 128-bit vector of [2 x double] whose lower 64 bits contain the
|
|
53
62
|
/// sum of the lower 64 bits of both operands. The upper 64 bits are copied
|
|
54
63
|
/// from the upper 64 bits of the first source operand.
|
|
55
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
56
|
-
|
|
57
|
-
{
|
|
64
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_add_sd(__m128d __a,
|
|
65
|
+
__m128d __b) {
|
|
58
66
|
__a[0] += __b[0];
|
|
59
67
|
return __a;
|
|
60
68
|
}
|
|
@@ -71,9 +79,8 @@ _mm_add_sd(__m128d __a, __m128d __b)
|
|
|
71
79
|
/// A 128-bit vector of [2 x double] containing one of the source operands.
|
|
72
80
|
/// \returns A 128-bit vector of [2 x double] containing the sums of both
|
|
73
81
|
/// operands.
|
|
74
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
75
|
-
|
|
76
|
-
{
|
|
82
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_add_pd(__m128d __a,
|
|
83
|
+
__m128d __b) {
|
|
77
84
|
return (__m128d)((__v2df)__a + (__v2df)__b);
|
|
78
85
|
}
|
|
79
86
|
|
|
@@ -94,9 +101,8 @@ _mm_add_pd(__m128d __a, __m128d __b)
|
|
|
94
101
|
/// \returns A 128-bit vector of [2 x double] whose lower 64 bits contain the
|
|
95
102
|
/// difference of the lower 64 bits of both operands. The upper 64 bits are
|
|
96
103
|
/// copied from the upper 64 bits of the first source operand.
|
|
97
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
98
|
-
|
|
99
|
-
{
|
|
104
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_sub_sd(__m128d __a,
|
|
105
|
+
__m128d __b) {
|
|
100
106
|
__a[0] -= __b[0];
|
|
101
107
|
return __a;
|
|
102
108
|
}
|
|
@@ -113,9 +119,8 @@ _mm_sub_sd(__m128d __a, __m128d __b)
|
|
|
113
119
|
/// A 128-bit vector of [2 x double] containing the subtrahend.
|
|
114
120
|
/// \returns A 128-bit vector of [2 x double] containing the differences between
|
|
115
121
|
/// both operands.
|
|
116
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
117
|
-
|
|
118
|
-
{
|
|
122
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_sub_pd(__m128d __a,
|
|
123
|
+
__m128d __b) {
|
|
119
124
|
return (__m128d)((__v2df)__a - (__v2df)__b);
|
|
120
125
|
}
|
|
121
126
|
|
|
@@ -135,9 +140,8 @@ _mm_sub_pd(__m128d __a, __m128d __b)
|
|
|
135
140
|
/// \returns A 128-bit vector of [2 x double] whose lower 64 bits contain the
|
|
136
141
|
/// product of the lower 64 bits of both operands. The upper 64 bits are
|
|
137
142
|
/// copied from the upper 64 bits of the first source operand.
|
|
138
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
139
|
-
|
|
140
|
-
{
|
|
143
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_mul_sd(__m128d __a,
|
|
144
|
+
__m128d __b) {
|
|
141
145
|
__a[0] *= __b[0];
|
|
142
146
|
return __a;
|
|
143
147
|
}
|
|
@@ -154,9 +158,8 @@ _mm_mul_sd(__m128d __a, __m128d __b)
|
|
|
154
158
|
/// A 128-bit vector of [2 x double] containing one of the operands.
|
|
155
159
|
/// \returns A 128-bit vector of [2 x double] containing the products of both
|
|
156
160
|
/// operands.
|
|
157
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
158
|
-
|
|
159
|
-
{
|
|
161
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_mul_pd(__m128d __a,
|
|
162
|
+
__m128d __b) {
|
|
160
163
|
return (__m128d)((__v2df)__a * (__v2df)__b);
|
|
161
164
|
}
|
|
162
165
|
|
|
@@ -177,9 +180,8 @@ _mm_mul_pd(__m128d __a, __m128d __b)
|
|
|
177
180
|
/// \returns A 128-bit vector of [2 x double] whose lower 64 bits contain the
|
|
178
181
|
/// quotient of the lower 64 bits of both operands. The upper 64 bits are
|
|
179
182
|
/// copied from the upper 64 bits of the first source operand.
|
|
180
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
181
|
-
|
|
182
|
-
{
|
|
183
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_div_sd(__m128d __a,
|
|
184
|
+
__m128d __b) {
|
|
183
185
|
__a[0] /= __b[0];
|
|
184
186
|
return __a;
|
|
185
187
|
}
|
|
@@ -197,9 +199,8 @@ _mm_div_sd(__m128d __a, __m128d __b)
|
|
|
197
199
|
/// A 128-bit vector of [2 x double] containing the divisor.
|
|
198
200
|
/// \returns A 128-bit vector of [2 x double] containing the quotients of both
|
|
199
201
|
/// operands.
|
|
200
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
201
|
-
|
|
202
|
-
{
|
|
202
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_div_pd(__m128d __a,
|
|
203
|
+
__m128d __b) {
|
|
203
204
|
return (__m128d)((__v2df)__a / (__v2df)__b);
|
|
204
205
|
}
|
|
205
206
|
|
|
@@ -222,11 +223,10 @@ _mm_div_pd(__m128d __a, __m128d __b)
|
|
|
222
223
|
/// \returns A 128-bit vector of [2 x double] whose lower 64 bits contain the
|
|
223
224
|
/// square root of the lower 64 bits of operand \a __b, and whose upper 64
|
|
224
225
|
/// bits are copied from the upper 64 bits of operand \a __a.
|
|
225
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
226
|
-
|
|
227
|
-
{
|
|
226
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_sqrt_sd(__m128d __a,
|
|
227
|
+
__m128d __b) {
|
|
228
228
|
__m128d __c = __builtin_ia32_sqrtsd((__v2df)__b);
|
|
229
|
-
return __extension__
|
|
229
|
+
return __extension__(__m128d){__c[0], __a[1]};
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
/// Calculates the square root of the each of two values stored in a
|
|
@@ -240,9 +240,7 @@ _mm_sqrt_sd(__m128d __a, __m128d __b)
|
|
|
240
240
|
/// A 128-bit vector of [2 x double].
|
|
241
241
|
/// \returns A 128-bit vector of [2 x double] containing the square roots of the
|
|
242
242
|
/// values in the operand.
|
|
243
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
244
|
-
_mm_sqrt_pd(__m128d __a)
|
|
245
|
-
{
|
|
243
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_sqrt_pd(__m128d __a) {
|
|
246
244
|
return __builtin_ia32_sqrtpd((__v2df)__a);
|
|
247
245
|
}
|
|
248
246
|
|
|
@@ -264,9 +262,8 @@ _mm_sqrt_pd(__m128d __a)
|
|
|
264
262
|
/// \returns A 128-bit vector of [2 x double] whose lower 64 bits contain the
|
|
265
263
|
/// minimum value between both operands. The upper 64 bits are copied from
|
|
266
264
|
/// the upper 64 bits of the first source operand.
|
|
267
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
268
|
-
|
|
269
|
-
{
|
|
265
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_min_sd(__m128d __a,
|
|
266
|
+
__m128d __b) {
|
|
270
267
|
return __builtin_ia32_minsd((__v2df)__a, (__v2df)__b);
|
|
271
268
|
}
|
|
272
269
|
|
|
@@ -284,9 +281,8 @@ _mm_min_sd(__m128d __a, __m128d __b)
|
|
|
284
281
|
/// A 128-bit vector of [2 x double] containing one of the operands.
|
|
285
282
|
/// \returns A 128-bit vector of [2 x double] containing the minimum values
|
|
286
283
|
/// between both operands.
|
|
287
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
288
|
-
|
|
289
|
-
{
|
|
284
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_min_pd(__m128d __a,
|
|
285
|
+
__m128d __b) {
|
|
290
286
|
return __builtin_ia32_minpd((__v2df)__a, (__v2df)__b);
|
|
291
287
|
}
|
|
292
288
|
|
|
@@ -308,9 +304,8 @@ _mm_min_pd(__m128d __a, __m128d __b)
|
|
|
308
304
|
/// \returns A 128-bit vector of [2 x double] whose lower 64 bits contain the
|
|
309
305
|
/// maximum value between both operands. The upper 64 bits are copied from
|
|
310
306
|
/// the upper 64 bits of the first source operand.
|
|
311
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
312
|
-
|
|
313
|
-
{
|
|
307
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_max_sd(__m128d __a,
|
|
308
|
+
__m128d __b) {
|
|
314
309
|
return __builtin_ia32_maxsd((__v2df)__a, (__v2df)__b);
|
|
315
310
|
}
|
|
316
311
|
|
|
@@ -328,9 +323,8 @@ _mm_max_sd(__m128d __a, __m128d __b)
|
|
|
328
323
|
/// A 128-bit vector of [2 x double] containing one of the operands.
|
|
329
324
|
/// \returns A 128-bit vector of [2 x double] containing the maximum values
|
|
330
325
|
/// between both operands.
|
|
331
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
332
|
-
|
|
333
|
-
{
|
|
326
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_max_pd(__m128d __a,
|
|
327
|
+
__m128d __b) {
|
|
334
328
|
return __builtin_ia32_maxpd((__v2df)__a, (__v2df)__b);
|
|
335
329
|
}
|
|
336
330
|
|
|
@@ -346,9 +340,8 @@ _mm_max_pd(__m128d __a, __m128d __b)
|
|
|
346
340
|
/// A 128-bit vector of [2 x double] containing one of the source operands.
|
|
347
341
|
/// \returns A 128-bit vector of [2 x double] containing the bitwise AND of the
|
|
348
342
|
/// values between both operands.
|
|
349
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
350
|
-
|
|
351
|
-
{
|
|
343
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_and_pd(__m128d __a,
|
|
344
|
+
__m128d __b) {
|
|
352
345
|
return (__m128d)((__v2du)__a & (__v2du)__b);
|
|
353
346
|
}
|
|
354
347
|
|
|
@@ -367,9 +360,8 @@ _mm_and_pd(__m128d __a, __m128d __b)
|
|
|
367
360
|
/// \returns A 128-bit vector of [2 x double] containing the bitwise AND of the
|
|
368
361
|
/// values in the second operand and the one's complement of the first
|
|
369
362
|
/// operand.
|
|
370
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
371
|
-
|
|
372
|
-
{
|
|
363
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_andnot_pd(__m128d __a,
|
|
364
|
+
__m128d __b) {
|
|
373
365
|
return (__m128d)(~(__v2du)__a & (__v2du)__b);
|
|
374
366
|
}
|
|
375
367
|
|
|
@@ -385,9 +377,8 @@ _mm_andnot_pd(__m128d __a, __m128d __b)
|
|
|
385
377
|
/// A 128-bit vector of [2 x double] containing one of the source operands.
|
|
386
378
|
/// \returns A 128-bit vector of [2 x double] containing the bitwise OR of the
|
|
387
379
|
/// values between both operands.
|
|
388
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
389
|
-
|
|
390
|
-
{
|
|
380
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_or_pd(__m128d __a,
|
|
381
|
+
__m128d __b) {
|
|
391
382
|
return (__m128d)((__v2du)__a | (__v2du)__b);
|
|
392
383
|
}
|
|
393
384
|
|
|
@@ -403,9 +394,8 @@ _mm_or_pd(__m128d __a, __m128d __b)
|
|
|
403
394
|
/// A 128-bit vector of [2 x double] containing one of the source operands.
|
|
404
395
|
/// \returns A 128-bit vector of [2 x double] containing the bitwise XOR of the
|
|
405
396
|
/// values between both operands.
|
|
406
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
407
|
-
|
|
408
|
-
{
|
|
397
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_xor_pd(__m128d __a,
|
|
398
|
+
__m128d __b) {
|
|
409
399
|
return (__m128d)((__v2du)__a ^ (__v2du)__b);
|
|
410
400
|
}
|
|
411
401
|
|
|
@@ -422,9 +412,8 @@ _mm_xor_pd(__m128d __a, __m128d __b)
|
|
|
422
412
|
/// \param __b
|
|
423
413
|
/// A 128-bit vector of [2 x double].
|
|
424
414
|
/// \returns A 128-bit vector containing the comparison results.
|
|
425
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
426
|
-
|
|
427
|
-
{
|
|
415
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpeq_pd(__m128d __a,
|
|
416
|
+
__m128d __b) {
|
|
428
417
|
return (__m128d)__builtin_ia32_cmpeqpd((__v2df)__a, (__v2df)__b);
|
|
429
418
|
}
|
|
430
419
|
|
|
@@ -442,9 +431,8 @@ _mm_cmpeq_pd(__m128d __a, __m128d __b)
|
|
|
442
431
|
/// \param __b
|
|
443
432
|
/// A 128-bit vector of [2 x double].
|
|
444
433
|
/// \returns A 128-bit vector containing the comparison results.
|
|
445
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
446
|
-
|
|
447
|
-
{
|
|
434
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmplt_pd(__m128d __a,
|
|
435
|
+
__m128d __b) {
|
|
448
436
|
return (__m128d)__builtin_ia32_cmpltpd((__v2df)__a, (__v2df)__b);
|
|
449
437
|
}
|
|
450
438
|
|
|
@@ -463,9 +451,8 @@ _mm_cmplt_pd(__m128d __a, __m128d __b)
|
|
|
463
451
|
/// \param __b
|
|
464
452
|
/// A 128-bit vector of [2 x double].
|
|
465
453
|
/// \returns A 128-bit vector containing the comparison results.
|
|
466
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
467
|
-
|
|
468
|
-
{
|
|
454
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmple_pd(__m128d __a,
|
|
455
|
+
__m128d __b) {
|
|
469
456
|
return (__m128d)__builtin_ia32_cmplepd((__v2df)__a, (__v2df)__b);
|
|
470
457
|
}
|
|
471
458
|
|
|
@@ -484,9 +471,8 @@ _mm_cmple_pd(__m128d __a, __m128d __b)
|
|
|
484
471
|
/// \param __b
|
|
485
472
|
/// A 128-bit vector of [2 x double].
|
|
486
473
|
/// \returns A 128-bit vector containing the comparison results.
|
|
487
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
488
|
-
|
|
489
|
-
{
|
|
474
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpgt_pd(__m128d __a,
|
|
475
|
+
__m128d __b) {
|
|
490
476
|
return (__m128d)__builtin_ia32_cmpltpd((__v2df)__b, (__v2df)__a);
|
|
491
477
|
}
|
|
492
478
|
|
|
@@ -505,9 +491,8 @@ _mm_cmpgt_pd(__m128d __a, __m128d __b)
|
|
|
505
491
|
/// \param __b
|
|
506
492
|
/// A 128-bit vector of [2 x double].
|
|
507
493
|
/// \returns A 128-bit vector containing the comparison results.
|
|
508
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
509
|
-
|
|
510
|
-
{
|
|
494
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpge_pd(__m128d __a,
|
|
495
|
+
__m128d __b) {
|
|
511
496
|
return (__m128d)__builtin_ia32_cmplepd((__v2df)__b, (__v2df)__a);
|
|
512
497
|
}
|
|
513
498
|
|
|
@@ -528,9 +513,8 @@ _mm_cmpge_pd(__m128d __a, __m128d __b)
|
|
|
528
513
|
/// \param __b
|
|
529
514
|
/// A 128-bit vector of [2 x double].
|
|
530
515
|
/// \returns A 128-bit vector containing the comparison results.
|
|
531
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
532
|
-
|
|
533
|
-
{
|
|
516
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpord_pd(__m128d __a,
|
|
517
|
+
__m128d __b) {
|
|
534
518
|
return (__m128d)__builtin_ia32_cmpordpd((__v2df)__a, (__v2df)__b);
|
|
535
519
|
}
|
|
536
520
|
|
|
@@ -552,9 +536,8 @@ _mm_cmpord_pd(__m128d __a, __m128d __b)
|
|
|
552
536
|
/// \param __b
|
|
553
537
|
/// A 128-bit vector of [2 x double].
|
|
554
538
|
/// \returns A 128-bit vector containing the comparison results.
|
|
555
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
556
|
-
|
|
557
|
-
{
|
|
539
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpunord_pd(__m128d __a,
|
|
540
|
+
__m128d __b) {
|
|
558
541
|
return (__m128d)__builtin_ia32_cmpunordpd((__v2df)__a, (__v2df)__b);
|
|
559
542
|
}
|
|
560
543
|
|
|
@@ -573,9 +556,8 @@ _mm_cmpunord_pd(__m128d __a, __m128d __b)
|
|
|
573
556
|
/// \param __b
|
|
574
557
|
/// A 128-bit vector of [2 x double].
|
|
575
558
|
/// \returns A 128-bit vector containing the comparison results.
|
|
576
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
577
|
-
|
|
578
|
-
{
|
|
559
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpneq_pd(__m128d __a,
|
|
560
|
+
__m128d __b) {
|
|
579
561
|
return (__m128d)__builtin_ia32_cmpneqpd((__v2df)__a, (__v2df)__b);
|
|
580
562
|
}
|
|
581
563
|
|
|
@@ -594,9 +576,8 @@ _mm_cmpneq_pd(__m128d __a, __m128d __b)
|
|
|
594
576
|
/// \param __b
|
|
595
577
|
/// A 128-bit vector of [2 x double].
|
|
596
578
|
/// \returns A 128-bit vector containing the comparison results.
|
|
597
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
598
|
-
|
|
599
|
-
{
|
|
579
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpnlt_pd(__m128d __a,
|
|
580
|
+
__m128d __b) {
|
|
600
581
|
return (__m128d)__builtin_ia32_cmpnltpd((__v2df)__a, (__v2df)__b);
|
|
601
582
|
}
|
|
602
583
|
|
|
@@ -615,9 +596,8 @@ _mm_cmpnlt_pd(__m128d __a, __m128d __b)
|
|
|
615
596
|
/// \param __b
|
|
616
597
|
/// A 128-bit vector of [2 x double].
|
|
617
598
|
/// \returns A 128-bit vector containing the comparison results.
|
|
618
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
619
|
-
|
|
620
|
-
{
|
|
599
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpnle_pd(__m128d __a,
|
|
600
|
+
__m128d __b) {
|
|
621
601
|
return (__m128d)__builtin_ia32_cmpnlepd((__v2df)__a, (__v2df)__b);
|
|
622
602
|
}
|
|
623
603
|
|
|
@@ -636,9 +616,8 @@ _mm_cmpnle_pd(__m128d __a, __m128d __b)
|
|
|
636
616
|
/// \param __b
|
|
637
617
|
/// A 128-bit vector of [2 x double].
|
|
638
618
|
/// \returns A 128-bit vector containing the comparison results.
|
|
639
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
640
|
-
|
|
641
|
-
{
|
|
619
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpngt_pd(__m128d __a,
|
|
620
|
+
__m128d __b) {
|
|
642
621
|
return (__m128d)__builtin_ia32_cmpnltpd((__v2df)__b, (__v2df)__a);
|
|
643
622
|
}
|
|
644
623
|
|
|
@@ -657,9 +636,8 @@ _mm_cmpngt_pd(__m128d __a, __m128d __b)
|
|
|
657
636
|
/// \param __b
|
|
658
637
|
/// A 128-bit vector of [2 x double].
|
|
659
638
|
/// \returns A 128-bit vector containing the comparison results.
|
|
660
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
661
|
-
|
|
662
|
-
{
|
|
639
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpnge_pd(__m128d __a,
|
|
640
|
+
__m128d __b) {
|
|
663
641
|
return (__m128d)__builtin_ia32_cmpnlepd((__v2df)__b, (__v2df)__a);
|
|
664
642
|
}
|
|
665
643
|
|
|
@@ -680,9 +658,8 @@ _mm_cmpnge_pd(__m128d __a, __m128d __b)
|
|
|
680
658
|
/// compared to the lower double-precision value of \a __a.
|
|
681
659
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
682
660
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
683
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
684
|
-
|
|
685
|
-
{
|
|
661
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpeq_sd(__m128d __a,
|
|
662
|
+
__m128d __b) {
|
|
686
663
|
return (__m128d)__builtin_ia32_cmpeqsd((__v2df)__a, (__v2df)__b);
|
|
687
664
|
}
|
|
688
665
|
|
|
@@ -705,9 +682,8 @@ _mm_cmpeq_sd(__m128d __a, __m128d __b)
|
|
|
705
682
|
/// compared to the lower double-precision value of \a __a.
|
|
706
683
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
707
684
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
708
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
709
|
-
|
|
710
|
-
{
|
|
685
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmplt_sd(__m128d __a,
|
|
686
|
+
__m128d __b) {
|
|
711
687
|
return (__m128d)__builtin_ia32_cmpltsd((__v2df)__a, (__v2df)__b);
|
|
712
688
|
}
|
|
713
689
|
|
|
@@ -730,9 +706,8 @@ _mm_cmplt_sd(__m128d __a, __m128d __b)
|
|
|
730
706
|
/// compared to the lower double-precision value of \a __a.
|
|
731
707
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
732
708
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
733
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
734
|
-
|
|
735
|
-
{
|
|
709
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmple_sd(__m128d __a,
|
|
710
|
+
__m128d __b) {
|
|
736
711
|
return (__m128d)__builtin_ia32_cmplesd((__v2df)__a, (__v2df)__b);
|
|
737
712
|
}
|
|
738
713
|
|
|
@@ -755,11 +730,10 @@ _mm_cmple_sd(__m128d __a, __m128d __b)
|
|
|
755
730
|
/// compared to the lower double-precision value of \a __a.
|
|
756
731
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
757
732
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
758
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
759
|
-
|
|
760
|
-
{
|
|
733
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpgt_sd(__m128d __a,
|
|
734
|
+
__m128d __b) {
|
|
761
735
|
__m128d __c = __builtin_ia32_cmpltsd((__v2df)__b, (__v2df)__a);
|
|
762
|
-
return __extension__
|
|
736
|
+
return __extension__(__m128d){__c[0], __a[1]};
|
|
763
737
|
}
|
|
764
738
|
|
|
765
739
|
/// Compares the lower double-precision floating-point values in each of
|
|
@@ -781,11 +755,10 @@ _mm_cmpgt_sd(__m128d __a, __m128d __b)
|
|
|
781
755
|
/// compared to the lower double-precision value of \a __a.
|
|
782
756
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
783
757
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
784
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
785
|
-
|
|
786
|
-
{
|
|
758
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpge_sd(__m128d __a,
|
|
759
|
+
__m128d __b) {
|
|
787
760
|
__m128d __c = __builtin_ia32_cmplesd((__v2df)__b, (__v2df)__a);
|
|
788
|
-
return __extension__
|
|
761
|
+
return __extension__(__m128d){__c[0], __a[1]};
|
|
789
762
|
}
|
|
790
763
|
|
|
791
764
|
/// Compares the lower double-precision floating-point values in each of
|
|
@@ -809,9 +782,8 @@ _mm_cmpge_sd(__m128d __a, __m128d __b)
|
|
|
809
782
|
/// compared to the lower double-precision value of \a __a.
|
|
810
783
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
811
784
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
812
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
813
|
-
|
|
814
|
-
{
|
|
785
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpord_sd(__m128d __a,
|
|
786
|
+
__m128d __b) {
|
|
815
787
|
return (__m128d)__builtin_ia32_cmpordsd((__v2df)__a, (__v2df)__b);
|
|
816
788
|
}
|
|
817
789
|
|
|
@@ -837,9 +809,8 @@ _mm_cmpord_sd(__m128d __a, __m128d __b)
|
|
|
837
809
|
/// compared to the lower double-precision value of \a __a.
|
|
838
810
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
839
811
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
840
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
841
|
-
|
|
842
|
-
{
|
|
812
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpunord_sd(__m128d __a,
|
|
813
|
+
__m128d __b) {
|
|
843
814
|
return (__m128d)__builtin_ia32_cmpunordsd((__v2df)__a, (__v2df)__b);
|
|
844
815
|
}
|
|
845
816
|
|
|
@@ -862,9 +833,8 @@ _mm_cmpunord_sd(__m128d __a, __m128d __b)
|
|
|
862
833
|
/// compared to the lower double-precision value of \a __a.
|
|
863
834
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
864
835
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
865
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
866
|
-
|
|
867
|
-
{
|
|
836
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpneq_sd(__m128d __a,
|
|
837
|
+
__m128d __b) {
|
|
868
838
|
return (__m128d)__builtin_ia32_cmpneqsd((__v2df)__a, (__v2df)__b);
|
|
869
839
|
}
|
|
870
840
|
|
|
@@ -887,9 +857,8 @@ _mm_cmpneq_sd(__m128d __a, __m128d __b)
|
|
|
887
857
|
/// compared to the lower double-precision value of \a __a.
|
|
888
858
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
889
859
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
890
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
891
|
-
|
|
892
|
-
{
|
|
860
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpnlt_sd(__m128d __a,
|
|
861
|
+
__m128d __b) {
|
|
893
862
|
return (__m128d)__builtin_ia32_cmpnltsd((__v2df)__a, (__v2df)__b);
|
|
894
863
|
}
|
|
895
864
|
|
|
@@ -912,9 +881,8 @@ _mm_cmpnlt_sd(__m128d __a, __m128d __b)
|
|
|
912
881
|
/// compared to the lower double-precision value of \a __a.
|
|
913
882
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
914
883
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
915
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
916
|
-
|
|
917
|
-
{
|
|
884
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpnle_sd(__m128d __a,
|
|
885
|
+
__m128d __b) {
|
|
918
886
|
return (__m128d)__builtin_ia32_cmpnlesd((__v2df)__a, (__v2df)__b);
|
|
919
887
|
}
|
|
920
888
|
|
|
@@ -937,11 +905,10 @@ _mm_cmpnle_sd(__m128d __a, __m128d __b)
|
|
|
937
905
|
/// compared to the lower double-precision value of \a __a.
|
|
938
906
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
939
907
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
940
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
941
|
-
|
|
942
|
-
{
|
|
908
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpngt_sd(__m128d __a,
|
|
909
|
+
__m128d __b) {
|
|
943
910
|
__m128d __c = __builtin_ia32_cmpnltsd((__v2df)__b, (__v2df)__a);
|
|
944
|
-
return __extension__
|
|
911
|
+
return __extension__(__m128d){__c[0], __a[1]};
|
|
945
912
|
}
|
|
946
913
|
|
|
947
914
|
/// Compares the lower double-precision floating-point values in each of
|
|
@@ -963,11 +930,10 @@ _mm_cmpngt_sd(__m128d __a, __m128d __b)
|
|
|
963
930
|
/// compared to the lower double-precision value of \a __a.
|
|
964
931
|
/// \returns A 128-bit vector. The lower 64 bits contains the comparison
|
|
965
932
|
/// results. The upper 64 bits are copied from the upper 64 bits of \a __a.
|
|
966
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
967
|
-
|
|
968
|
-
{
|
|
933
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cmpnge_sd(__m128d __a,
|
|
934
|
+
__m128d __b) {
|
|
969
935
|
__m128d __c = __builtin_ia32_cmpnlesd((__v2df)__b, (__v2df)__a);
|
|
970
|
-
return __extension__
|
|
936
|
+
return __extension__(__m128d){__c[0], __a[1]};
|
|
971
937
|
}
|
|
972
938
|
|
|
973
939
|
/// Compares the lower double-precision floating-point values in each of
|
|
@@ -988,9 +954,8 @@ _mm_cmpnge_sd(__m128d __a, __m128d __b)
|
|
|
988
954
|
/// compared to the lower double-precision value of \a __a.
|
|
989
955
|
/// \returns An integer containing the comparison results. If either of the two
|
|
990
956
|
/// lower double-precision values is NaN, 0 is returned.
|
|
991
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
992
|
-
|
|
993
|
-
{
|
|
957
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_comieq_sd(__m128d __a,
|
|
958
|
+
__m128d __b) {
|
|
994
959
|
return __builtin_ia32_comisdeq((__v2df)__a, (__v2df)__b);
|
|
995
960
|
}
|
|
996
961
|
|
|
@@ -1014,9 +979,8 @@ _mm_comieq_sd(__m128d __a, __m128d __b)
|
|
|
1014
979
|
/// compared to the lower double-precision value of \a __a.
|
|
1015
980
|
/// \returns An integer containing the comparison results. If either of the two
|
|
1016
981
|
/// lower double-precision values is NaN, 0 is returned.
|
|
1017
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1018
|
-
|
|
1019
|
-
{
|
|
982
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_comilt_sd(__m128d __a,
|
|
983
|
+
__m128d __b) {
|
|
1020
984
|
return __builtin_ia32_comisdlt((__v2df)__a, (__v2df)__b);
|
|
1021
985
|
}
|
|
1022
986
|
|
|
@@ -1040,9 +1004,8 @@ _mm_comilt_sd(__m128d __a, __m128d __b)
|
|
|
1040
1004
|
/// compared to the lower double-precision value of \a __a.
|
|
1041
1005
|
/// \returns An integer containing the comparison results. If either of the two
|
|
1042
1006
|
/// lower double-precision values is NaN, 0 is returned.
|
|
1043
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1044
|
-
|
|
1045
|
-
{
|
|
1007
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_comile_sd(__m128d __a,
|
|
1008
|
+
__m128d __b) {
|
|
1046
1009
|
return __builtin_ia32_comisdle((__v2df)__a, (__v2df)__b);
|
|
1047
1010
|
}
|
|
1048
1011
|
|
|
@@ -1066,9 +1029,8 @@ _mm_comile_sd(__m128d __a, __m128d __b)
|
|
|
1066
1029
|
/// compared to the lower double-precision value of \a __a.
|
|
1067
1030
|
/// \returns An integer containing the comparison results. If either of the two
|
|
1068
1031
|
/// lower double-precision values is NaN, 0 is returned.
|
|
1069
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1070
|
-
|
|
1071
|
-
{
|
|
1032
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_comigt_sd(__m128d __a,
|
|
1033
|
+
__m128d __b) {
|
|
1072
1034
|
return __builtin_ia32_comisdgt((__v2df)__a, (__v2df)__b);
|
|
1073
1035
|
}
|
|
1074
1036
|
|
|
@@ -1092,9 +1054,8 @@ _mm_comigt_sd(__m128d __a, __m128d __b)
|
|
|
1092
1054
|
/// compared to the lower double-precision value of \a __a.
|
|
1093
1055
|
/// \returns An integer containing the comparison results. If either of the two
|
|
1094
1056
|
/// lower double-precision values is NaN, 0 is returned.
|
|
1095
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1096
|
-
|
|
1097
|
-
{
|
|
1057
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_comige_sd(__m128d __a,
|
|
1058
|
+
__m128d __b) {
|
|
1098
1059
|
return __builtin_ia32_comisdge((__v2df)__a, (__v2df)__b);
|
|
1099
1060
|
}
|
|
1100
1061
|
|
|
@@ -1118,9 +1079,8 @@ _mm_comige_sd(__m128d __a, __m128d __b)
|
|
|
1118
1079
|
/// compared to the lower double-precision value of \a __a.
|
|
1119
1080
|
/// \returns An integer containing the comparison results. If either of the two
|
|
1120
1081
|
/// lower double-precision values is NaN, 1 is returned.
|
|
1121
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1122
|
-
|
|
1123
|
-
{
|
|
1082
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_comineq_sd(__m128d __a,
|
|
1083
|
+
__m128d __b) {
|
|
1124
1084
|
return __builtin_ia32_comisdneq((__v2df)__a, (__v2df)__b);
|
|
1125
1085
|
}
|
|
1126
1086
|
|
|
@@ -1142,9 +1102,8 @@ _mm_comineq_sd(__m128d __a, __m128d __b)
|
|
|
1142
1102
|
/// compared to the lower double-precision value of \a __a.
|
|
1143
1103
|
/// \returns An integer containing the comparison results. If either of the two
|
|
1144
1104
|
/// lower double-precision values is NaN, 0 is returned.
|
|
1145
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1146
|
-
|
|
1147
|
-
{
|
|
1105
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomieq_sd(__m128d __a,
|
|
1106
|
+
__m128d __b) {
|
|
1148
1107
|
return __builtin_ia32_ucomisdeq((__v2df)__a, (__v2df)__b);
|
|
1149
1108
|
}
|
|
1150
1109
|
|
|
@@ -1168,9 +1127,8 @@ _mm_ucomieq_sd(__m128d __a, __m128d __b)
|
|
|
1168
1127
|
/// compared to the lower double-precision value of \a __a.
|
|
1169
1128
|
/// \returns An integer containing the comparison results. If either of the two
|
|
1170
1129
|
/// lower double-precision values is NaN, 0 is returned.
|
|
1171
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1172
|
-
|
|
1173
|
-
{
|
|
1130
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomilt_sd(__m128d __a,
|
|
1131
|
+
__m128d __b) {
|
|
1174
1132
|
return __builtin_ia32_ucomisdlt((__v2df)__a, (__v2df)__b);
|
|
1175
1133
|
}
|
|
1176
1134
|
|
|
@@ -1194,9 +1152,8 @@ _mm_ucomilt_sd(__m128d __a, __m128d __b)
|
|
|
1194
1152
|
/// compared to the lower double-precision value of \a __a.
|
|
1195
1153
|
/// \returns An integer containing the comparison results. If either of the two
|
|
1196
1154
|
/// lower double-precision values is NaN, 0 is returned.
|
|
1197
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1198
|
-
|
|
1199
|
-
{
|
|
1155
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomile_sd(__m128d __a,
|
|
1156
|
+
__m128d __b) {
|
|
1200
1157
|
return __builtin_ia32_ucomisdle((__v2df)__a, (__v2df)__b);
|
|
1201
1158
|
}
|
|
1202
1159
|
|
|
@@ -1220,9 +1177,8 @@ _mm_ucomile_sd(__m128d __a, __m128d __b)
|
|
|
1220
1177
|
/// compared to the lower double-precision value of \a __a.
|
|
1221
1178
|
/// \returns An integer containing the comparison results. If either of the two
|
|
1222
1179
|
/// lower double-precision values is NaN, 0 is returned.
|
|
1223
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1224
|
-
|
|
1225
|
-
{
|
|
1180
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomigt_sd(__m128d __a,
|
|
1181
|
+
__m128d __b) {
|
|
1226
1182
|
return __builtin_ia32_ucomisdgt((__v2df)__a, (__v2df)__b);
|
|
1227
1183
|
}
|
|
1228
1184
|
|
|
@@ -1246,9 +1202,8 @@ _mm_ucomigt_sd(__m128d __a, __m128d __b)
|
|
|
1246
1202
|
/// compared to the lower double-precision value of \a __a.
|
|
1247
1203
|
/// \returns An integer containing the comparison results. If either of the two
|
|
1248
1204
|
/// lower double-precision values is NaN, 0 is returned.
|
|
1249
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1250
|
-
|
|
1251
|
-
{
|
|
1205
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomige_sd(__m128d __a,
|
|
1206
|
+
__m128d __b) {
|
|
1252
1207
|
return __builtin_ia32_ucomisdge((__v2df)__a, (__v2df)__b);
|
|
1253
1208
|
}
|
|
1254
1209
|
|
|
@@ -1272,9 +1227,8 @@ _mm_ucomige_sd(__m128d __a, __m128d __b)
|
|
|
1272
1227
|
/// compared to the lower double-precision value of \a __a.
|
|
1273
1228
|
/// \returns An integer containing the comparison result. If either of the two
|
|
1274
1229
|
/// lower double-precision values is NaN, 1 is returned.
|
|
1275
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1276
|
-
|
|
1277
|
-
{
|
|
1230
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomineq_sd(__m128d __a,
|
|
1231
|
+
__m128d __b) {
|
|
1278
1232
|
return __builtin_ia32_ucomisdneq((__v2df)__a, (__v2df)__b);
|
|
1279
1233
|
}
|
|
1280
1234
|
|
|
@@ -1291,9 +1245,7 @@ _mm_ucomineq_sd(__m128d __a, __m128d __b)
|
|
|
1291
1245
|
/// A 128-bit vector of [2 x double].
|
|
1292
1246
|
/// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
|
|
1293
1247
|
/// converted values. The upper 64 bits are set to zero.
|
|
1294
|
-
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
|
1295
|
-
_mm_cvtpd_ps(__m128d __a)
|
|
1296
|
-
{
|
|
1248
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cvtpd_ps(__m128d __a) {
|
|
1297
1249
|
return __builtin_ia32_cvtpd2ps((__v2df)__a);
|
|
1298
1250
|
}
|
|
1299
1251
|
|
|
@@ -1311,9 +1263,7 @@ _mm_cvtpd_ps(__m128d __a)
|
|
|
1311
1263
|
/// floating-point elements are converted to double-precision values. The
|
|
1312
1264
|
/// upper two elements are unused.
|
|
1313
1265
|
/// \returns A 128-bit vector of [2 x double] containing the converted values.
|
|
1314
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1315
|
-
_mm_cvtps_pd(__m128 __a)
|
|
1316
|
-
{
|
|
1266
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cvtps_pd(__m128 __a) {
|
|
1317
1267
|
return (__m128d) __builtin_convertvector(
|
|
1318
1268
|
__builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 0, 1), __v2df);
|
|
1319
1269
|
}
|
|
@@ -1334,9 +1284,7 @@ _mm_cvtps_pd(__m128 __a)
|
|
|
1334
1284
|
///
|
|
1335
1285
|
/// The upper two elements are unused.
|
|
1336
1286
|
/// \returns A 128-bit vector of [2 x double] containing the converted values.
|
|
1337
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1338
|
-
_mm_cvtepi32_pd(__m128i __a)
|
|
1339
|
-
{
|
|
1287
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cvtepi32_pd(__m128i __a) {
|
|
1340
1288
|
return (__m128d) __builtin_convertvector(
|
|
1341
1289
|
__builtin_shufflevector((__v4si)__a, (__v4si)__a, 0, 1), __v2df);
|
|
1342
1290
|
}
|
|
@@ -1354,9 +1302,7 @@ _mm_cvtepi32_pd(__m128i __a)
|
|
|
1354
1302
|
/// A 128-bit vector of [2 x double].
|
|
1355
1303
|
/// \returns A 128-bit vector of [4 x i32] whose lower 64 bits contain the
|
|
1356
1304
|
/// converted values. The upper 64 bits are set to zero.
|
|
1357
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
1358
|
-
_mm_cvtpd_epi32(__m128d __a)
|
|
1359
|
-
{
|
|
1305
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtpd_epi32(__m128d __a) {
|
|
1360
1306
|
return __builtin_ia32_cvtpd2dq((__v2df)__a);
|
|
1361
1307
|
}
|
|
1362
1308
|
|
|
@@ -1371,9 +1317,7 @@ _mm_cvtpd_epi32(__m128d __a)
|
|
|
1371
1317
|
/// A 128-bit vector of [2 x double]. The lower 64 bits are used in the
|
|
1372
1318
|
/// conversion.
|
|
1373
1319
|
/// \returns A 32-bit signed integer containing the converted value.
|
|
1374
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1375
|
-
_mm_cvtsd_si32(__m128d __a)
|
|
1376
|
-
{
|
|
1320
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_cvtsd_si32(__m128d __a) {
|
|
1377
1321
|
return __builtin_ia32_cvtsd2si((__v2df)__a);
|
|
1378
1322
|
}
|
|
1379
1323
|
|
|
@@ -1396,9 +1340,8 @@ _mm_cvtsd_si32(__m128d __a)
|
|
|
1396
1340
|
/// \returns A 128-bit vector of [4 x float]. The lower 32 bits contain the
|
|
1397
1341
|
/// converted value from the second parameter. The upper 96 bits are copied
|
|
1398
1342
|
/// from the upper 96 bits of the first parameter.
|
|
1399
|
-
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
|
1400
|
-
|
|
1401
|
-
{
|
|
1343
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cvtsd_ss(__m128 __a,
|
|
1344
|
+
__m128d __b) {
|
|
1402
1345
|
return (__m128)__builtin_ia32_cvtsd2ss((__v4sf)__a, (__v2df)__b);
|
|
1403
1346
|
}
|
|
1404
1347
|
|
|
@@ -1419,9 +1362,8 @@ _mm_cvtsd_ss(__m128 __a, __m128d __b)
|
|
|
1419
1362
|
/// \returns A 128-bit vector of [2 x double]. The lower 64 bits contain the
|
|
1420
1363
|
/// converted value from the second parameter. The upper 64 bits are copied
|
|
1421
1364
|
/// from the upper 64 bits of the first parameter.
|
|
1422
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1423
|
-
|
|
1424
|
-
{
|
|
1365
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cvtsi32_sd(__m128d __a,
|
|
1366
|
+
int __b) {
|
|
1425
1367
|
__a[0] = __b;
|
|
1426
1368
|
return __a;
|
|
1427
1369
|
}
|
|
@@ -1445,9 +1387,8 @@ _mm_cvtsi32_sd(__m128d __a, int __b)
|
|
|
1445
1387
|
/// \returns A 128-bit vector of [2 x double]. The lower 64 bits contain the
|
|
1446
1388
|
/// converted value from the second parameter. The upper 64 bits are copied
|
|
1447
1389
|
/// from the upper 64 bits of the first parameter.
|
|
1448
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1449
|
-
|
|
1450
|
-
{
|
|
1390
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cvtss_sd(__m128d __a,
|
|
1391
|
+
__m128 __b) {
|
|
1451
1392
|
__a[0] = __b[0];
|
|
1452
1393
|
return __a;
|
|
1453
1394
|
}
|
|
@@ -1469,9 +1410,7 @@ _mm_cvtss_sd(__m128d __a, __m128 __b)
|
|
|
1469
1410
|
/// A 128-bit vector of [2 x double].
|
|
1470
1411
|
/// \returns A 128-bit vector of [4 x i32] whose lower 64 bits contain the
|
|
1471
1412
|
/// converted values. The upper 64 bits are set to zero.
|
|
1472
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
1473
|
-
_mm_cvttpd_epi32(__m128d __a)
|
|
1474
|
-
{
|
|
1413
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvttpd_epi32(__m128d __a) {
|
|
1475
1414
|
return (__m128i)__builtin_ia32_cvttpd2dq((__v2df)__a);
|
|
1476
1415
|
}
|
|
1477
1416
|
|
|
@@ -1487,9 +1426,7 @@ _mm_cvttpd_epi32(__m128d __a)
|
|
|
1487
1426
|
/// A 128-bit vector of [2 x double]. The lower 64 bits are used in the
|
|
1488
1427
|
/// conversion.
|
|
1489
1428
|
/// \returns A 32-bit signed integer containing the converted value.
|
|
1490
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
1491
|
-
_mm_cvttsd_si32(__m128d __a)
|
|
1492
|
-
{
|
|
1429
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_cvttsd_si32(__m128d __a) {
|
|
1493
1430
|
return __builtin_ia32_cvttsd2si((__v2df)__a);
|
|
1494
1431
|
}
|
|
1495
1432
|
|
|
@@ -1504,9 +1441,7 @@ _mm_cvttsd_si32(__m128d __a)
|
|
|
1504
1441
|
/// \param __a
|
|
1505
1442
|
/// A 128-bit vector of [2 x double].
|
|
1506
1443
|
/// \returns A 64-bit vector of [2 x i32] containing the converted values.
|
|
1507
|
-
static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
|
|
1508
|
-
_mm_cvtpd_pi32(__m128d __a)
|
|
1509
|
-
{
|
|
1444
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX _mm_cvtpd_pi32(__m128d __a) {
|
|
1510
1445
|
return (__m64)__builtin_ia32_cvtpd2pi((__v2df)__a);
|
|
1511
1446
|
}
|
|
1512
1447
|
|
|
@@ -1524,9 +1459,7 @@ _mm_cvtpd_pi32(__m128d __a)
|
|
|
1524
1459
|
/// \param __a
|
|
1525
1460
|
/// A 128-bit vector of [2 x double].
|
|
1526
1461
|
/// \returns A 64-bit vector of [2 x i32] containing the converted values.
|
|
1527
|
-
static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
|
|
1528
|
-
_mm_cvttpd_pi32(__m128d __a)
|
|
1529
|
-
{
|
|
1462
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX _mm_cvttpd_pi32(__m128d __a) {
|
|
1530
1463
|
return (__m64)__builtin_ia32_cvttpd2pi((__v2df)__a);
|
|
1531
1464
|
}
|
|
1532
1465
|
|
|
@@ -1541,9 +1474,7 @@ _mm_cvttpd_pi32(__m128d __a)
|
|
|
1541
1474
|
/// \param __a
|
|
1542
1475
|
/// A 64-bit vector of [2 x i32].
|
|
1543
1476
|
/// \returns A 128-bit vector of [2 x double] containing the converted values.
|
|
1544
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS_MMX
|
|
1545
|
-
_mm_cvtpi32_pd(__m64 __a)
|
|
1546
|
-
{
|
|
1477
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS_MMX _mm_cvtpi32_pd(__m64 __a) {
|
|
1547
1478
|
return __builtin_ia32_cvtpi2pd((__v2si)__a);
|
|
1548
1479
|
}
|
|
1549
1480
|
|
|
@@ -1558,9 +1489,7 @@ _mm_cvtpi32_pd(__m64 __a)
|
|
|
1558
1489
|
/// A 128-bit vector of [2 x double]. The lower 64 bits are returned.
|
|
1559
1490
|
/// \returns A double-precision floating-point value copied from the lower 64
|
|
1560
1491
|
/// bits of \a __a.
|
|
1561
|
-
static __inline__ double __DEFAULT_FN_ATTRS
|
|
1562
|
-
_mm_cvtsd_f64(__m128d __a)
|
|
1563
|
-
{
|
|
1492
|
+
static __inline__ double __DEFAULT_FN_ATTRS _mm_cvtsd_f64(__m128d __a) {
|
|
1564
1493
|
return __a[0];
|
|
1565
1494
|
}
|
|
1566
1495
|
|
|
@@ -1575,10 +1504,8 @@ _mm_cvtsd_f64(__m128d __a)
|
|
|
1575
1504
|
/// A pointer to a 128-bit memory location. The address of the memory
|
|
1576
1505
|
/// location has to be 16-byte aligned.
|
|
1577
1506
|
/// \returns A 128-bit vector of [2 x double] containing the loaded values.
|
|
1578
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1579
|
-
|
|
1580
|
-
{
|
|
1581
|
-
return *(const __m128d*)__dp;
|
|
1507
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_load_pd(double const *__dp) {
|
|
1508
|
+
return *(const __m128d *)__dp;
|
|
1582
1509
|
}
|
|
1583
1510
|
|
|
1584
1511
|
/// Loads a double-precision floating-point value from a specified memory
|
|
@@ -1593,17 +1520,15 @@ _mm_load_pd(double const *__dp)
|
|
|
1593
1520
|
/// A pointer to a memory location containing a double-precision value.
|
|
1594
1521
|
/// \returns A 128-bit vector of [2 x double] containing the loaded and
|
|
1595
1522
|
/// duplicated values.
|
|
1596
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1597
|
-
_mm_load1_pd(double const *__dp)
|
|
1598
|
-
{
|
|
1523
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_load1_pd(double const *__dp) {
|
|
1599
1524
|
struct __mm_load1_pd_struct {
|
|
1600
1525
|
double __u;
|
|
1601
1526
|
} __attribute__((__packed__, __may_alias__));
|
|
1602
|
-
double __u = ((const struct __mm_load1_pd_struct*)__dp)->__u;
|
|
1603
|
-
return __extension__
|
|
1527
|
+
double __u = ((const struct __mm_load1_pd_struct *)__dp)->__u;
|
|
1528
|
+
return __extension__(__m128d){__u, __u};
|
|
1604
1529
|
}
|
|
1605
1530
|
|
|
1606
|
-
#define
|
|
1531
|
+
#define _mm_load_pd1(dp) _mm_load1_pd(dp)
|
|
1607
1532
|
|
|
1608
1533
|
/// Loads two double-precision values, in reverse order, from an aligned
|
|
1609
1534
|
/// memory location into a 128-bit vector of [2 x double].
|
|
@@ -1619,10 +1544,8 @@ _mm_load1_pd(double const *__dp)
|
|
|
1619
1544
|
/// loaded in reverse order.
|
|
1620
1545
|
/// \returns A 128-bit vector of [2 x double] containing the reversed loaded
|
|
1621
1546
|
/// values.
|
|
1622
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1623
|
-
|
|
1624
|
-
{
|
|
1625
|
-
__m128d __u = *(const __m128d*)__dp;
|
|
1547
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_loadr_pd(double const *__dp) {
|
|
1548
|
+
__m128d __u = *(const __m128d *)__dp;
|
|
1626
1549
|
return __builtin_shufflevector((__v2df)__u, (__v2df)__u, 1, 0);
|
|
1627
1550
|
}
|
|
1628
1551
|
|
|
@@ -1637,13 +1560,11 @@ _mm_loadr_pd(double const *__dp)
|
|
|
1637
1560
|
/// A pointer to a 128-bit memory location. The address of the memory
|
|
1638
1561
|
/// location does not have to be aligned.
|
|
1639
1562
|
/// \returns A 128-bit vector of [2 x double] containing the loaded values.
|
|
1640
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1641
|
-
_mm_loadu_pd(double const *__dp)
|
|
1642
|
-
{
|
|
1563
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_loadu_pd(double const *__dp) {
|
|
1643
1564
|
struct __loadu_pd {
|
|
1644
1565
|
__m128d_u __v;
|
|
1645
1566
|
} __attribute__((__packed__, __may_alias__));
|
|
1646
|
-
return ((const struct __loadu_pd*)__dp)->__v;
|
|
1567
|
+
return ((const struct __loadu_pd *)__dp)->__v;
|
|
1647
1568
|
}
|
|
1648
1569
|
|
|
1649
1570
|
/// Loads a 64-bit integer value to the low element of a 128-bit integer
|
|
@@ -1657,14 +1578,12 @@ _mm_loadu_pd(double const *__dp)
|
|
|
1657
1578
|
/// A pointer to a 64-bit memory location. The address of the memory
|
|
1658
1579
|
/// location does not have to be aligned.
|
|
1659
1580
|
/// \returns A 128-bit vector of [2 x i64] containing the loaded value.
|
|
1660
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
1661
|
-
_mm_loadu_si64(void const *__a)
|
|
1662
|
-
{
|
|
1581
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_loadu_si64(void const *__a) {
|
|
1663
1582
|
struct __loadu_si64 {
|
|
1664
1583
|
long long __v;
|
|
1665
1584
|
} __attribute__((__packed__, __may_alias__));
|
|
1666
|
-
long long __u = ((const struct __loadu_si64*)__a)->__v;
|
|
1667
|
-
return __extension__
|
|
1585
|
+
long long __u = ((const struct __loadu_si64 *)__a)->__v;
|
|
1586
|
+
return __extension__(__m128i)(__v2di){__u, 0LL};
|
|
1668
1587
|
}
|
|
1669
1588
|
|
|
1670
1589
|
/// Loads a 32-bit integer value to the low element of a 128-bit integer
|
|
@@ -1678,14 +1597,12 @@ _mm_loadu_si64(void const *__a)
|
|
|
1678
1597
|
/// A pointer to a 32-bit memory location. The address of the memory
|
|
1679
1598
|
/// location does not have to be aligned.
|
|
1680
1599
|
/// \returns A 128-bit vector of [4 x i32] containing the loaded value.
|
|
1681
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
1682
|
-
_mm_loadu_si32(void const *__a)
|
|
1683
|
-
{
|
|
1600
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_loadu_si32(void const *__a) {
|
|
1684
1601
|
struct __loadu_si32 {
|
|
1685
1602
|
int __v;
|
|
1686
1603
|
} __attribute__((__packed__, __may_alias__));
|
|
1687
|
-
int __u = ((const struct __loadu_si32*)__a)->__v;
|
|
1688
|
-
return __extension__
|
|
1604
|
+
int __u = ((const struct __loadu_si32 *)__a)->__v;
|
|
1605
|
+
return __extension__(__m128i)(__v4si){__u, 0, 0, 0};
|
|
1689
1606
|
}
|
|
1690
1607
|
|
|
1691
1608
|
/// Loads a 16-bit integer value to the low element of a 128-bit integer
|
|
@@ -1699,14 +1616,12 @@ _mm_loadu_si32(void const *__a)
|
|
|
1699
1616
|
/// A pointer to a 16-bit memory location. The address of the memory
|
|
1700
1617
|
/// location does not have to be aligned.
|
|
1701
1618
|
/// \returns A 128-bit vector of [8 x i16] containing the loaded value.
|
|
1702
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
1703
|
-
_mm_loadu_si16(void const *__a)
|
|
1704
|
-
{
|
|
1619
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_loadu_si16(void const *__a) {
|
|
1705
1620
|
struct __loadu_si16 {
|
|
1706
1621
|
short __v;
|
|
1707
1622
|
} __attribute__((__packed__, __may_alias__));
|
|
1708
|
-
short __u = ((const struct __loadu_si16*)__a)->__v;
|
|
1709
|
-
return __extension__
|
|
1623
|
+
short __u = ((const struct __loadu_si16 *)__a)->__v;
|
|
1624
|
+
return __extension__(__m128i)(__v8hi){__u, 0, 0, 0, 0, 0, 0, 0};
|
|
1710
1625
|
}
|
|
1711
1626
|
|
|
1712
1627
|
/// Loads a 64-bit double-precision value to the low element of a
|
|
@@ -1720,14 +1635,12 @@ _mm_loadu_si16(void const *__a)
|
|
|
1720
1635
|
/// A pointer to a memory location containing a double-precision value.
|
|
1721
1636
|
/// The address of the memory location does not have to be aligned.
|
|
1722
1637
|
/// \returns A 128-bit vector of [2 x double] containing the loaded value.
|
|
1723
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1724
|
-
_mm_load_sd(double const *__dp)
|
|
1725
|
-
{
|
|
1638
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_load_sd(double const *__dp) {
|
|
1726
1639
|
struct __mm_load_sd_struct {
|
|
1727
1640
|
double __u;
|
|
1728
1641
|
} __attribute__((__packed__, __may_alias__));
|
|
1729
|
-
double __u = ((const struct __mm_load_sd_struct*)__dp)->__u;
|
|
1730
|
-
return __extension__
|
|
1642
|
+
double __u = ((const struct __mm_load_sd_struct *)__dp)->__u;
|
|
1643
|
+
return __extension__(__m128d){__u, 0};
|
|
1731
1644
|
}
|
|
1732
1645
|
|
|
1733
1646
|
/// Loads a double-precision value into the high-order bits of a 128-bit
|
|
@@ -1747,14 +1660,13 @@ _mm_load_sd(double const *__dp)
|
|
|
1747
1660
|
/// [127:64] of the result. The address of the memory location does not have
|
|
1748
1661
|
/// to be aligned.
|
|
1749
1662
|
/// \returns A 128-bit vector of [2 x double] containing the moved values.
|
|
1750
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1751
|
-
|
|
1752
|
-
{
|
|
1663
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_loadh_pd(__m128d __a,
|
|
1664
|
+
double const *__dp) {
|
|
1753
1665
|
struct __mm_loadh_pd_struct {
|
|
1754
1666
|
double __u;
|
|
1755
1667
|
} __attribute__((__packed__, __may_alias__));
|
|
1756
|
-
double __u = ((const struct __mm_loadh_pd_struct*)__dp)->__u;
|
|
1757
|
-
return __extension__
|
|
1668
|
+
double __u = ((const struct __mm_loadh_pd_struct *)__dp)->__u;
|
|
1669
|
+
return __extension__(__m128d){__a[0], __u};
|
|
1758
1670
|
}
|
|
1759
1671
|
|
|
1760
1672
|
/// Loads a double-precision value into the low-order bits of a 128-bit
|
|
@@ -1774,14 +1686,13 @@ _mm_loadh_pd(__m128d __a, double const *__dp)
|
|
|
1774
1686
|
/// [63:0] of the result. The address of the memory location does not have to
|
|
1775
1687
|
/// be aligned.
|
|
1776
1688
|
/// \returns A 128-bit vector of [2 x double] containing the moved values.
|
|
1777
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1778
|
-
|
|
1779
|
-
{
|
|
1689
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_loadl_pd(__m128d __a,
|
|
1690
|
+
double const *__dp) {
|
|
1780
1691
|
struct __mm_loadl_pd_struct {
|
|
1781
1692
|
double __u;
|
|
1782
1693
|
} __attribute__((__packed__, __may_alias__));
|
|
1783
|
-
double __u = ((const struct __mm_loadl_pd_struct*)__dp)->__u;
|
|
1784
|
-
return __extension__
|
|
1694
|
+
double __u = ((const struct __mm_loadl_pd_struct *)__dp)->__u;
|
|
1695
|
+
return __extension__(__m128d){__u, __a[1]};
|
|
1785
1696
|
}
|
|
1786
1697
|
|
|
1787
1698
|
/// Constructs a 128-bit floating-point vector of [2 x double] with
|
|
@@ -1795,9 +1706,7 @@ _mm_loadl_pd(__m128d __a, double const *__dp)
|
|
|
1795
1706
|
///
|
|
1796
1707
|
/// \returns A 128-bit floating-point vector of [2 x double] with unspecified
|
|
1797
1708
|
/// content.
|
|
1798
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1799
|
-
_mm_undefined_pd(void)
|
|
1800
|
-
{
|
|
1709
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_undefined_pd(void) {
|
|
1801
1710
|
return (__m128d)__builtin_ia32_undef128();
|
|
1802
1711
|
}
|
|
1803
1712
|
|
|
@@ -1815,10 +1724,8 @@ _mm_undefined_pd(void)
|
|
|
1815
1724
|
/// \returns An initialized 128-bit floating-point vector of [2 x double]. The
|
|
1816
1725
|
/// lower 64 bits contain the value of the parameter. The upper 64 bits are
|
|
1817
1726
|
/// set to zero.
|
|
1818
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1819
|
-
|
|
1820
|
-
{
|
|
1821
|
-
return __extension__ (__m128d){ __w, 0 };
|
|
1727
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_set_sd(double __w) {
|
|
1728
|
+
return __extension__(__m128d){__w, 0};
|
|
1822
1729
|
}
|
|
1823
1730
|
|
|
1824
1731
|
/// Constructs a 128-bit floating-point vector of [2 x double], with each
|
|
@@ -1833,10 +1740,8 @@ _mm_set_sd(double __w)
|
|
|
1833
1740
|
/// A double-precision floating-point value used to initialize each vector
|
|
1834
1741
|
/// element of the result.
|
|
1835
1742
|
/// \returns An initialized 128-bit floating-point vector of [2 x double].
|
|
1836
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1837
|
-
|
|
1838
|
-
{
|
|
1839
|
-
return __extension__ (__m128d){ __w, __w };
|
|
1743
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_set1_pd(double __w) {
|
|
1744
|
+
return __extension__(__m128d){__w, __w};
|
|
1840
1745
|
}
|
|
1841
1746
|
|
|
1842
1747
|
/// Constructs a 128-bit floating-point vector of [2 x double], with each
|
|
@@ -1851,9 +1756,7 @@ _mm_set1_pd(double __w)
|
|
|
1851
1756
|
/// A double-precision floating-point value used to initialize each vector
|
|
1852
1757
|
/// element of the result.
|
|
1853
1758
|
/// \returns An initialized 128-bit floating-point vector of [2 x double].
|
|
1854
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1855
|
-
_mm_set_pd1(double __w)
|
|
1856
|
-
{
|
|
1759
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_set_pd1(double __w) {
|
|
1857
1760
|
return _mm_set1_pd(__w);
|
|
1858
1761
|
}
|
|
1859
1762
|
|
|
@@ -1871,10 +1774,9 @@ _mm_set_pd1(double __w)
|
|
|
1871
1774
|
/// A double-precision floating-point value used to initialize the lower 64
|
|
1872
1775
|
/// bits of the result.
|
|
1873
1776
|
/// \returns An initialized 128-bit floating-point vector of [2 x double].
|
|
1874
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1875
|
-
|
|
1876
|
-
{
|
|
1877
|
-
return __extension__ (__m128d){ __x, __w };
|
|
1777
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_set_pd(double __w,
|
|
1778
|
+
double __x) {
|
|
1779
|
+
return __extension__(__m128d){__x, __w};
|
|
1878
1780
|
}
|
|
1879
1781
|
|
|
1880
1782
|
/// Constructs a 128-bit floating-point vector of [2 x double],
|
|
@@ -1892,10 +1794,9 @@ _mm_set_pd(double __w, double __x)
|
|
|
1892
1794
|
/// A double-precision floating-point value used to initialize the upper 64
|
|
1893
1795
|
/// bits of the result.
|
|
1894
1796
|
/// \returns An initialized 128-bit floating-point vector of [2 x double].
|
|
1895
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1896
|
-
|
|
1897
|
-
{
|
|
1898
|
-
return __extension__ (__m128d){ __w, __x };
|
|
1797
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_setr_pd(double __w,
|
|
1798
|
+
double __x) {
|
|
1799
|
+
return __extension__(__m128d){__w, __x};
|
|
1899
1800
|
}
|
|
1900
1801
|
|
|
1901
1802
|
/// Constructs a 128-bit floating-point vector of [2 x double]
|
|
@@ -1907,10 +1808,8 @@ _mm_setr_pd(double __w, double __x)
|
|
|
1907
1808
|
///
|
|
1908
1809
|
/// \returns An initialized 128-bit floating-point vector of [2 x double] with
|
|
1909
1810
|
/// all elements set to zero.
|
|
1910
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1911
|
-
|
|
1912
|
-
{
|
|
1913
|
-
return __extension__ (__m128d){ 0, 0 };
|
|
1811
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_setzero_pd(void) {
|
|
1812
|
+
return __extension__(__m128d){0, 0};
|
|
1914
1813
|
}
|
|
1915
1814
|
|
|
1916
1815
|
/// Constructs a 128-bit floating-point vector of [2 x double]. The lower
|
|
@@ -1928,9 +1827,8 @@ _mm_setzero_pd(void)
|
|
|
1928
1827
|
/// A 128-bit vector of [2 x double]. The lower 64 bits are written to the
|
|
1929
1828
|
/// lower 64 bits of the result.
|
|
1930
1829
|
/// \returns A 128-bit vector of [2 x double] containing the moved values.
|
|
1931
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
1932
|
-
|
|
1933
|
-
{
|
|
1830
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_move_sd(__m128d __a,
|
|
1831
|
+
__m128d __b) {
|
|
1934
1832
|
__a[0] = __b[0];
|
|
1935
1833
|
return __a;
|
|
1936
1834
|
}
|
|
@@ -1946,13 +1844,12 @@ _mm_move_sd(__m128d __a, __m128d __b)
|
|
|
1946
1844
|
/// A pointer to a 64-bit memory location.
|
|
1947
1845
|
/// \param __a
|
|
1948
1846
|
/// A 128-bit vector of [2 x double] containing the value to be stored.
|
|
1949
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
1950
|
-
|
|
1951
|
-
{
|
|
1847
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_store_sd(double *__dp,
|
|
1848
|
+
__m128d __a) {
|
|
1952
1849
|
struct __mm_store_sd_struct {
|
|
1953
1850
|
double __u;
|
|
1954
1851
|
} __attribute__((__packed__, __may_alias__));
|
|
1955
|
-
((struct __mm_store_sd_struct*)__dp)->__u = __a[0];
|
|
1852
|
+
((struct __mm_store_sd_struct *)__dp)->__u = __a[0];
|
|
1956
1853
|
}
|
|
1957
1854
|
|
|
1958
1855
|
/// Moves packed double-precision values from a 128-bit vector of
|
|
@@ -1968,10 +1865,9 @@ _mm_store_sd(double *__dp, __m128d __a)
|
|
|
1968
1865
|
/// \param __a
|
|
1969
1866
|
/// A packed 128-bit vector of [2 x double] containing the values to be
|
|
1970
1867
|
/// moved.
|
|
1971
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
*(__m128d*)__dp = __a;
|
|
1868
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_store_pd(double *__dp,
|
|
1869
|
+
__m128d __a) {
|
|
1870
|
+
*(__m128d *)__dp = __a;
|
|
1975
1871
|
}
|
|
1976
1872
|
|
|
1977
1873
|
/// Moves the lower 64 bits of a 128-bit vector of [2 x double] twice to
|
|
@@ -1988,9 +1884,8 @@ _mm_store_pd(double *__dp, __m128d __a)
|
|
|
1988
1884
|
/// \param __a
|
|
1989
1885
|
/// A 128-bit vector of [2 x double] whose lower 64 bits are copied to each
|
|
1990
1886
|
/// of the values in \a __dp.
|
|
1991
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
1992
|
-
|
|
1993
|
-
{
|
|
1887
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_store1_pd(double *__dp,
|
|
1888
|
+
__m128d __a) {
|
|
1994
1889
|
__a = __builtin_shufflevector((__v2df)__a, (__v2df)__a, 0, 0);
|
|
1995
1890
|
_mm_store_pd(__dp, __a);
|
|
1996
1891
|
}
|
|
@@ -2009,9 +1904,8 @@ _mm_store1_pd(double *__dp, __m128d __a)
|
|
|
2009
1904
|
/// \param __a
|
|
2010
1905
|
/// A 128-bit vector of [2 x double] whose lower 64 bits are copied to each
|
|
2011
1906
|
/// of the values in \a __dp.
|
|
2012
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
2013
|
-
|
|
2014
|
-
{
|
|
1907
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_store_pd1(double *__dp,
|
|
1908
|
+
__m128d __a) {
|
|
2015
1909
|
_mm_store1_pd(__dp, __a);
|
|
2016
1910
|
}
|
|
2017
1911
|
|
|
@@ -2027,13 +1921,12 @@ _mm_store_pd1(double *__dp, __m128d __a)
|
|
|
2027
1921
|
/// location does not have to be aligned.
|
|
2028
1922
|
/// \param __a
|
|
2029
1923
|
/// A 128-bit vector of [2 x double] containing the values to be stored.
|
|
2030
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
2031
|
-
|
|
2032
|
-
{
|
|
1924
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_storeu_pd(double *__dp,
|
|
1925
|
+
__m128d __a) {
|
|
2033
1926
|
struct __storeu_pd {
|
|
2034
1927
|
__m128d_u __v;
|
|
2035
1928
|
} __attribute__((__packed__, __may_alias__));
|
|
2036
|
-
((struct __storeu_pd*)__dp)->__v = __a;
|
|
1929
|
+
((struct __storeu_pd *)__dp)->__v = __a;
|
|
2037
1930
|
}
|
|
2038
1931
|
|
|
2039
1932
|
/// Stores two double-precision values, in reverse order, from a 128-bit
|
|
@@ -2050,9 +1943,8 @@ _mm_storeu_pd(double *__dp, __m128d __a)
|
|
|
2050
1943
|
/// \param __a
|
|
2051
1944
|
/// A 128-bit vector of [2 x double] containing the values to be reversed and
|
|
2052
1945
|
/// stored.
|
|
2053
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
2054
|
-
|
|
2055
|
-
{
|
|
1946
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_storer_pd(double *__dp,
|
|
1947
|
+
__m128d __a) {
|
|
2056
1948
|
__a = __builtin_shufflevector((__v2df)__a, (__v2df)__a, 1, 0);
|
|
2057
1949
|
*(__m128d *)__dp = __a;
|
|
2058
1950
|
}
|
|
@@ -2068,13 +1960,12 @@ _mm_storer_pd(double *__dp, __m128d __a)
|
|
|
2068
1960
|
/// A pointer to a 64-bit memory location.
|
|
2069
1961
|
/// \param __a
|
|
2070
1962
|
/// A 128-bit vector of [2 x double] containing the value to be stored.
|
|
2071
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
2072
|
-
|
|
2073
|
-
{
|
|
1963
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_storeh_pd(double *__dp,
|
|
1964
|
+
__m128d __a) {
|
|
2074
1965
|
struct __mm_storeh_pd_struct {
|
|
2075
1966
|
double __u;
|
|
2076
1967
|
} __attribute__((__packed__, __may_alias__));
|
|
2077
|
-
((struct __mm_storeh_pd_struct*)__dp)->__u = __a[1];
|
|
1968
|
+
((struct __mm_storeh_pd_struct *)__dp)->__u = __a[1];
|
|
2078
1969
|
}
|
|
2079
1970
|
|
|
2080
1971
|
/// Stores the lower 64 bits of a 128-bit vector of [2 x double] to a
|
|
@@ -2088,13 +1979,12 @@ _mm_storeh_pd(double *__dp, __m128d __a)
|
|
|
2088
1979
|
/// A pointer to a 64-bit memory location.
|
|
2089
1980
|
/// \param __a
|
|
2090
1981
|
/// A 128-bit vector of [2 x double] containing the value to be stored.
|
|
2091
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
2092
|
-
|
|
2093
|
-
{
|
|
1982
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_storel_pd(double *__dp,
|
|
1983
|
+
__m128d __a) {
|
|
2094
1984
|
struct __mm_storeh_pd_struct {
|
|
2095
1985
|
double __u;
|
|
2096
1986
|
} __attribute__((__packed__, __may_alias__));
|
|
2097
|
-
((struct __mm_storeh_pd_struct*)__dp)->__u = __a[0];
|
|
1987
|
+
((struct __mm_storeh_pd_struct *)__dp)->__u = __a[0];
|
|
2098
1988
|
}
|
|
2099
1989
|
|
|
2100
1990
|
/// Adds the corresponding elements of two 128-bit vectors of [16 x i8],
|
|
@@ -2113,9 +2003,8 @@ _mm_storel_pd(double *__dp, __m128d __a)
|
|
|
2113
2003
|
/// A 128-bit vector of [16 x i8].
|
|
2114
2004
|
/// \returns A 128-bit vector of [16 x i8] containing the sums of both
|
|
2115
2005
|
/// parameters.
|
|
2116
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2117
|
-
|
|
2118
|
-
{
|
|
2006
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_add_epi8(__m128i __a,
|
|
2007
|
+
__m128i __b) {
|
|
2119
2008
|
return (__m128i)((__v16qu)__a + (__v16qu)__b);
|
|
2120
2009
|
}
|
|
2121
2010
|
|
|
@@ -2135,9 +2024,8 @@ _mm_add_epi8(__m128i __a, __m128i __b)
|
|
|
2135
2024
|
/// A 128-bit vector of [8 x i16].
|
|
2136
2025
|
/// \returns A 128-bit vector of [8 x i16] containing the sums of both
|
|
2137
2026
|
/// parameters.
|
|
2138
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2139
|
-
|
|
2140
|
-
{
|
|
2027
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_add_epi16(__m128i __a,
|
|
2028
|
+
__m128i __b) {
|
|
2141
2029
|
return (__m128i)((__v8hu)__a + (__v8hu)__b);
|
|
2142
2030
|
}
|
|
2143
2031
|
|
|
@@ -2157,9 +2045,8 @@ _mm_add_epi16(__m128i __a, __m128i __b)
|
|
|
2157
2045
|
/// A 128-bit vector of [4 x i32].
|
|
2158
2046
|
/// \returns A 128-bit vector of [4 x i32] containing the sums of both
|
|
2159
2047
|
/// parameters.
|
|
2160
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2161
|
-
|
|
2162
|
-
{
|
|
2048
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_add_epi32(__m128i __a,
|
|
2049
|
+
__m128i __b) {
|
|
2163
2050
|
return (__m128i)((__v4su)__a + (__v4su)__b);
|
|
2164
2051
|
}
|
|
2165
2052
|
|
|
@@ -2175,9 +2062,8 @@ _mm_add_epi32(__m128i __a, __m128i __b)
|
|
|
2175
2062
|
/// \param __b
|
|
2176
2063
|
/// A 64-bit integer.
|
|
2177
2064
|
/// \returns A 64-bit integer containing the sum of both parameters.
|
|
2178
|
-
static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
|
|
2179
|
-
|
|
2180
|
-
{
|
|
2065
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX _mm_add_si64(__m64 __a,
|
|
2066
|
+
__m64 __b) {
|
|
2181
2067
|
return (__m64)__builtin_ia32_paddq((__v1di)__a, (__v1di)__b);
|
|
2182
2068
|
}
|
|
2183
2069
|
|
|
@@ -2197,9 +2083,8 @@ _mm_add_si64(__m64 __a, __m64 __b)
|
|
|
2197
2083
|
/// A 128-bit vector of [2 x i64].
|
|
2198
2084
|
/// \returns A 128-bit vector of [2 x i64] containing the sums of both
|
|
2199
2085
|
/// parameters.
|
|
2200
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2201
|
-
|
|
2202
|
-
{
|
|
2086
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_add_epi64(__m128i __a,
|
|
2087
|
+
__m128i __b) {
|
|
2203
2088
|
return (__m128i)((__v2du)__a + (__v2du)__b);
|
|
2204
2089
|
}
|
|
2205
2090
|
|
|
@@ -2218,10 +2103,9 @@ _mm_add_epi64(__m128i __a, __m128i __b)
|
|
|
2218
2103
|
/// A 128-bit signed [16 x i8] vector.
|
|
2219
2104
|
/// \returns A 128-bit signed [16 x i8] vector containing the saturated sums of
|
|
2220
2105
|
/// both parameters.
|
|
2221
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
return (__m128i)__builtin_ia32_paddsb128((__v16qi)__a, (__v16qi)__b);
|
|
2106
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epi8(__m128i __a,
|
|
2107
|
+
__m128i __b) {
|
|
2108
|
+
return (__m128i)__builtin_elementwise_add_sat((__v16qs)__a, (__v16qs)__b);
|
|
2225
2109
|
}
|
|
2226
2110
|
|
|
2227
2111
|
/// Adds, with saturation, the corresponding elements of two 128-bit
|
|
@@ -2240,10 +2124,9 @@ _mm_adds_epi8(__m128i __a, __m128i __b)
|
|
|
2240
2124
|
/// A 128-bit signed [8 x i16] vector.
|
|
2241
2125
|
/// \returns A 128-bit signed [8 x i16] vector containing the saturated sums of
|
|
2242
2126
|
/// both parameters.
|
|
2243
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
return (__m128i)__builtin_ia32_paddsw128((__v8hi)__a, (__v8hi)__b);
|
|
2127
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epi16(__m128i __a,
|
|
2128
|
+
__m128i __b) {
|
|
2129
|
+
return (__m128i)__builtin_elementwise_add_sat((__v8hi)__a, (__v8hi)__b);
|
|
2247
2130
|
}
|
|
2248
2131
|
|
|
2249
2132
|
/// Adds, with saturation, the corresponding elements of two 128-bit
|
|
@@ -2261,10 +2144,9 @@ _mm_adds_epi16(__m128i __a, __m128i __b)
|
|
|
2261
2144
|
/// A 128-bit unsigned [16 x i8] vector.
|
|
2262
2145
|
/// \returns A 128-bit unsigned [16 x i8] vector containing the saturated sums
|
|
2263
2146
|
/// of both parameters.
|
|
2264
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
return (__m128i)__builtin_ia32_paddusb128((__v16qi)__a, (__v16qi)__b);
|
|
2147
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epu8(__m128i __a,
|
|
2148
|
+
__m128i __b) {
|
|
2149
|
+
return (__m128i)__builtin_elementwise_add_sat((__v16qu)__a, (__v16qu)__b);
|
|
2268
2150
|
}
|
|
2269
2151
|
|
|
2270
2152
|
/// Adds, with saturation, the corresponding elements of two 128-bit
|
|
@@ -2282,10 +2164,9 @@ _mm_adds_epu8(__m128i __a, __m128i __b)
|
|
|
2282
2164
|
/// A 128-bit unsigned [8 x i16] vector.
|
|
2283
2165
|
/// \returns A 128-bit unsigned [8 x i16] vector containing the saturated sums
|
|
2284
2166
|
/// of both parameters.
|
|
2285
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
return (__m128i)__builtin_ia32_paddusw128((__v8hi)__a, (__v8hi)__b);
|
|
2167
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epu16(__m128i __a,
|
|
2168
|
+
__m128i __b) {
|
|
2169
|
+
return (__m128i)__builtin_elementwise_add_sat((__v8hu)__a, (__v8hu)__b);
|
|
2289
2170
|
}
|
|
2290
2171
|
|
|
2291
2172
|
/// Computes the rounded averages of corresponding elements of two
|
|
@@ -2302,9 +2183,8 @@ _mm_adds_epu16(__m128i __a, __m128i __b)
|
|
|
2302
2183
|
/// A 128-bit unsigned [16 x i8] vector.
|
|
2303
2184
|
/// \returns A 128-bit unsigned [16 x i8] vector containing the rounded
|
|
2304
2185
|
/// averages of both parameters.
|
|
2305
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2306
|
-
|
|
2307
|
-
{
|
|
2186
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_avg_epu8(__m128i __a,
|
|
2187
|
+
__m128i __b) {
|
|
2308
2188
|
return (__m128i)__builtin_ia32_pavgb128((__v16qi)__a, (__v16qi)__b);
|
|
2309
2189
|
}
|
|
2310
2190
|
|
|
@@ -2322,9 +2202,8 @@ _mm_avg_epu8(__m128i __a, __m128i __b)
|
|
|
2322
2202
|
/// A 128-bit unsigned [8 x i16] vector.
|
|
2323
2203
|
/// \returns A 128-bit unsigned [8 x i16] vector containing the rounded
|
|
2324
2204
|
/// averages of both parameters.
|
|
2325
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2326
|
-
|
|
2327
|
-
{
|
|
2205
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_avg_epu16(__m128i __a,
|
|
2206
|
+
__m128i __b) {
|
|
2328
2207
|
return (__m128i)__builtin_ia32_pavgw128((__v8hi)__a, (__v8hi)__b);
|
|
2329
2208
|
}
|
|
2330
2209
|
|
|
@@ -2348,9 +2227,8 @@ _mm_avg_epu16(__m128i __a, __m128i __b)
|
|
|
2348
2227
|
/// A 128-bit signed [8 x i16] vector.
|
|
2349
2228
|
/// \returns A 128-bit signed [4 x i32] vector containing the sums of products
|
|
2350
2229
|
/// of both parameters.
|
|
2351
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2352
|
-
|
|
2353
|
-
{
|
|
2230
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_madd_epi16(__m128i __a,
|
|
2231
|
+
__m128i __b) {
|
|
2354
2232
|
return (__m128i)__builtin_ia32_pmaddwd128((__v8hi)__a, (__v8hi)__b);
|
|
2355
2233
|
}
|
|
2356
2234
|
|
|
@@ -2368,10 +2246,9 @@ _mm_madd_epi16(__m128i __a, __m128i __b)
|
|
|
2368
2246
|
/// A 128-bit signed [8 x i16] vector.
|
|
2369
2247
|
/// \returns A 128-bit signed [8 x i16] vector containing the greater value of
|
|
2370
2248
|
/// each comparison.
|
|
2371
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
return (__m128i)__builtin_ia32_pmaxsw128((__v8hi)__a, (__v8hi)__b);
|
|
2249
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi16(__m128i __a,
|
|
2250
|
+
__m128i __b) {
|
|
2251
|
+
return (__m128i)__builtin_elementwise_max((__v8hi)__a, (__v8hi)__b);
|
|
2375
2252
|
}
|
|
2376
2253
|
|
|
2377
2254
|
/// Compares corresponding elements of two 128-bit unsigned [16 x i8]
|
|
@@ -2388,10 +2265,9 @@ _mm_max_epi16(__m128i __a, __m128i __b)
|
|
|
2388
2265
|
/// A 128-bit unsigned [16 x i8] vector.
|
|
2389
2266
|
/// \returns A 128-bit unsigned [16 x i8] vector containing the greater value of
|
|
2390
2267
|
/// each comparison.
|
|
2391
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
return (__m128i)__builtin_ia32_pmaxub128((__v16qi)__a, (__v16qi)__b);
|
|
2268
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu8(__m128i __a,
|
|
2269
|
+
__m128i __b) {
|
|
2270
|
+
return (__m128i)__builtin_elementwise_max((__v16qu)__a, (__v16qu)__b);
|
|
2395
2271
|
}
|
|
2396
2272
|
|
|
2397
2273
|
/// Compares corresponding elements of two 128-bit signed [8 x i16]
|
|
@@ -2408,10 +2284,9 @@ _mm_max_epu8(__m128i __a, __m128i __b)
|
|
|
2408
2284
|
/// A 128-bit signed [8 x i16] vector.
|
|
2409
2285
|
/// \returns A 128-bit signed [8 x i16] vector containing the smaller value of
|
|
2410
2286
|
/// each comparison.
|
|
2411
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
return (__m128i)__builtin_ia32_pminsw128((__v8hi)__a, (__v8hi)__b);
|
|
2287
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi16(__m128i __a,
|
|
2288
|
+
__m128i __b) {
|
|
2289
|
+
return (__m128i)__builtin_elementwise_min((__v8hi)__a, (__v8hi)__b);
|
|
2415
2290
|
}
|
|
2416
2291
|
|
|
2417
2292
|
/// Compares corresponding elements of two 128-bit unsigned [16 x i8]
|
|
@@ -2428,10 +2303,9 @@ _mm_min_epi16(__m128i __a, __m128i __b)
|
|
|
2428
2303
|
/// A 128-bit unsigned [16 x i8] vector.
|
|
2429
2304
|
/// \returns A 128-bit unsigned [16 x i8] vector containing the smaller value of
|
|
2430
2305
|
/// each comparison.
|
|
2431
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
return (__m128i)__builtin_ia32_pminub128((__v16qi)__a, (__v16qi)__b);
|
|
2306
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu8(__m128i __a,
|
|
2307
|
+
__m128i __b) {
|
|
2308
|
+
return (__m128i)__builtin_elementwise_min((__v16qu)__a, (__v16qu)__b);
|
|
2435
2309
|
}
|
|
2436
2310
|
|
|
2437
2311
|
/// Multiplies the corresponding elements of two signed [8 x i16]
|
|
@@ -2448,9 +2322,8 @@ _mm_min_epu8(__m128i __a, __m128i __b)
|
|
|
2448
2322
|
/// A 128-bit signed [8 x i16] vector.
|
|
2449
2323
|
/// \returns A 128-bit signed [8 x i16] vector containing the upper 16 bits of
|
|
2450
2324
|
/// each of the eight 32-bit products.
|
|
2451
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2452
|
-
|
|
2453
|
-
{
|
|
2325
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mulhi_epi16(__m128i __a,
|
|
2326
|
+
__m128i __b) {
|
|
2454
2327
|
return (__m128i)__builtin_ia32_pmulhw128((__v8hi)__a, (__v8hi)__b);
|
|
2455
2328
|
}
|
|
2456
2329
|
|
|
@@ -2468,9 +2341,8 @@ _mm_mulhi_epi16(__m128i __a, __m128i __b)
|
|
|
2468
2341
|
/// A 128-bit unsigned [8 x i16] vector.
|
|
2469
2342
|
/// \returns A 128-bit unsigned [8 x i16] vector containing the upper 16 bits
|
|
2470
2343
|
/// of each of the eight 32-bit products.
|
|
2471
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2472
|
-
|
|
2473
|
-
{
|
|
2344
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mulhi_epu16(__m128i __a,
|
|
2345
|
+
__m128i __b) {
|
|
2474
2346
|
return (__m128i)__builtin_ia32_pmulhuw128((__v8hi)__a, (__v8hi)__b);
|
|
2475
2347
|
}
|
|
2476
2348
|
|
|
@@ -2488,9 +2360,8 @@ _mm_mulhi_epu16(__m128i __a, __m128i __b)
|
|
|
2488
2360
|
/// A 128-bit signed [8 x i16] vector.
|
|
2489
2361
|
/// \returns A 128-bit signed [8 x i16] vector containing the lower 16 bits of
|
|
2490
2362
|
/// each of the eight 32-bit products.
|
|
2491
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2492
|
-
|
|
2493
|
-
{
|
|
2363
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mullo_epi16(__m128i __a,
|
|
2364
|
+
__m128i __b) {
|
|
2494
2365
|
return (__m128i)((__v8hu)__a * (__v8hu)__b);
|
|
2495
2366
|
}
|
|
2496
2367
|
|
|
@@ -2507,9 +2378,8 @@ _mm_mullo_epi16(__m128i __a, __m128i __b)
|
|
|
2507
2378
|
/// \param __b
|
|
2508
2379
|
/// A 64-bit integer containing one of the source operands.
|
|
2509
2380
|
/// \returns A 64-bit integer vector containing the product of both operands.
|
|
2510
|
-
static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
|
|
2511
|
-
|
|
2512
|
-
{
|
|
2381
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX _mm_mul_su32(__m64 __a,
|
|
2382
|
+
__m64 __b) {
|
|
2513
2383
|
return __builtin_ia32_pmuludq((__v2si)__a, (__v2si)__b);
|
|
2514
2384
|
}
|
|
2515
2385
|
|
|
@@ -2526,9 +2396,8 @@ _mm_mul_su32(__m64 __a, __m64 __b)
|
|
|
2526
2396
|
/// \param __b
|
|
2527
2397
|
/// A [2 x i64] vector containing one of the source operands.
|
|
2528
2398
|
/// \returns A [2 x i64] vector containing the product of both operands.
|
|
2529
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2530
|
-
|
|
2531
|
-
{
|
|
2399
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mul_epu32(__m128i __a,
|
|
2400
|
+
__m128i __b) {
|
|
2532
2401
|
return __builtin_ia32_pmuludq128((__v4si)__a, (__v4si)__b);
|
|
2533
2402
|
}
|
|
2534
2403
|
|
|
@@ -2548,9 +2417,8 @@ _mm_mul_epu32(__m128i __a, __m128i __b)
|
|
|
2548
2417
|
/// A 128-bit integer vector containing one of the source operands.
|
|
2549
2418
|
/// \returns A [2 x i64] vector containing the sums of the sets of absolute
|
|
2550
2419
|
/// differences between both operands.
|
|
2551
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2552
|
-
|
|
2553
|
-
{
|
|
2420
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sad_epu8(__m128i __a,
|
|
2421
|
+
__m128i __b) {
|
|
2554
2422
|
return __builtin_ia32_psadbw128((__v16qi)__a, (__v16qi)__b);
|
|
2555
2423
|
}
|
|
2556
2424
|
|
|
@@ -2566,9 +2434,8 @@ _mm_sad_epu8(__m128i __a, __m128i __b)
|
|
|
2566
2434
|
/// A 128-bit integer vector containing the subtrahends.
|
|
2567
2435
|
/// \returns A 128-bit integer vector containing the differences of the values
|
|
2568
2436
|
/// in the operands.
|
|
2569
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2570
|
-
|
|
2571
|
-
{
|
|
2437
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sub_epi8(__m128i __a,
|
|
2438
|
+
__m128i __b) {
|
|
2572
2439
|
return (__m128i)((__v16qu)__a - (__v16qu)__b);
|
|
2573
2440
|
}
|
|
2574
2441
|
|
|
@@ -2584,9 +2451,8 @@ _mm_sub_epi8(__m128i __a, __m128i __b)
|
|
|
2584
2451
|
/// A 128-bit integer vector containing the subtrahends.
|
|
2585
2452
|
/// \returns A 128-bit integer vector containing the differences of the values
|
|
2586
2453
|
/// in the operands.
|
|
2587
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2588
|
-
|
|
2589
|
-
{
|
|
2454
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sub_epi16(__m128i __a,
|
|
2455
|
+
__m128i __b) {
|
|
2590
2456
|
return (__m128i)((__v8hu)__a - (__v8hu)__b);
|
|
2591
2457
|
}
|
|
2592
2458
|
|
|
@@ -2602,9 +2468,8 @@ _mm_sub_epi16(__m128i __a, __m128i __b)
|
|
|
2602
2468
|
/// A 128-bit integer vector containing the subtrahends.
|
|
2603
2469
|
/// \returns A 128-bit integer vector containing the differences of the values
|
|
2604
2470
|
/// in the operands.
|
|
2605
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2606
|
-
|
|
2607
|
-
{
|
|
2471
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sub_epi32(__m128i __a,
|
|
2472
|
+
__m128i __b) {
|
|
2608
2473
|
return (__m128i)((__v4su)__a - (__v4su)__b);
|
|
2609
2474
|
}
|
|
2610
2475
|
|
|
@@ -2621,9 +2486,8 @@ _mm_sub_epi32(__m128i __a, __m128i __b)
|
|
|
2621
2486
|
/// A 64-bit integer vector containing the subtrahend.
|
|
2622
2487
|
/// \returns A 64-bit integer vector containing the difference of the values in
|
|
2623
2488
|
/// the operands.
|
|
2624
|
-
static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX
|
|
2625
|
-
|
|
2626
|
-
{
|
|
2489
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS_MMX _mm_sub_si64(__m64 __a,
|
|
2490
|
+
__m64 __b) {
|
|
2627
2491
|
return (__m64)__builtin_ia32_psubq((__v1di)__a, (__v1di)__b);
|
|
2628
2492
|
}
|
|
2629
2493
|
|
|
@@ -2639,9 +2503,8 @@ _mm_sub_si64(__m64 __a, __m64 __b)
|
|
|
2639
2503
|
/// A 128-bit integer vector containing the subtrahends.
|
|
2640
2504
|
/// \returns A 128-bit integer vector containing the differences of the values
|
|
2641
2505
|
/// in the operands.
|
|
2642
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2643
|
-
|
|
2644
|
-
{
|
|
2506
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sub_epi64(__m128i __a,
|
|
2507
|
+
__m128i __b) {
|
|
2645
2508
|
return (__m128i)((__v2du)__a - (__v2du)__b);
|
|
2646
2509
|
}
|
|
2647
2510
|
|
|
@@ -2660,10 +2523,9 @@ _mm_sub_epi64(__m128i __a, __m128i __b)
|
|
|
2660
2523
|
/// A 128-bit integer vector containing the subtrahends.
|
|
2661
2524
|
/// \returns A 128-bit integer vector containing the differences of the values
|
|
2662
2525
|
/// in the operands.
|
|
2663
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
return (__m128i)__builtin_ia32_psubsb128((__v16qi)__a, (__v16qi)__b);
|
|
2526
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epi8(__m128i __a,
|
|
2527
|
+
__m128i __b) {
|
|
2528
|
+
return (__m128i)__builtin_elementwise_sub_sat((__v16qs)__a, (__v16qs)__b);
|
|
2667
2529
|
}
|
|
2668
2530
|
|
|
2669
2531
|
/// Subtracts corresponding 16-bit signed integer values in the input and
|
|
@@ -2681,10 +2543,9 @@ _mm_subs_epi8(__m128i __a, __m128i __b)
|
|
|
2681
2543
|
/// A 128-bit integer vector containing the subtrahends.
|
|
2682
2544
|
/// \returns A 128-bit integer vector containing the differences of the values
|
|
2683
2545
|
/// in the operands.
|
|
2684
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
return (__m128i)__builtin_ia32_psubsw128((__v8hi)__a, (__v8hi)__b);
|
|
2546
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epi16(__m128i __a,
|
|
2547
|
+
__m128i __b) {
|
|
2548
|
+
return (__m128i)__builtin_elementwise_sub_sat((__v8hi)__a, (__v8hi)__b);
|
|
2688
2549
|
}
|
|
2689
2550
|
|
|
2690
2551
|
/// Subtracts corresponding 8-bit unsigned integer values in the input
|
|
@@ -2701,10 +2562,9 @@ _mm_subs_epi16(__m128i __a, __m128i __b)
|
|
|
2701
2562
|
/// A 128-bit integer vector containing the subtrahends.
|
|
2702
2563
|
/// \returns A 128-bit integer vector containing the unsigned integer
|
|
2703
2564
|
/// differences of the values in the operands.
|
|
2704
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2705
|
-
|
|
2706
|
-
|
|
2707
|
-
return (__m128i)__builtin_ia32_psubusb128((__v16qi)__a, (__v16qi)__b);
|
|
2565
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epu8(__m128i __a,
|
|
2566
|
+
__m128i __b) {
|
|
2567
|
+
return (__m128i)__builtin_elementwise_sub_sat((__v16qu)__a, (__v16qu)__b);
|
|
2708
2568
|
}
|
|
2709
2569
|
|
|
2710
2570
|
/// Subtracts corresponding 16-bit unsigned integer values in the input
|
|
@@ -2721,10 +2581,9 @@ _mm_subs_epu8(__m128i __a, __m128i __b)
|
|
|
2721
2581
|
/// A 128-bit integer vector containing the subtrahends.
|
|
2722
2582
|
/// \returns A 128-bit integer vector containing the unsigned integer
|
|
2723
2583
|
/// differences of the values in the operands.
|
|
2724
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
return (__m128i)__builtin_ia32_psubusw128((__v8hi)__a, (__v8hi)__b);
|
|
2584
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epu16(__m128i __a,
|
|
2585
|
+
__m128i __b) {
|
|
2586
|
+
return (__m128i)__builtin_elementwise_sub_sat((__v8hu)__a, (__v8hu)__b);
|
|
2728
2587
|
}
|
|
2729
2588
|
|
|
2730
2589
|
/// Performs a bitwise AND of two 128-bit integer vectors.
|
|
@@ -2739,9 +2598,8 @@ _mm_subs_epu16(__m128i __a, __m128i __b)
|
|
|
2739
2598
|
/// A 128-bit integer vector containing one of the source operands.
|
|
2740
2599
|
/// \returns A 128-bit integer vector containing the bitwise AND of the values
|
|
2741
2600
|
/// in both operands.
|
|
2742
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2743
|
-
|
|
2744
|
-
{
|
|
2601
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_and_si128(__m128i __a,
|
|
2602
|
+
__m128i __b) {
|
|
2745
2603
|
return (__m128i)((__v2du)__a & (__v2du)__b);
|
|
2746
2604
|
}
|
|
2747
2605
|
|
|
@@ -2759,9 +2617,8 @@ _mm_and_si128(__m128i __a, __m128i __b)
|
|
|
2759
2617
|
/// A 128-bit vector containing the right source operand.
|
|
2760
2618
|
/// \returns A 128-bit integer vector containing the bitwise AND of the one's
|
|
2761
2619
|
/// complement of the first operand and the values in the second operand.
|
|
2762
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2763
|
-
|
|
2764
|
-
{
|
|
2620
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_andnot_si128(__m128i __a,
|
|
2621
|
+
__m128i __b) {
|
|
2765
2622
|
return (__m128i)(~(__v2du)__a & (__v2du)__b);
|
|
2766
2623
|
}
|
|
2767
2624
|
/// Performs a bitwise OR of two 128-bit integer vectors.
|
|
@@ -2776,9 +2633,8 @@ _mm_andnot_si128(__m128i __a, __m128i __b)
|
|
|
2776
2633
|
/// A 128-bit integer vector containing one of the source operands.
|
|
2777
2634
|
/// \returns A 128-bit integer vector containing the bitwise OR of the values
|
|
2778
2635
|
/// in both operands.
|
|
2779
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2780
|
-
|
|
2781
|
-
{
|
|
2636
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_or_si128(__m128i __a,
|
|
2637
|
+
__m128i __b) {
|
|
2782
2638
|
return (__m128i)((__v2du)__a | (__v2du)__b);
|
|
2783
2639
|
}
|
|
2784
2640
|
|
|
@@ -2794,9 +2650,8 @@ _mm_or_si128(__m128i __a, __m128i __b)
|
|
|
2794
2650
|
/// A 128-bit integer vector containing one of the source operands.
|
|
2795
2651
|
/// \returns A 128-bit integer vector containing the bitwise exclusive OR of the
|
|
2796
2652
|
/// values in both operands.
|
|
2797
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2798
|
-
|
|
2799
|
-
{
|
|
2653
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_xor_si128(__m128i __a,
|
|
2654
|
+
__m128i __b) {
|
|
2800
2655
|
return (__m128i)((__v2du)__a ^ (__v2du)__b);
|
|
2801
2656
|
}
|
|
2802
2657
|
|
|
@@ -2817,11 +2672,13 @@ _mm_xor_si128(__m128i __a, __m128i __b)
|
|
|
2817
2672
|
/// An immediate value specifying the number of bytes to left-shift operand
|
|
2818
2673
|
/// \a a.
|
|
2819
2674
|
/// \returns A 128-bit integer vector containing the left-shifted value.
|
|
2820
|
-
#define _mm_slli_si128(a, imm)
|
|
2821
|
-
(__m128i)__builtin_ia32_pslldqi128_byteshift((__v2di)(__m128i)(a),
|
|
2675
|
+
#define _mm_slli_si128(a, imm) \
|
|
2676
|
+
((__m128i)__builtin_ia32_pslldqi128_byteshift((__v2di)(__m128i)(a), \
|
|
2677
|
+
(int)(imm)))
|
|
2822
2678
|
|
|
2823
|
-
#define _mm_bslli_si128(a, imm)
|
|
2824
|
-
(__m128i)__builtin_ia32_pslldqi128_byteshift((__v2di)(__m128i)(a),
|
|
2679
|
+
#define _mm_bslli_si128(a, imm) \
|
|
2680
|
+
((__m128i)__builtin_ia32_pslldqi128_byteshift((__v2di)(__m128i)(a), \
|
|
2681
|
+
(int)(imm)))
|
|
2825
2682
|
|
|
2826
2683
|
/// Left-shifts each 16-bit value in the 128-bit integer vector operand
|
|
2827
2684
|
/// by the specified number of bits. Low-order bits are cleared.
|
|
@@ -2836,9 +2693,8 @@ _mm_xor_si128(__m128i __a, __m128i __b)
|
|
|
2836
2693
|
/// An integer value specifying the number of bits to left-shift each value
|
|
2837
2694
|
/// in operand \a __a.
|
|
2838
2695
|
/// \returns A 128-bit integer vector containing the left-shifted values.
|
|
2839
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2840
|
-
|
|
2841
|
-
{
|
|
2696
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_slli_epi16(__m128i __a,
|
|
2697
|
+
int __count) {
|
|
2842
2698
|
return (__m128i)__builtin_ia32_psllwi128((__v8hi)__a, __count);
|
|
2843
2699
|
}
|
|
2844
2700
|
|
|
@@ -2855,9 +2711,8 @@ _mm_slli_epi16(__m128i __a, int __count)
|
|
|
2855
2711
|
/// A 128-bit integer vector in which bits [63:0] specify the number of bits
|
|
2856
2712
|
/// to left-shift each value in operand \a __a.
|
|
2857
2713
|
/// \returns A 128-bit integer vector containing the left-shifted values.
|
|
2858
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2859
|
-
|
|
2860
|
-
{
|
|
2714
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sll_epi16(__m128i __a,
|
|
2715
|
+
__m128i __count) {
|
|
2861
2716
|
return (__m128i)__builtin_ia32_psllw128((__v8hi)__a, (__v8hi)__count);
|
|
2862
2717
|
}
|
|
2863
2718
|
|
|
@@ -2874,9 +2729,8 @@ _mm_sll_epi16(__m128i __a, __m128i __count)
|
|
|
2874
2729
|
/// An integer value specifying the number of bits to left-shift each value
|
|
2875
2730
|
/// in operand \a __a.
|
|
2876
2731
|
/// \returns A 128-bit integer vector containing the left-shifted values.
|
|
2877
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2878
|
-
|
|
2879
|
-
{
|
|
2732
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_slli_epi32(__m128i __a,
|
|
2733
|
+
int __count) {
|
|
2880
2734
|
return (__m128i)__builtin_ia32_pslldi128((__v4si)__a, __count);
|
|
2881
2735
|
}
|
|
2882
2736
|
|
|
@@ -2893,9 +2747,8 @@ _mm_slli_epi32(__m128i __a, int __count)
|
|
|
2893
2747
|
/// A 128-bit integer vector in which bits [63:0] specify the number of bits
|
|
2894
2748
|
/// to left-shift each value in operand \a __a.
|
|
2895
2749
|
/// \returns A 128-bit integer vector containing the left-shifted values.
|
|
2896
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2897
|
-
|
|
2898
|
-
{
|
|
2750
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sll_epi32(__m128i __a,
|
|
2751
|
+
__m128i __count) {
|
|
2899
2752
|
return (__m128i)__builtin_ia32_pslld128((__v4si)__a, (__v4si)__count);
|
|
2900
2753
|
}
|
|
2901
2754
|
|
|
@@ -2912,9 +2765,8 @@ _mm_sll_epi32(__m128i __a, __m128i __count)
|
|
|
2912
2765
|
/// An integer value specifying the number of bits to left-shift each value
|
|
2913
2766
|
/// in operand \a __a.
|
|
2914
2767
|
/// \returns A 128-bit integer vector containing the left-shifted values.
|
|
2915
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2916
|
-
|
|
2917
|
-
{
|
|
2768
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_slli_epi64(__m128i __a,
|
|
2769
|
+
int __count) {
|
|
2918
2770
|
return __builtin_ia32_psllqi128((__v2di)__a, __count);
|
|
2919
2771
|
}
|
|
2920
2772
|
|
|
@@ -2931,9 +2783,8 @@ _mm_slli_epi64(__m128i __a, int __count)
|
|
|
2931
2783
|
/// A 128-bit integer vector in which bits [63:0] specify the number of bits
|
|
2932
2784
|
/// to left-shift each value in operand \a __a.
|
|
2933
2785
|
/// \returns A 128-bit integer vector containing the left-shifted values.
|
|
2934
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2935
|
-
|
|
2936
|
-
{
|
|
2786
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sll_epi64(__m128i __a,
|
|
2787
|
+
__m128i __count) {
|
|
2937
2788
|
return __builtin_ia32_psllq128((__v2di)__a, (__v2di)__count);
|
|
2938
2789
|
}
|
|
2939
2790
|
|
|
@@ -2951,9 +2802,8 @@ _mm_sll_epi64(__m128i __a, __m128i __count)
|
|
|
2951
2802
|
/// An integer value specifying the number of bits to right-shift each value
|
|
2952
2803
|
/// in operand \a __a.
|
|
2953
2804
|
/// \returns A 128-bit integer vector containing the right-shifted values.
|
|
2954
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2955
|
-
|
|
2956
|
-
{
|
|
2805
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srai_epi16(__m128i __a,
|
|
2806
|
+
int __count) {
|
|
2957
2807
|
return (__m128i)__builtin_ia32_psrawi128((__v8hi)__a, __count);
|
|
2958
2808
|
}
|
|
2959
2809
|
|
|
@@ -2971,9 +2821,8 @@ _mm_srai_epi16(__m128i __a, int __count)
|
|
|
2971
2821
|
/// A 128-bit integer vector in which bits [63:0] specify the number of bits
|
|
2972
2822
|
/// to right-shift each value in operand \a __a.
|
|
2973
2823
|
/// \returns A 128-bit integer vector containing the right-shifted values.
|
|
2974
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2975
|
-
|
|
2976
|
-
{
|
|
2824
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sra_epi16(__m128i __a,
|
|
2825
|
+
__m128i __count) {
|
|
2977
2826
|
return (__m128i)__builtin_ia32_psraw128((__v8hi)__a, (__v8hi)__count);
|
|
2978
2827
|
}
|
|
2979
2828
|
|
|
@@ -2991,9 +2840,8 @@ _mm_sra_epi16(__m128i __a, __m128i __count)
|
|
|
2991
2840
|
/// An integer value specifying the number of bits to right-shift each value
|
|
2992
2841
|
/// in operand \a __a.
|
|
2993
2842
|
/// \returns A 128-bit integer vector containing the right-shifted values.
|
|
2994
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
2995
|
-
|
|
2996
|
-
{
|
|
2843
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srai_epi32(__m128i __a,
|
|
2844
|
+
int __count) {
|
|
2997
2845
|
return (__m128i)__builtin_ia32_psradi128((__v4si)__a, __count);
|
|
2998
2846
|
}
|
|
2999
2847
|
|
|
@@ -3011,9 +2859,8 @@ _mm_srai_epi32(__m128i __a, int __count)
|
|
|
3011
2859
|
/// A 128-bit integer vector in which bits [63:0] specify the number of bits
|
|
3012
2860
|
/// to right-shift each value in operand \a __a.
|
|
3013
2861
|
/// \returns A 128-bit integer vector containing the right-shifted values.
|
|
3014
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3015
|
-
|
|
3016
|
-
{
|
|
2862
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sra_epi32(__m128i __a,
|
|
2863
|
+
__m128i __count) {
|
|
3017
2864
|
return (__m128i)__builtin_ia32_psrad128((__v4si)__a, (__v4si)__count);
|
|
3018
2865
|
}
|
|
3019
2866
|
|
|
@@ -3034,11 +2881,13 @@ _mm_sra_epi32(__m128i __a, __m128i __count)
|
|
|
3034
2881
|
/// An immediate value specifying the number of bytes to right-shift operand
|
|
3035
2882
|
/// \a a.
|
|
3036
2883
|
/// \returns A 128-bit integer vector containing the right-shifted value.
|
|
3037
|
-
#define _mm_srli_si128(a, imm)
|
|
3038
|
-
(__m128i)__builtin_ia32_psrldqi128_byteshift((__v2di)(__m128i)(a),
|
|
2884
|
+
#define _mm_srli_si128(a, imm) \
|
|
2885
|
+
((__m128i)__builtin_ia32_psrldqi128_byteshift((__v2di)(__m128i)(a), \
|
|
2886
|
+
(int)(imm)))
|
|
3039
2887
|
|
|
3040
|
-
#define _mm_bsrli_si128(a, imm)
|
|
3041
|
-
(__m128i)__builtin_ia32_psrldqi128_byteshift((__v2di)(__m128i)(a),
|
|
2888
|
+
#define _mm_bsrli_si128(a, imm) \
|
|
2889
|
+
((__m128i)__builtin_ia32_psrldqi128_byteshift((__v2di)(__m128i)(a), \
|
|
2890
|
+
(int)(imm)))
|
|
3042
2891
|
|
|
3043
2892
|
/// Right-shifts each of 16-bit values in the 128-bit integer vector
|
|
3044
2893
|
/// operand by the specified number of bits. High-order bits are cleared.
|
|
@@ -3053,9 +2902,8 @@ _mm_sra_epi32(__m128i __a, __m128i __count)
|
|
|
3053
2902
|
/// An integer value specifying the number of bits to right-shift each value
|
|
3054
2903
|
/// in operand \a __a.
|
|
3055
2904
|
/// \returns A 128-bit integer vector containing the right-shifted values.
|
|
3056
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3057
|
-
|
|
3058
|
-
{
|
|
2905
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srli_epi16(__m128i __a,
|
|
2906
|
+
int __count) {
|
|
3059
2907
|
return (__m128i)__builtin_ia32_psrlwi128((__v8hi)__a, __count);
|
|
3060
2908
|
}
|
|
3061
2909
|
|
|
@@ -3072,9 +2920,8 @@ _mm_srli_epi16(__m128i __a, int __count)
|
|
|
3072
2920
|
/// A 128-bit integer vector in which bits [63:0] specify the number of bits
|
|
3073
2921
|
/// to right-shift each value in operand \a __a.
|
|
3074
2922
|
/// \returns A 128-bit integer vector containing the right-shifted values.
|
|
3075
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3076
|
-
|
|
3077
|
-
{
|
|
2923
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srl_epi16(__m128i __a,
|
|
2924
|
+
__m128i __count) {
|
|
3078
2925
|
return (__m128i)__builtin_ia32_psrlw128((__v8hi)__a, (__v8hi)__count);
|
|
3079
2926
|
}
|
|
3080
2927
|
|
|
@@ -3091,9 +2938,8 @@ _mm_srl_epi16(__m128i __a, __m128i __count)
|
|
|
3091
2938
|
/// An integer value specifying the number of bits to right-shift each value
|
|
3092
2939
|
/// in operand \a __a.
|
|
3093
2940
|
/// \returns A 128-bit integer vector containing the right-shifted values.
|
|
3094
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3095
|
-
|
|
3096
|
-
{
|
|
2941
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srli_epi32(__m128i __a,
|
|
2942
|
+
int __count) {
|
|
3097
2943
|
return (__m128i)__builtin_ia32_psrldi128((__v4si)__a, __count);
|
|
3098
2944
|
}
|
|
3099
2945
|
|
|
@@ -3110,9 +2956,8 @@ _mm_srli_epi32(__m128i __a, int __count)
|
|
|
3110
2956
|
/// A 128-bit integer vector in which bits [63:0] specify the number of bits
|
|
3111
2957
|
/// to right-shift each value in operand \a __a.
|
|
3112
2958
|
/// \returns A 128-bit integer vector containing the right-shifted values.
|
|
3113
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3114
|
-
|
|
3115
|
-
{
|
|
2959
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srl_epi32(__m128i __a,
|
|
2960
|
+
__m128i __count) {
|
|
3116
2961
|
return (__m128i)__builtin_ia32_psrld128((__v4si)__a, (__v4si)__count);
|
|
3117
2962
|
}
|
|
3118
2963
|
|
|
@@ -3129,9 +2974,8 @@ _mm_srl_epi32(__m128i __a, __m128i __count)
|
|
|
3129
2974
|
/// An integer value specifying the number of bits to right-shift each value
|
|
3130
2975
|
/// in operand \a __a.
|
|
3131
2976
|
/// \returns A 128-bit integer vector containing the right-shifted values.
|
|
3132
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3133
|
-
|
|
3134
|
-
{
|
|
2977
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srli_epi64(__m128i __a,
|
|
2978
|
+
int __count) {
|
|
3135
2979
|
return __builtin_ia32_psrlqi128((__v2di)__a, __count);
|
|
3136
2980
|
}
|
|
3137
2981
|
|
|
@@ -3148,9 +2992,8 @@ _mm_srli_epi64(__m128i __a, int __count)
|
|
|
3148
2992
|
/// A 128-bit integer vector in which bits [63:0] specify the number of bits
|
|
3149
2993
|
/// to right-shift each value in operand \a __a.
|
|
3150
2994
|
/// \returns A 128-bit integer vector containing the right-shifted values.
|
|
3151
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3152
|
-
|
|
3153
|
-
{
|
|
2995
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srl_epi64(__m128i __a,
|
|
2996
|
+
__m128i __count) {
|
|
3154
2997
|
return __builtin_ia32_psrlq128((__v2di)__a, (__v2di)__count);
|
|
3155
2998
|
}
|
|
3156
2999
|
|
|
@@ -3167,9 +3010,8 @@ _mm_srl_epi64(__m128i __a, __m128i __count)
|
|
|
3167
3010
|
/// \param __b
|
|
3168
3011
|
/// A 128-bit integer vector.
|
|
3169
3012
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
3170
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3171
|
-
|
|
3172
|
-
{
|
|
3013
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi8(__m128i __a,
|
|
3014
|
+
__m128i __b) {
|
|
3173
3015
|
return (__m128i)((__v16qi)__a == (__v16qi)__b);
|
|
3174
3016
|
}
|
|
3175
3017
|
|
|
@@ -3186,9 +3028,8 @@ _mm_cmpeq_epi8(__m128i __a, __m128i __b)
|
|
|
3186
3028
|
/// \param __b
|
|
3187
3029
|
/// A 128-bit integer vector.
|
|
3188
3030
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
3189
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3190
|
-
|
|
3191
|
-
{
|
|
3031
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi16(__m128i __a,
|
|
3032
|
+
__m128i __b) {
|
|
3192
3033
|
return (__m128i)((__v8hi)__a == (__v8hi)__b);
|
|
3193
3034
|
}
|
|
3194
3035
|
|
|
@@ -3205,9 +3046,8 @@ _mm_cmpeq_epi16(__m128i __a, __m128i __b)
|
|
|
3205
3046
|
/// \param __b
|
|
3206
3047
|
/// A 128-bit integer vector.
|
|
3207
3048
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
3208
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3209
|
-
|
|
3210
|
-
{
|
|
3049
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi32(__m128i __a,
|
|
3050
|
+
__m128i __b) {
|
|
3211
3051
|
return (__m128i)((__v4si)__a == (__v4si)__b);
|
|
3212
3052
|
}
|
|
3213
3053
|
|
|
@@ -3225,9 +3065,8 @@ _mm_cmpeq_epi32(__m128i __a, __m128i __b)
|
|
|
3225
3065
|
/// \param __b
|
|
3226
3066
|
/// A 128-bit integer vector.
|
|
3227
3067
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
3228
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3229
|
-
|
|
3230
|
-
{
|
|
3068
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi8(__m128i __a,
|
|
3069
|
+
__m128i __b) {
|
|
3231
3070
|
/* This function always performs a signed comparison, but __v16qi is a char
|
|
3232
3071
|
which may be signed or unsigned, so use __v16qs. */
|
|
3233
3072
|
return (__m128i)((__v16qs)__a > (__v16qs)__b);
|
|
@@ -3248,9 +3087,8 @@ _mm_cmpgt_epi8(__m128i __a, __m128i __b)
|
|
|
3248
3087
|
/// \param __b
|
|
3249
3088
|
/// A 128-bit integer vector.
|
|
3250
3089
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
3251
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3252
|
-
|
|
3253
|
-
{
|
|
3090
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi16(__m128i __a,
|
|
3091
|
+
__m128i __b) {
|
|
3254
3092
|
return (__m128i)((__v8hi)__a > (__v8hi)__b);
|
|
3255
3093
|
}
|
|
3256
3094
|
|
|
@@ -3269,9 +3107,8 @@ _mm_cmpgt_epi16(__m128i __a, __m128i __b)
|
|
|
3269
3107
|
/// \param __b
|
|
3270
3108
|
/// A 128-bit integer vector.
|
|
3271
3109
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
3272
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3273
|
-
|
|
3274
|
-
{
|
|
3110
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi32(__m128i __a,
|
|
3111
|
+
__m128i __b) {
|
|
3275
3112
|
return (__m128i)((__v4si)__a > (__v4si)__b);
|
|
3276
3113
|
}
|
|
3277
3114
|
|
|
@@ -3290,9 +3127,8 @@ _mm_cmpgt_epi32(__m128i __a, __m128i __b)
|
|
|
3290
3127
|
/// \param __b
|
|
3291
3128
|
/// A 128-bit integer vector.
|
|
3292
3129
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
3293
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3294
|
-
|
|
3295
|
-
{
|
|
3130
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmplt_epi8(__m128i __a,
|
|
3131
|
+
__m128i __b) {
|
|
3296
3132
|
return _mm_cmpgt_epi8(__b, __a);
|
|
3297
3133
|
}
|
|
3298
3134
|
|
|
@@ -3311,9 +3147,8 @@ _mm_cmplt_epi8(__m128i __a, __m128i __b)
|
|
|
3311
3147
|
/// \param __b
|
|
3312
3148
|
/// A 128-bit integer vector.
|
|
3313
3149
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
3314
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3315
|
-
|
|
3316
|
-
{
|
|
3150
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmplt_epi16(__m128i __a,
|
|
3151
|
+
__m128i __b) {
|
|
3317
3152
|
return _mm_cmpgt_epi16(__b, __a);
|
|
3318
3153
|
}
|
|
3319
3154
|
|
|
@@ -3332,9 +3167,8 @@ _mm_cmplt_epi16(__m128i __a, __m128i __b)
|
|
|
3332
3167
|
/// \param __b
|
|
3333
3168
|
/// A 128-bit integer vector.
|
|
3334
3169
|
/// \returns A 128-bit integer vector containing the comparison results.
|
|
3335
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3336
|
-
|
|
3337
|
-
{
|
|
3170
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmplt_epi32(__m128i __a,
|
|
3171
|
+
__m128i __b) {
|
|
3338
3172
|
return _mm_cmpgt_epi32(__b, __a);
|
|
3339
3173
|
}
|
|
3340
3174
|
|
|
@@ -3356,9 +3190,8 @@ _mm_cmplt_epi32(__m128i __a, __m128i __b)
|
|
|
3356
3190
|
/// \returns A 128-bit vector of [2 x double] whose lower 64 bits contain the
|
|
3357
3191
|
/// converted value of the second operand. The upper 64 bits are copied from
|
|
3358
3192
|
/// the upper 64 bits of the first operand.
|
|
3359
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
3360
|
-
|
|
3361
|
-
{
|
|
3193
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_cvtsi64_sd(__m128d __a,
|
|
3194
|
+
long long __b) {
|
|
3362
3195
|
__a[0] = __b;
|
|
3363
3196
|
return __a;
|
|
3364
3197
|
}
|
|
@@ -3374,9 +3207,7 @@ _mm_cvtsi64_sd(__m128d __a, long long __b)
|
|
|
3374
3207
|
/// A 128-bit vector of [2 x double]. The lower 64 bits are used in the
|
|
3375
3208
|
/// conversion.
|
|
3376
3209
|
/// \returns A 64-bit signed integer containing the converted value.
|
|
3377
|
-
static __inline__ long long __DEFAULT_FN_ATTRS
|
|
3378
|
-
_mm_cvtsd_si64(__m128d __a)
|
|
3379
|
-
{
|
|
3210
|
+
static __inline__ long long __DEFAULT_FN_ATTRS _mm_cvtsd_si64(__m128d __a) {
|
|
3380
3211
|
return __builtin_ia32_cvtsd2si64((__v2df)__a);
|
|
3381
3212
|
}
|
|
3382
3213
|
|
|
@@ -3392,9 +3223,7 @@ _mm_cvtsd_si64(__m128d __a)
|
|
|
3392
3223
|
/// A 128-bit vector of [2 x double]. The lower 64 bits are used in the
|
|
3393
3224
|
/// conversion.
|
|
3394
3225
|
/// \returns A 64-bit signed integer containing the converted value.
|
|
3395
|
-
static __inline__ long long __DEFAULT_FN_ATTRS
|
|
3396
|
-
_mm_cvttsd_si64(__m128d __a)
|
|
3397
|
-
{
|
|
3226
|
+
static __inline__ long long __DEFAULT_FN_ATTRS _mm_cvttsd_si64(__m128d __a) {
|
|
3398
3227
|
return __builtin_ia32_cvttsd2si64((__v2df)__a);
|
|
3399
3228
|
}
|
|
3400
3229
|
#endif
|
|
@@ -3408,10 +3237,8 @@ _mm_cvttsd_si64(__m128d __a)
|
|
|
3408
3237
|
/// \param __a
|
|
3409
3238
|
/// A 128-bit integer vector.
|
|
3410
3239
|
/// \returns A 128-bit vector of [4 x float] containing the converted values.
|
|
3411
|
-
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
|
3412
|
-
|
|
3413
|
-
{
|
|
3414
|
-
return (__m128)__builtin_convertvector((__v4si)__a, __v4sf);
|
|
3240
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cvtepi32_ps(__m128i __a) {
|
|
3241
|
+
return (__m128) __builtin_convertvector((__v4si)__a, __v4sf);
|
|
3415
3242
|
}
|
|
3416
3243
|
|
|
3417
3244
|
/// Converts a vector of [4 x float] into a vector of [4 x i32].
|
|
@@ -3424,9 +3251,7 @@ _mm_cvtepi32_ps(__m128i __a)
|
|
|
3424
3251
|
/// A 128-bit vector of [4 x float].
|
|
3425
3252
|
/// \returns A 128-bit integer vector of [4 x i32] containing the converted
|
|
3426
3253
|
/// values.
|
|
3427
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3428
|
-
_mm_cvtps_epi32(__m128 __a)
|
|
3429
|
-
{
|
|
3254
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtps_epi32(__m128 __a) {
|
|
3430
3255
|
return (__m128i)__builtin_ia32_cvtps2dq((__v4sf)__a);
|
|
3431
3256
|
}
|
|
3432
3257
|
|
|
@@ -3441,9 +3266,7 @@ _mm_cvtps_epi32(__m128 __a)
|
|
|
3441
3266
|
/// \param __a
|
|
3442
3267
|
/// A 128-bit vector of [4 x float].
|
|
3443
3268
|
/// \returns A 128-bit vector of [4 x i32] containing the converted values.
|
|
3444
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3445
|
-
_mm_cvttps_epi32(__m128 __a)
|
|
3446
|
-
{
|
|
3269
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvttps_epi32(__m128 __a) {
|
|
3447
3270
|
return (__m128i)__builtin_ia32_cvttps2dq((__v4sf)__a);
|
|
3448
3271
|
}
|
|
3449
3272
|
|
|
@@ -3457,29 +3280,24 @@ _mm_cvttps_epi32(__m128 __a)
|
|
|
3457
3280
|
/// \param __a
|
|
3458
3281
|
/// A 32-bit signed integer operand.
|
|
3459
3282
|
/// \returns A 128-bit vector of [4 x i32].
|
|
3460
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3461
|
-
|
|
3462
|
-
{
|
|
3463
|
-
return __extension__ (__m128i)(__v4si){ __a, 0, 0, 0 };
|
|
3283
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtsi32_si128(int __a) {
|
|
3284
|
+
return __extension__(__m128i)(__v4si){__a, 0, 0, 0};
|
|
3464
3285
|
}
|
|
3465
3286
|
|
|
3466
|
-
#ifdef __x86_64__
|
|
3467
3287
|
/// Returns a vector of [2 x i64] where the lower element is the input
|
|
3468
3288
|
/// operand and the upper element is zero.
|
|
3469
3289
|
///
|
|
3470
3290
|
/// \headerfile <x86intrin.h>
|
|
3471
3291
|
///
|
|
3472
|
-
/// This intrinsic corresponds to the <c> VMOVQ / MOVQ </c> instruction
|
|
3292
|
+
/// This intrinsic corresponds to the <c> VMOVQ / MOVQ </c> instruction
|
|
3293
|
+
/// in 64-bit mode.
|
|
3473
3294
|
///
|
|
3474
3295
|
/// \param __a
|
|
3475
3296
|
/// A 64-bit signed integer operand containing the value to be converted.
|
|
3476
3297
|
/// \returns A 128-bit vector of [2 x i64] containing the converted value.
|
|
3477
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3478
|
-
|
|
3479
|
-
{
|
|
3480
|
-
return __extension__ (__m128i)(__v2di){ __a, 0 };
|
|
3298
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtsi64_si128(long long __a) {
|
|
3299
|
+
return __extension__(__m128i)(__v2di){__a, 0};
|
|
3481
3300
|
}
|
|
3482
|
-
#endif
|
|
3483
3301
|
|
|
3484
3302
|
/// Moves the least significant 32 bits of a vector of [4 x i32] to a
|
|
3485
3303
|
/// 32-bit signed integer value.
|
|
@@ -3492,14 +3310,11 @@ _mm_cvtsi64_si128(long long __a)
|
|
|
3492
3310
|
/// A vector of [4 x i32]. The least significant 32 bits are moved to the
|
|
3493
3311
|
/// destination.
|
|
3494
3312
|
/// \returns A 32-bit signed integer containing the moved value.
|
|
3495
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
3496
|
-
_mm_cvtsi128_si32(__m128i __a)
|
|
3497
|
-
{
|
|
3313
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_cvtsi128_si32(__m128i __a) {
|
|
3498
3314
|
__v4si __b = (__v4si)__a;
|
|
3499
3315
|
return __b[0];
|
|
3500
3316
|
}
|
|
3501
3317
|
|
|
3502
|
-
#ifdef __x86_64__
|
|
3503
3318
|
/// Moves the least significant 64 bits of a vector of [2 x i64] to a
|
|
3504
3319
|
/// 64-bit signed integer value.
|
|
3505
3320
|
///
|
|
@@ -3511,12 +3326,9 @@ _mm_cvtsi128_si32(__m128i __a)
|
|
|
3511
3326
|
/// A vector of [2 x i64]. The least significant 64 bits are moved to the
|
|
3512
3327
|
/// destination.
|
|
3513
3328
|
/// \returns A 64-bit signed integer containing the moved value.
|
|
3514
|
-
static __inline__ long long __DEFAULT_FN_ATTRS
|
|
3515
|
-
_mm_cvtsi128_si64(__m128i __a)
|
|
3516
|
-
{
|
|
3329
|
+
static __inline__ long long __DEFAULT_FN_ATTRS _mm_cvtsi128_si64(__m128i __a) {
|
|
3517
3330
|
return __a[0];
|
|
3518
3331
|
}
|
|
3519
|
-
#endif
|
|
3520
3332
|
|
|
3521
3333
|
/// Moves packed integer values from an aligned 128-bit memory location
|
|
3522
3334
|
/// to elements in a 128-bit integer vector.
|
|
@@ -3529,8 +3341,7 @@ _mm_cvtsi128_si64(__m128i __a)
|
|
|
3529
3341
|
/// An aligned pointer to a memory location containing integer values.
|
|
3530
3342
|
/// \returns A 128-bit integer vector containing the moved values.
|
|
3531
3343
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3532
|
-
_mm_load_si128(__m128i const *__p)
|
|
3533
|
-
{
|
|
3344
|
+
_mm_load_si128(__m128i const *__p) {
|
|
3534
3345
|
return *__p;
|
|
3535
3346
|
}
|
|
3536
3347
|
|
|
@@ -3545,12 +3356,11 @@ _mm_load_si128(__m128i const *__p)
|
|
|
3545
3356
|
/// A pointer to a memory location containing integer values.
|
|
3546
3357
|
/// \returns A 128-bit integer vector containing the moved values.
|
|
3547
3358
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3548
|
-
_mm_loadu_si128(__m128i_u const *__p)
|
|
3549
|
-
{
|
|
3359
|
+
_mm_loadu_si128(__m128i_u const *__p) {
|
|
3550
3360
|
struct __loadu_si128 {
|
|
3551
3361
|
__m128i_u __v;
|
|
3552
3362
|
} __attribute__((__packed__, __may_alias__));
|
|
3553
|
-
return ((const struct __loadu_si128*)__p)->__v;
|
|
3363
|
+
return ((const struct __loadu_si128 *)__p)->__v;
|
|
3554
3364
|
}
|
|
3555
3365
|
|
|
3556
3366
|
/// Returns a vector of [2 x i64] where the lower element is taken from
|
|
@@ -3566,12 +3376,12 @@ _mm_loadu_si128(__m128i_u const *__p)
|
|
|
3566
3376
|
/// \returns A 128-bit vector of [2 x i64]. The lower order bits contain the
|
|
3567
3377
|
/// moved value. The higher order bits are cleared.
|
|
3568
3378
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3569
|
-
_mm_loadl_epi64(__m128i_u const *__p)
|
|
3570
|
-
{
|
|
3379
|
+
_mm_loadl_epi64(__m128i_u const *__p) {
|
|
3571
3380
|
struct __mm_loadl_epi64_struct {
|
|
3572
3381
|
long long __u;
|
|
3573
3382
|
} __attribute__((__packed__, __may_alias__));
|
|
3574
|
-
return __extension__
|
|
3383
|
+
return __extension__(__m128i){
|
|
3384
|
+
((const struct __mm_loadl_epi64_struct *)__p)->__u, 0};
|
|
3575
3385
|
}
|
|
3576
3386
|
|
|
3577
3387
|
/// Generates a 128-bit vector of [4 x i32] with unspecified content.
|
|
@@ -3583,9 +3393,7 @@ _mm_loadl_epi64(__m128i_u const *__p)
|
|
|
3583
3393
|
/// This intrinsic has no corresponding instruction.
|
|
3584
3394
|
///
|
|
3585
3395
|
/// \returns A 128-bit vector of [4 x i32] with unspecified content.
|
|
3586
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3587
|
-
_mm_undefined_si128(void)
|
|
3588
|
-
{
|
|
3396
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_undefined_si128(void) {
|
|
3589
3397
|
return (__m128i)__builtin_ia32_undef128();
|
|
3590
3398
|
}
|
|
3591
3399
|
|
|
@@ -3605,10 +3413,9 @@ _mm_undefined_si128(void)
|
|
|
3605
3413
|
/// destination vector of [2 x i64].
|
|
3606
3414
|
/// \returns An initialized 128-bit vector of [2 x i64] containing the values
|
|
3607
3415
|
/// provided in the operands.
|
|
3608
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3609
|
-
|
|
3610
|
-
{
|
|
3611
|
-
return __extension__ (__m128i)(__v2di){ __q0, __q1 };
|
|
3416
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_set_epi64x(long long __q1,
|
|
3417
|
+
long long __q0) {
|
|
3418
|
+
return __extension__(__m128i)(__v2di){__q0, __q1};
|
|
3612
3419
|
}
|
|
3613
3420
|
|
|
3614
3421
|
/// Initializes both 64-bit values in a 128-bit vector of [2 x i64] with
|
|
@@ -3627,9 +3434,8 @@ _mm_set_epi64x(long long __q1, long long __q0)
|
|
|
3627
3434
|
/// destination vector of [2 x i64].
|
|
3628
3435
|
/// \returns An initialized 128-bit vector of [2 x i64] containing the values
|
|
3629
3436
|
/// provided in the operands.
|
|
3630
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3631
|
-
|
|
3632
|
-
{
|
|
3437
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_set_epi64(__m64 __q1,
|
|
3438
|
+
__m64 __q0) {
|
|
3633
3439
|
return _mm_set_epi64x((long long)__q1, (long long)__q0);
|
|
3634
3440
|
}
|
|
3635
3441
|
|
|
@@ -3655,10 +3461,9 @@ _mm_set_epi64(__m64 __q1, __m64 __q0)
|
|
|
3655
3461
|
/// vector.
|
|
3656
3462
|
/// \returns An initialized 128-bit vector of [4 x i32] containing the values
|
|
3657
3463
|
/// provided in the operands.
|
|
3658
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3659
|
-
|
|
3660
|
-
{
|
|
3661
|
-
return __extension__ (__m128i)(__v4si){ __i0, __i1, __i2, __i3};
|
|
3464
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_set_epi32(int __i3, int __i2,
|
|
3465
|
+
int __i1, int __i0) {
|
|
3466
|
+
return __extension__(__m128i)(__v4si){__i0, __i1, __i2, __i3};
|
|
3662
3467
|
}
|
|
3663
3468
|
|
|
3664
3469
|
/// Initializes the 16-bit values in a 128-bit vector of [8 x i16] with
|
|
@@ -3696,9 +3501,10 @@ _mm_set_epi32(int __i3, int __i2, int __i1, int __i0)
|
|
|
3696
3501
|
/// \returns An initialized 128-bit vector of [8 x i16] containing the values
|
|
3697
3502
|
/// provided in the operands.
|
|
3698
3503
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3699
|
-
_mm_set_epi16(short __w7, short __w6, short __w5, short __w4, short __w3,
|
|
3700
|
-
{
|
|
3701
|
-
return __extension__
|
|
3504
|
+
_mm_set_epi16(short __w7, short __w6, short __w5, short __w4, short __w3,
|
|
3505
|
+
short __w2, short __w1, short __w0) {
|
|
3506
|
+
return __extension__(__m128i)(__v8hi){__w0, __w1, __w2, __w3,
|
|
3507
|
+
__w4, __w5, __w6, __w7};
|
|
3702
3508
|
}
|
|
3703
3509
|
|
|
3704
3510
|
/// Initializes the 8-bit values in a 128-bit vector of [16 x i8] with
|
|
@@ -3744,9 +3550,12 @@ _mm_set_epi16(short __w7, short __w6, short __w5, short __w4, short __w3, short
|
|
|
3744
3550
|
/// \returns An initialized 128-bit vector of [16 x i8] containing the values
|
|
3745
3551
|
/// provided in the operands.
|
|
3746
3552
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3747
|
-
_mm_set_epi8(char __b15, char __b14, char __b13, char __b12, char __b11,
|
|
3748
|
-
|
|
3749
|
-
|
|
3553
|
+
_mm_set_epi8(char __b15, char __b14, char __b13, char __b12, char __b11,
|
|
3554
|
+
char __b10, char __b9, char __b8, char __b7, char __b6, char __b5,
|
|
3555
|
+
char __b4, char __b3, char __b2, char __b1, char __b0) {
|
|
3556
|
+
return __extension__(__m128i)(__v16qi){
|
|
3557
|
+
__b0, __b1, __b2, __b3, __b4, __b5, __b6, __b7,
|
|
3558
|
+
__b8, __b9, __b10, __b11, __b12, __b13, __b14, __b15};
|
|
3750
3559
|
}
|
|
3751
3560
|
|
|
3752
3561
|
/// Initializes both values in a 128-bit integer vector with the
|
|
@@ -3762,9 +3571,7 @@ _mm_set_epi8(char __b15, char __b14, char __b13, char __b12, char __b11, char __
|
|
|
3762
3571
|
/// vector.
|
|
3763
3572
|
/// \returns An initialized 128-bit integer vector of [2 x i64] with both
|
|
3764
3573
|
/// elements containing the value provided in the operand.
|
|
3765
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3766
|
-
_mm_set1_epi64x(long long __q)
|
|
3767
|
-
{
|
|
3574
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_set1_epi64x(long long __q) {
|
|
3768
3575
|
return _mm_set_epi64x(__q, __q);
|
|
3769
3576
|
}
|
|
3770
3577
|
|
|
@@ -3781,9 +3588,7 @@ _mm_set1_epi64x(long long __q)
|
|
|
3781
3588
|
/// vector.
|
|
3782
3589
|
/// \returns An initialized 128-bit vector of [2 x i64] with all elements
|
|
3783
3590
|
/// containing the value provided in the operand.
|
|
3784
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3785
|
-
_mm_set1_epi64(__m64 __q)
|
|
3786
|
-
{
|
|
3591
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_set1_epi64(__m64 __q) {
|
|
3787
3592
|
return _mm_set_epi64(__q, __q);
|
|
3788
3593
|
}
|
|
3789
3594
|
|
|
@@ -3800,9 +3605,7 @@ _mm_set1_epi64(__m64 __q)
|
|
|
3800
3605
|
/// vector.
|
|
3801
3606
|
/// \returns An initialized 128-bit vector of [4 x i32] with all elements
|
|
3802
3607
|
/// containing the value provided in the operand.
|
|
3803
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3804
|
-
_mm_set1_epi32(int __i)
|
|
3805
|
-
{
|
|
3608
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_set1_epi32(int __i) {
|
|
3806
3609
|
return _mm_set_epi32(__i, __i, __i, __i);
|
|
3807
3610
|
}
|
|
3808
3611
|
|
|
@@ -3819,9 +3622,7 @@ _mm_set1_epi32(int __i)
|
|
|
3819
3622
|
/// vector.
|
|
3820
3623
|
/// \returns An initialized 128-bit vector of [8 x i16] with all elements
|
|
3821
3624
|
/// containing the value provided in the operand.
|
|
3822
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3823
|
-
_mm_set1_epi16(short __w)
|
|
3824
|
-
{
|
|
3625
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_set1_epi16(short __w) {
|
|
3825
3626
|
return _mm_set_epi16(__w, __w, __w, __w, __w, __w, __w, __w);
|
|
3826
3627
|
}
|
|
3827
3628
|
|
|
@@ -3838,10 +3639,9 @@ _mm_set1_epi16(short __w)
|
|
|
3838
3639
|
/// vector.
|
|
3839
3640
|
/// \returns An initialized 128-bit vector of [16 x i8] with all elements
|
|
3840
3641
|
/// containing the value provided in the operand.
|
|
3841
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
return _mm_set_epi8(__b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b);
|
|
3642
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_set1_epi8(char __b) {
|
|
3643
|
+
return _mm_set_epi8(__b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b,
|
|
3644
|
+
__b, __b, __b, __b, __b);
|
|
3845
3645
|
}
|
|
3846
3646
|
|
|
3847
3647
|
/// Constructs a 128-bit integer vector, initialized in reverse order
|
|
@@ -3858,9 +3658,8 @@ _mm_set1_epi8(char __b)
|
|
|
3858
3658
|
/// A 64-bit integral value used to initialize the upper 64 bits of the
|
|
3859
3659
|
/// result.
|
|
3860
3660
|
/// \returns An initialized 128-bit integer vector.
|
|
3861
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3862
|
-
|
|
3863
|
-
{
|
|
3661
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_setr_epi64(__m64 __q0,
|
|
3662
|
+
__m64 __q1) {
|
|
3864
3663
|
return _mm_set_epi64(__q1, __q0);
|
|
3865
3664
|
}
|
|
3866
3665
|
|
|
@@ -3881,9 +3680,9 @@ _mm_setr_epi64(__m64 __q0, __m64 __q1)
|
|
|
3881
3680
|
/// \param __i3
|
|
3882
3681
|
/// A 32-bit integral value used to initialize bits [127:96] of the result.
|
|
3883
3682
|
/// \returns An initialized 128-bit integer vector.
|
|
3884
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3885
|
-
|
|
3886
|
-
{
|
|
3683
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_setr_epi32(int __i0, int __i1,
|
|
3684
|
+
int __i2,
|
|
3685
|
+
int __i3) {
|
|
3887
3686
|
return _mm_set_epi32(__i3, __i2, __i1, __i0);
|
|
3888
3687
|
}
|
|
3889
3688
|
|
|
@@ -3913,8 +3712,8 @@ _mm_setr_epi32(int __i0, int __i1, int __i2, int __i3)
|
|
|
3913
3712
|
/// A 16-bit integral value used to initialize bits [127:112] of the result.
|
|
3914
3713
|
/// \returns An initialized 128-bit integer vector.
|
|
3915
3714
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3916
|
-
_mm_setr_epi16(short __w0, short __w1, short __w2, short __w3, short __w4,
|
|
3917
|
-
{
|
|
3715
|
+
_mm_setr_epi16(short __w0, short __w1, short __w2, short __w3, short __w4,
|
|
3716
|
+
short __w5, short __w6, short __w7) {
|
|
3918
3717
|
return _mm_set_epi16(__w7, __w6, __w5, __w4, __w3, __w2, __w1, __w0);
|
|
3919
3718
|
}
|
|
3920
3719
|
|
|
@@ -3960,9 +3759,11 @@ _mm_setr_epi16(short __w0, short __w1, short __w2, short __w3, short __w4, short
|
|
|
3960
3759
|
/// An 8-bit integral value used to initialize bits [127:120] of the result.
|
|
3961
3760
|
/// \returns An initialized 128-bit integer vector.
|
|
3962
3761
|
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3963
|
-
_mm_setr_epi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5,
|
|
3964
|
-
|
|
3965
|
-
|
|
3762
|
+
_mm_setr_epi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5,
|
|
3763
|
+
char __b6, char __b7, char __b8, char __b9, char __b10,
|
|
3764
|
+
char __b11, char __b12, char __b13, char __b14, char __b15) {
|
|
3765
|
+
return _mm_set_epi8(__b15, __b14, __b13, __b12, __b11, __b10, __b9, __b8,
|
|
3766
|
+
__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0);
|
|
3966
3767
|
}
|
|
3967
3768
|
|
|
3968
3769
|
/// Creates a 128-bit integer vector initialized to zero.
|
|
@@ -3973,10 +3774,8 @@ _mm_setr_epi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5,
|
|
|
3973
3774
|
///
|
|
3974
3775
|
/// \returns An initialized 128-bit integer vector with all elements set to
|
|
3975
3776
|
/// zero.
|
|
3976
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
3977
|
-
|
|
3978
|
-
{
|
|
3979
|
-
return __extension__ (__m128i)(__v2di){ 0LL, 0LL };
|
|
3777
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_setzero_si128(void) {
|
|
3778
|
+
return __extension__(__m128i)(__v2di){0LL, 0LL};
|
|
3980
3779
|
}
|
|
3981
3780
|
|
|
3982
3781
|
/// Stores a 128-bit integer vector to a memory location aligned on a
|
|
@@ -3991,9 +3790,8 @@ _mm_setzero_si128(void)
|
|
|
3991
3790
|
/// values.
|
|
3992
3791
|
/// \param __b
|
|
3993
3792
|
/// A 128-bit integer vector containing the values to be moved.
|
|
3994
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
3995
|
-
|
|
3996
|
-
{
|
|
3793
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_store_si128(__m128i *__p,
|
|
3794
|
+
__m128i __b) {
|
|
3997
3795
|
*__p = __b;
|
|
3998
3796
|
}
|
|
3999
3797
|
|
|
@@ -4007,13 +3805,12 @@ _mm_store_si128(__m128i *__p, __m128i __b)
|
|
|
4007
3805
|
/// A pointer to a memory location that will receive the integer values.
|
|
4008
3806
|
/// \param __b
|
|
4009
3807
|
/// A 128-bit integer vector containing the values to be moved.
|
|
4010
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
4011
|
-
|
|
4012
|
-
{
|
|
3808
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_storeu_si128(__m128i_u *__p,
|
|
3809
|
+
__m128i __b) {
|
|
4013
3810
|
struct __storeu_si128 {
|
|
4014
3811
|
__m128i_u __v;
|
|
4015
3812
|
} __attribute__((__packed__, __may_alias__));
|
|
4016
|
-
((struct __storeu_si128*)__p)->__v = __b;
|
|
3813
|
+
((struct __storeu_si128 *)__p)->__v = __b;
|
|
4017
3814
|
}
|
|
4018
3815
|
|
|
4019
3816
|
/// Stores a 64-bit integer value from the low element of a 128-bit integer
|
|
@@ -4028,13 +3825,12 @@ _mm_storeu_si128(__m128i_u *__p, __m128i __b)
|
|
|
4028
3825
|
/// location does not have to be aligned.
|
|
4029
3826
|
/// \param __b
|
|
4030
3827
|
/// A 128-bit integer vector containing the value to be stored.
|
|
4031
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
4032
|
-
|
|
4033
|
-
{
|
|
3828
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_storeu_si64(void *__p,
|
|
3829
|
+
__m128i __b) {
|
|
4034
3830
|
struct __storeu_si64 {
|
|
4035
3831
|
long long __v;
|
|
4036
3832
|
} __attribute__((__packed__, __may_alias__));
|
|
4037
|
-
((struct __storeu_si64*)__p)->__v = ((__v2di)__b)[0];
|
|
3833
|
+
((struct __storeu_si64 *)__p)->__v = ((__v2di)__b)[0];
|
|
4038
3834
|
}
|
|
4039
3835
|
|
|
4040
3836
|
/// Stores a 32-bit integer value from the low element of a 128-bit integer
|
|
@@ -4049,13 +3845,12 @@ _mm_storeu_si64(void *__p, __m128i __b)
|
|
|
4049
3845
|
/// location does not have to be aligned.
|
|
4050
3846
|
/// \param __b
|
|
4051
3847
|
/// A 128-bit integer vector containing the value to be stored.
|
|
4052
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
4053
|
-
|
|
4054
|
-
{
|
|
3848
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_storeu_si32(void *__p,
|
|
3849
|
+
__m128i __b) {
|
|
4055
3850
|
struct __storeu_si32 {
|
|
4056
3851
|
int __v;
|
|
4057
3852
|
} __attribute__((__packed__, __may_alias__));
|
|
4058
|
-
((struct __storeu_si32*)__p)->__v = ((__v4si)__b)[0];
|
|
3853
|
+
((struct __storeu_si32 *)__p)->__v = ((__v4si)__b)[0];
|
|
4059
3854
|
}
|
|
4060
3855
|
|
|
4061
3856
|
/// Stores a 16-bit integer value from the low element of a 128-bit integer
|
|
@@ -4070,13 +3865,12 @@ _mm_storeu_si32(void *__p, __m128i __b)
|
|
|
4070
3865
|
/// location does not have to be aligned.
|
|
4071
3866
|
/// \param __b
|
|
4072
3867
|
/// A 128-bit integer vector containing the value to be stored.
|
|
4073
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
4074
|
-
|
|
4075
|
-
{
|
|
3868
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_storeu_si16(void *__p,
|
|
3869
|
+
__m128i __b) {
|
|
4076
3870
|
struct __storeu_si16 {
|
|
4077
3871
|
short __v;
|
|
4078
3872
|
} __attribute__((__packed__, __may_alias__));
|
|
4079
|
-
((struct __storeu_si16*)__p)->__v = ((__v8hi)__b)[0];
|
|
3873
|
+
((struct __storeu_si16 *)__p)->__v = ((__v8hi)__b)[0];
|
|
4080
3874
|
}
|
|
4081
3875
|
|
|
4082
3876
|
/// Moves bytes selected by the mask from the first operand to the
|
|
@@ -4100,9 +3894,9 @@ _mm_storeu_si16(void *__p, __m128i __b)
|
|
|
4100
3894
|
/// \param __p
|
|
4101
3895
|
/// A pointer to an unaligned 128-bit memory location where the specified
|
|
4102
3896
|
/// values are moved.
|
|
4103
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
4104
|
-
|
|
4105
|
-
{
|
|
3897
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_maskmoveu_si128(__m128i __d,
|
|
3898
|
+
__m128i __n,
|
|
3899
|
+
char *__p) {
|
|
4106
3900
|
__builtin_ia32_maskmovdqu((__v16qi)__d, (__v16qi)__n, __p);
|
|
4107
3901
|
}
|
|
4108
3902
|
|
|
@@ -4119,13 +3913,12 @@ _mm_maskmoveu_si128(__m128i __d, __m128i __n, char *__p)
|
|
|
4119
3913
|
/// \param __a
|
|
4120
3914
|
/// A 128-bit integer vector of [2 x i64]. The lower 64 bits contain the
|
|
4121
3915
|
/// value to be stored.
|
|
4122
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
4123
|
-
|
|
4124
|
-
{
|
|
3916
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_storel_epi64(__m128i_u *__p,
|
|
3917
|
+
__m128i __a) {
|
|
4125
3918
|
struct __mm_storel_epi64_struct {
|
|
4126
3919
|
long long __u;
|
|
4127
3920
|
} __attribute__((__packed__, __may_alias__));
|
|
4128
|
-
((struct __mm_storel_epi64_struct*)__p)->__u = __a[0];
|
|
3921
|
+
((struct __mm_storel_epi64_struct *)__p)->__u = __a[0];
|
|
4129
3922
|
}
|
|
4130
3923
|
|
|
4131
3924
|
/// Stores a 128-bit floating point vector of [2 x double] to a 128-bit
|
|
@@ -4142,10 +3935,9 @@ _mm_storel_epi64(__m128i_u *__p, __m128i __a)
|
|
|
4142
3935
|
/// A pointer to the 128-bit aligned memory location used to store the value.
|
|
4143
3936
|
/// \param __a
|
|
4144
3937
|
/// A vector of [2 x double] containing the 64-bit values to be stored.
|
|
4145
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
4146
|
-
|
|
4147
|
-
|
|
4148
|
-
__builtin_nontemporal_store((__v2df)__a, (__v2df*)__p);
|
|
3938
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_stream_pd(double *__p,
|
|
3939
|
+
__m128d __a) {
|
|
3940
|
+
__builtin_nontemporal_store((__v2df)__a, (__v2df *)__p);
|
|
4149
3941
|
}
|
|
4150
3942
|
|
|
4151
3943
|
/// Stores a 128-bit integer vector to a 128-bit aligned memory location.
|
|
@@ -4161,10 +3953,9 @@ _mm_stream_pd(double *__p, __m128d __a)
|
|
|
4161
3953
|
/// A pointer to the 128-bit aligned memory location used to store the value.
|
|
4162
3954
|
/// \param __a
|
|
4163
3955
|
/// A 128-bit integer vector containing the values to be stored.
|
|
4164
|
-
static __inline__ void __DEFAULT_FN_ATTRS
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
__builtin_nontemporal_store((__v2di)__a, (__v2di*)__p);
|
|
3956
|
+
static __inline__ void __DEFAULT_FN_ATTRS _mm_stream_si128(__m128i *__p,
|
|
3957
|
+
__m128i __a) {
|
|
3958
|
+
__builtin_nontemporal_store((__v2di)__a, (__v2di *)__p);
|
|
4168
3959
|
}
|
|
4169
3960
|
|
|
4170
3961
|
/// Stores a 32-bit integer value in the specified memory location.
|
|
@@ -4180,9 +3971,9 @@ _mm_stream_si128(__m128i *__p, __m128i __a)
|
|
|
4180
3971
|
/// A pointer to the 32-bit memory location used to store the value.
|
|
4181
3972
|
/// \param __a
|
|
4182
3973
|
/// A 32-bit integer containing the value to be stored.
|
|
4183
|
-
static __inline__ void
|
|
4184
|
-
|
|
4185
|
-
{
|
|
3974
|
+
static __inline__ void
|
|
3975
|
+
__attribute__((__always_inline__, __nodebug__, __target__("sse2")))
|
|
3976
|
+
_mm_stream_si32(int *__p, int __a) {
|
|
4186
3977
|
__builtin_ia32_movnti(__p, __a);
|
|
4187
3978
|
}
|
|
4188
3979
|
|
|
@@ -4200,9 +3991,9 @@ _mm_stream_si32(int *__p, int __a)
|
|
|
4200
3991
|
/// A pointer to the 64-bit memory location used to store the value.
|
|
4201
3992
|
/// \param __a
|
|
4202
3993
|
/// A 64-bit integer containing the value to be stored.
|
|
4203
|
-
static __inline__ void
|
|
4204
|
-
|
|
4205
|
-
{
|
|
3994
|
+
static __inline__ void
|
|
3995
|
+
__attribute__((__always_inline__, __nodebug__, __target__("sse2")))
|
|
3996
|
+
_mm_stream_si64(long long *__p, long long __a) {
|
|
4206
3997
|
__builtin_ia32_movnti64(__p, __a);
|
|
4207
3998
|
}
|
|
4208
3999
|
#endif
|
|
@@ -4221,7 +4012,7 @@ extern "C" {
|
|
|
4221
4012
|
/// \param __p
|
|
4222
4013
|
/// A pointer to the memory location used to identify the cache line to be
|
|
4223
4014
|
/// flushed.
|
|
4224
|
-
void _mm_clflush(void const *
|
|
4015
|
+
void _mm_clflush(void const *__p);
|
|
4225
4016
|
|
|
4226
4017
|
/// Forces strong memory ordering (serialization) between load
|
|
4227
4018
|
/// instructions preceding this instruction and load instructions following
|
|
@@ -4271,9 +4062,8 @@ void _mm_mfence(void);
|
|
|
4271
4062
|
/// than 0x80 are saturated to 0x80. The converted [8 x i8] values are
|
|
4272
4063
|
/// written to the higher 64 bits of the result.
|
|
4273
4064
|
/// \returns A 128-bit vector of [16 x i8] containing the converted values.
|
|
4274
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4275
|
-
|
|
4276
|
-
{
|
|
4065
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packs_epi16(__m128i __a,
|
|
4066
|
+
__m128i __b) {
|
|
4277
4067
|
return (__m128i)__builtin_ia32_packsswb128((__v8hi)__a, (__v8hi)__b);
|
|
4278
4068
|
}
|
|
4279
4069
|
|
|
@@ -4299,9 +4089,8 @@ _mm_packs_epi16(__m128i __a, __m128i __b)
|
|
|
4299
4089
|
/// less than 0x8000 are saturated to 0x8000. The converted [4 x i16] values
|
|
4300
4090
|
/// are written to the higher 64 bits of the result.
|
|
4301
4091
|
/// \returns A 128-bit vector of [8 x i16] containing the converted values.
|
|
4302
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4303
|
-
|
|
4304
|
-
{
|
|
4092
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packs_epi32(__m128i __a,
|
|
4093
|
+
__m128i __b) {
|
|
4305
4094
|
return (__m128i)__builtin_ia32_packssdw128((__v4si)__a, (__v4si)__b);
|
|
4306
4095
|
}
|
|
4307
4096
|
|
|
@@ -4327,9 +4116,8 @@ _mm_packs_epi32(__m128i __a, __m128i __b)
|
|
|
4327
4116
|
/// than 0x00 are saturated to 0x00. The converted [8 x i8] values are
|
|
4328
4117
|
/// written to the higher 64 bits of the result.
|
|
4329
4118
|
/// \returns A 128-bit vector of [16 x i8] containing the converted values.
|
|
4330
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4331
|
-
|
|
4332
|
-
{
|
|
4119
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packus_epi16(__m128i __a,
|
|
4120
|
+
__m128i __b) {
|
|
4333
4121
|
return (__m128i)__builtin_ia32_packuswb128((__v8hi)__a, (__v8hi)__b);
|
|
4334
4122
|
}
|
|
4335
4123
|
|
|
@@ -4338,26 +4126,30 @@ _mm_packus_epi16(__m128i __a, __m128i __b)
|
|
|
4338
4126
|
///
|
|
4339
4127
|
/// \headerfile <x86intrin.h>
|
|
4340
4128
|
///
|
|
4129
|
+
/// \code
|
|
4130
|
+
/// __m128i _mm_extract_epi16(__m128i a, const int imm);
|
|
4131
|
+
/// \endcode
|
|
4132
|
+
///
|
|
4341
4133
|
/// This intrinsic corresponds to the <c> VPEXTRW / PEXTRW </c> instruction.
|
|
4342
4134
|
///
|
|
4343
|
-
/// \param
|
|
4135
|
+
/// \param a
|
|
4344
4136
|
/// A 128-bit integer vector.
|
|
4345
|
-
/// \param
|
|
4346
|
-
/// An immediate value. Bits [2:0] selects values from \a
|
|
4137
|
+
/// \param imm
|
|
4138
|
+
/// An immediate value. Bits [2:0] selects values from \a a to be assigned
|
|
4347
4139
|
/// to bits[15:0] of the result. \n
|
|
4348
|
-
/// 000: assign values from bits [15:0] of \a
|
|
4349
|
-
/// 001: assign values from bits [31:16] of \a
|
|
4350
|
-
/// 010: assign values from bits [47:32] of \a
|
|
4351
|
-
/// 011: assign values from bits [63:48] of \a
|
|
4352
|
-
/// 100: assign values from bits [79:64] of \a
|
|
4353
|
-
/// 101: assign values from bits [95:80] of \a
|
|
4354
|
-
/// 110: assign values from bits [111:96] of \a
|
|
4355
|
-
/// 111: assign values from bits [127:112] of \a
|
|
4140
|
+
/// 000: assign values from bits [15:0] of \a a. \n
|
|
4141
|
+
/// 001: assign values from bits [31:16] of \a a. \n
|
|
4142
|
+
/// 010: assign values from bits [47:32] of \a a. \n
|
|
4143
|
+
/// 011: assign values from bits [63:48] of \a a. \n
|
|
4144
|
+
/// 100: assign values from bits [79:64] of \a a. \n
|
|
4145
|
+
/// 101: assign values from bits [95:80] of \a a. \n
|
|
4146
|
+
/// 110: assign values from bits [111:96] of \a a. \n
|
|
4147
|
+
/// 111: assign values from bits [127:112] of \a a.
|
|
4356
4148
|
/// \returns An integer, whose lower 16 bits are selected from the 128-bit
|
|
4357
4149
|
/// integer vector parameter and the remaining bits are assigned zeros.
|
|
4358
|
-
#define _mm_extract_epi16(a, imm)
|
|
4359
|
-
(int)(unsigned short)__builtin_ia32_vec_ext_v8hi((__v8hi)(__m128i)(a),
|
|
4360
|
-
|
|
4150
|
+
#define _mm_extract_epi16(a, imm) \
|
|
4151
|
+
((int)(unsigned short)__builtin_ia32_vec_ext_v8hi((__v8hi)(__m128i)(a), \
|
|
4152
|
+
(int)(imm)))
|
|
4361
4153
|
|
|
4362
4154
|
/// Constructs a 128-bit integer vector by first making a copy of the
|
|
4363
4155
|
/// 128-bit integer vector parameter, and then inserting the lower 16 bits
|
|
@@ -4366,22 +4158,26 @@ _mm_packus_epi16(__m128i __a, __m128i __b)
|
|
|
4366
4158
|
///
|
|
4367
4159
|
/// \headerfile <x86intrin.h>
|
|
4368
4160
|
///
|
|
4161
|
+
/// \code
|
|
4162
|
+
/// __m128i _mm_insert_epi16(__m128i a, int b, const int imm);
|
|
4163
|
+
/// \endcode
|
|
4164
|
+
///
|
|
4369
4165
|
/// This intrinsic corresponds to the <c> VPINSRW / PINSRW </c> instruction.
|
|
4370
4166
|
///
|
|
4371
|
-
/// \param
|
|
4167
|
+
/// \param a
|
|
4372
4168
|
/// A 128-bit integer vector of [8 x i16]. This vector is copied to the
|
|
4373
4169
|
/// result and then one of the eight elements in the result is replaced by
|
|
4374
|
-
/// the lower 16 bits of \a
|
|
4375
|
-
/// \param
|
|
4170
|
+
/// the lower 16 bits of \a b.
|
|
4171
|
+
/// \param b
|
|
4376
4172
|
/// An integer. The lower 16 bits of this parameter are written to the
|
|
4377
|
-
/// result beginning at an offset specified by \a
|
|
4378
|
-
/// \param
|
|
4173
|
+
/// result beginning at an offset specified by \a imm.
|
|
4174
|
+
/// \param imm
|
|
4379
4175
|
/// An immediate value specifying the bit offset in the result at which the
|
|
4380
|
-
/// lower 16 bits of \a
|
|
4176
|
+
/// lower 16 bits of \a b are written.
|
|
4381
4177
|
/// \returns A 128-bit integer vector containing the constructed values.
|
|
4382
|
-
#define _mm_insert_epi16(a, b, imm)
|
|
4383
|
-
(__m128i)__builtin_ia32_vec_set_v8hi((__v8hi)(__m128i)(a), (int)(b),
|
|
4384
|
-
|
|
4178
|
+
#define _mm_insert_epi16(a, b, imm) \
|
|
4179
|
+
((__m128i)__builtin_ia32_vec_set_v8hi((__v8hi)(__m128i)(a), (int)(b), \
|
|
4180
|
+
(int)(imm)))
|
|
4385
4181
|
|
|
4386
4182
|
/// Copies the values of the most significant bits from each 8-bit
|
|
4387
4183
|
/// element in a 128-bit integer vector of [16 x i8] to create a 16-bit mask
|
|
@@ -4395,9 +4191,7 @@ _mm_packus_epi16(__m128i __a, __m128i __b)
|
|
|
4395
4191
|
/// A 128-bit integer vector containing the values with bits to be extracted.
|
|
4396
4192
|
/// \returns The most significant bits from each 8-bit element in \a __a,
|
|
4397
4193
|
/// written to bits [15:0]. The other bits are assigned zeros.
|
|
4398
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
4399
|
-
_mm_movemask_epi8(__m128i __a)
|
|
4400
|
-
{
|
|
4194
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_movemask_epi8(__m128i __a) {
|
|
4401
4195
|
return __builtin_ia32_pmovmskb128((__v16qi)__a);
|
|
4402
4196
|
}
|
|
4403
4197
|
|
|
@@ -4427,10 +4221,13 @@ _mm_movemask_epi8(__m128i __a)
|
|
|
4427
4221
|
/// 00: assign values from bits [31:0] of \a a. \n
|
|
4428
4222
|
/// 01: assign values from bits [63:32] of \a a. \n
|
|
4429
4223
|
/// 10: assign values from bits [95:64] of \a a. \n
|
|
4430
|
-
/// 11: assign values from bits [127:96] of \a a.
|
|
4224
|
+
/// 11: assign values from bits [127:96] of \a a. \n
|
|
4225
|
+
/// Note: To generate a mask, you can use the \c _MM_SHUFFLE macro.
|
|
4226
|
+
/// <c>_MM_SHUFFLE(b6, b4, b2, b0)</c> can create an 8-bit mask of the form
|
|
4227
|
+
/// <c>[b6, b4, b2, b0]</c>.
|
|
4431
4228
|
/// \returns A 128-bit integer vector containing the shuffled values.
|
|
4432
|
-
#define _mm_shuffle_epi32(a, imm)
|
|
4433
|
-
(__m128i)__builtin_ia32_pshufd((__v4si)(__m128i)(a), (int)(imm))
|
|
4229
|
+
#define _mm_shuffle_epi32(a, imm) \
|
|
4230
|
+
((__m128i)__builtin_ia32_pshufd((__v4si)(__m128i)(a), (int)(imm)))
|
|
4434
4231
|
|
|
4435
4232
|
/// Constructs a 128-bit integer vector by shuffling four lower 16-bit
|
|
4436
4233
|
/// elements of a 128-bit integer vector of [8 x i16], using the immediate
|
|
@@ -4458,9 +4255,12 @@ _mm_movemask_epi8(__m128i __a)
|
|
|
4458
4255
|
/// 01: assign values from bits [31:16] of \a a. \n
|
|
4459
4256
|
/// 10: assign values from bits [47:32] of \a a. \n
|
|
4460
4257
|
/// 11: assign values from bits [63:48] of \a a. \n
|
|
4258
|
+
/// Note: To generate a mask, you can use the \c _MM_SHUFFLE macro.
|
|
4259
|
+
/// <c>_MM_SHUFFLE(b6, b4, b2, b0)</c> can create an 8-bit mask of the form
|
|
4260
|
+
/// <c>[b6, b4, b2, b0]</c>.
|
|
4461
4261
|
/// \returns A 128-bit integer vector containing the shuffled values.
|
|
4462
|
-
#define _mm_shufflelo_epi16(a, imm)
|
|
4463
|
-
(__m128i)__builtin_ia32_pshuflw((__v8hi)(__m128i)(a), (int)(imm))
|
|
4262
|
+
#define _mm_shufflelo_epi16(a, imm) \
|
|
4263
|
+
((__m128i)__builtin_ia32_pshuflw((__v8hi)(__m128i)(a), (int)(imm)))
|
|
4464
4264
|
|
|
4465
4265
|
/// Constructs a 128-bit integer vector by shuffling four upper 16-bit
|
|
4466
4266
|
/// elements of a 128-bit integer vector of [8 x i16], using the immediate
|
|
@@ -4488,9 +4288,12 @@ _mm_movemask_epi8(__m128i __a)
|
|
|
4488
4288
|
/// 01: assign values from bits [95:80] of \a a. \n
|
|
4489
4289
|
/// 10: assign values from bits [111:96] of \a a. \n
|
|
4490
4290
|
/// 11: assign values from bits [127:112] of \a a. \n
|
|
4291
|
+
/// Note: To generate a mask, you can use the \c _MM_SHUFFLE macro.
|
|
4292
|
+
/// <c>_MM_SHUFFLE(b6, b4, b2, b0)</c> can create an 8-bit mask of the form
|
|
4293
|
+
/// <c>[b6, b4, b2, b0]</c>.
|
|
4491
4294
|
/// \returns A 128-bit integer vector containing the shuffled values.
|
|
4492
|
-
#define _mm_shufflehi_epi16(a, imm)
|
|
4493
|
-
(__m128i)__builtin_ia32_pshufhw((__v8hi)(__m128i)(a), (int)(imm))
|
|
4295
|
+
#define _mm_shufflehi_epi16(a, imm) \
|
|
4296
|
+
((__m128i)__builtin_ia32_pshufhw((__v8hi)(__m128i)(a), (int)(imm)))
|
|
4494
4297
|
|
|
4495
4298
|
/// Unpacks the high-order (index 8-15) values from two 128-bit vectors
|
|
4496
4299
|
/// of [16 x i8] and interleaves them into a 128-bit vector of [16 x i8].
|
|
@@ -4521,10 +4324,11 @@ _mm_movemask_epi8(__m128i __a)
|
|
|
4521
4324
|
/// Bits [119:112] are written to bits [111:104] of the result. \n
|
|
4522
4325
|
/// Bits [127:120] are written to bits [127:120] of the result.
|
|
4523
4326
|
/// \returns A 128-bit vector of [16 x i8] containing the interleaved values.
|
|
4524
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4327
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi8(__m128i __a,
|
|
4328
|
+
__m128i __b) {
|
|
4329
|
+
return (__m128i)__builtin_shufflevector(
|
|
4330
|
+
(__v16qi)__a, (__v16qi)__b, 8, 16 + 8, 9, 16 + 9, 10, 16 + 10, 11,
|
|
4331
|
+
16 + 11, 12, 16 + 12, 13, 16 + 13, 14, 16 + 14, 15, 16 + 15);
|
|
4528
4332
|
}
|
|
4529
4333
|
|
|
4530
4334
|
/// Unpacks the high-order (index 4-7) values from two 128-bit vectors of
|
|
@@ -4548,10 +4352,10 @@ _mm_unpackhi_epi8(__m128i __a, __m128i __b)
|
|
|
4548
4352
|
/// Bits [111:96] are written to bits [95:80] of the result. \n
|
|
4549
4353
|
/// Bits [127:112] are written to bits [127:112] of the result.
|
|
4550
4354
|
/// \returns A 128-bit vector of [8 x i16] containing the interleaved values.
|
|
4551
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4355
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi16(__m128i __a,
|
|
4356
|
+
__m128i __b) {
|
|
4357
|
+
return (__m128i)__builtin_shufflevector((__v8hi)__a, (__v8hi)__b, 4, 8 + 4, 5,
|
|
4358
|
+
8 + 5, 6, 8 + 6, 7, 8 + 7);
|
|
4555
4359
|
}
|
|
4556
4360
|
|
|
4557
4361
|
/// Unpacks the high-order (index 2,3) values from two 128-bit vectors of
|
|
@@ -4571,10 +4375,10 @@ _mm_unpackhi_epi16(__m128i __a, __m128i __b)
|
|
|
4571
4375
|
/// Bits [95:64] are written to bits [64:32] of the destination. \n
|
|
4572
4376
|
/// Bits [127:96] are written to bits [127:96] of the destination.
|
|
4573
4377
|
/// \returns A 128-bit vector of [4 x i32] containing the interleaved values.
|
|
4574
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4378
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi32(__m128i __a,
|
|
4379
|
+
__m128i __b) {
|
|
4380
|
+
return (__m128i)__builtin_shufflevector((__v4si)__a, (__v4si)__b, 2, 4 + 2, 3,
|
|
4381
|
+
4 + 3);
|
|
4578
4382
|
}
|
|
4579
4383
|
|
|
4580
4384
|
/// Unpacks the high-order 64-bit elements from two 128-bit vectors of
|
|
@@ -4592,10 +4396,9 @@ _mm_unpackhi_epi32(__m128i __a, __m128i __b)
|
|
|
4592
4396
|
/// A 128-bit vector of [2 x i64]. \n
|
|
4593
4397
|
/// Bits [127:64] are written to bits [127:64] of the destination.
|
|
4594
4398
|
/// \returns A 128-bit vector of [2 x i64] containing the interleaved values.
|
|
4595
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4596
|
-
|
|
4597
|
-
|
|
4598
|
-
return (__m128i)__builtin_shufflevector((__v2di)__a, (__v2di)__b, 1, 2+1);
|
|
4399
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi64(__m128i __a,
|
|
4400
|
+
__m128i __b) {
|
|
4401
|
+
return (__m128i)__builtin_shufflevector((__v2di)__a, (__v2di)__b, 1, 2 + 1);
|
|
4599
4402
|
}
|
|
4600
4403
|
|
|
4601
4404
|
/// Unpacks the low-order (index 0-7) values from two 128-bit vectors of
|
|
@@ -4627,10 +4430,11 @@ _mm_unpackhi_epi64(__m128i __a, __m128i __b)
|
|
|
4627
4430
|
/// Bits [55:48] are written to bits [111:104] of the result. \n
|
|
4628
4431
|
/// Bits [63:56] are written to bits [127:120] of the result.
|
|
4629
4432
|
/// \returns A 128-bit vector of [16 x i8] containing the interleaved values.
|
|
4630
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
|
|
4433
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi8(__m128i __a,
|
|
4434
|
+
__m128i __b) {
|
|
4435
|
+
return (__m128i)__builtin_shufflevector(
|
|
4436
|
+
(__v16qi)__a, (__v16qi)__b, 0, 16 + 0, 1, 16 + 1, 2, 16 + 2, 3, 16 + 3, 4,
|
|
4437
|
+
16 + 4, 5, 16 + 5, 6, 16 + 6, 7, 16 + 7);
|
|
4634
4438
|
}
|
|
4635
4439
|
|
|
4636
4440
|
/// Unpacks the low-order (index 0-3) values from each of the two 128-bit
|
|
@@ -4655,10 +4459,10 @@ _mm_unpacklo_epi8(__m128i __a, __m128i __b)
|
|
|
4655
4459
|
/// Bits [47:32] are written to bits [95:80] of the result. \n
|
|
4656
4460
|
/// Bits [63:48] are written to bits [127:112] of the result.
|
|
4657
4461
|
/// \returns A 128-bit vector of [8 x i16] containing the interleaved values.
|
|
4658
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4462
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi16(__m128i __a,
|
|
4463
|
+
__m128i __b) {
|
|
4464
|
+
return (__m128i)__builtin_shufflevector((__v8hi)__a, (__v8hi)__b, 0, 8 + 0, 1,
|
|
4465
|
+
8 + 1, 2, 8 + 2, 3, 8 + 3);
|
|
4662
4466
|
}
|
|
4663
4467
|
|
|
4664
4468
|
/// Unpacks the low-order (index 0,1) values from two 128-bit vectors of
|
|
@@ -4678,10 +4482,10 @@ _mm_unpacklo_epi16(__m128i __a, __m128i __b)
|
|
|
4678
4482
|
/// Bits [31:0] are written to bits [64:32] of the destination. \n
|
|
4679
4483
|
/// Bits [63:32] are written to bits [127:96] of the destination.
|
|
4680
4484
|
/// \returns A 128-bit vector of [4 x i32] containing the interleaved values.
|
|
4681
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4682
|
-
|
|
4683
|
-
|
|
4684
|
-
|
|
4485
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi32(__m128i __a,
|
|
4486
|
+
__m128i __b) {
|
|
4487
|
+
return (__m128i)__builtin_shufflevector((__v4si)__a, (__v4si)__b, 0, 4 + 0, 1,
|
|
4488
|
+
4 + 1);
|
|
4685
4489
|
}
|
|
4686
4490
|
|
|
4687
4491
|
/// Unpacks the low-order 64-bit elements from two 128-bit vectors of
|
|
@@ -4699,10 +4503,9 @@ _mm_unpacklo_epi32(__m128i __a, __m128i __b)
|
|
|
4699
4503
|
/// A 128-bit vector of [2 x i64]. \n
|
|
4700
4504
|
/// Bits [63:0] are written to bits [127:64] of the destination. \n
|
|
4701
4505
|
/// \returns A 128-bit vector of [2 x i64] containing the interleaved values.
|
|
4702
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4703
|
-
|
|
4704
|
-
|
|
4705
|
-
return (__m128i)__builtin_shufflevector((__v2di)__a, (__v2di)__b, 0, 2+0);
|
|
4506
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi64(__m128i __a,
|
|
4507
|
+
__m128i __b) {
|
|
4508
|
+
return (__m128i)__builtin_shufflevector((__v2di)__a, (__v2di)__b, 0, 2 + 0);
|
|
4706
4509
|
}
|
|
4707
4510
|
|
|
4708
4511
|
/// Returns the lower 64 bits of a 128-bit integer vector as a 64-bit
|
|
@@ -4716,9 +4519,7 @@ _mm_unpacklo_epi64(__m128i __a, __m128i __b)
|
|
|
4716
4519
|
/// A 128-bit integer vector operand. The lower 64 bits are moved to the
|
|
4717
4520
|
/// destination.
|
|
4718
4521
|
/// \returns A 64-bit integer containing the lower 64 bits of the parameter.
|
|
4719
|
-
static __inline__ __m64 __DEFAULT_FN_ATTRS
|
|
4720
|
-
_mm_movepi64_pi64(__m128i __a)
|
|
4721
|
-
{
|
|
4522
|
+
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_movepi64_pi64(__m128i __a) {
|
|
4722
4523
|
return (__m64)__a[0];
|
|
4723
4524
|
}
|
|
4724
4525
|
|
|
@@ -4733,10 +4534,8 @@ _mm_movepi64_pi64(__m128i __a)
|
|
|
4733
4534
|
/// A 64-bit value.
|
|
4734
4535
|
/// \returns A 128-bit integer vector. The lower 64 bits contain the value from
|
|
4735
4536
|
/// the operand. The upper 64 bits are assigned zeros.
|
|
4736
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4737
|
-
|
|
4738
|
-
{
|
|
4739
|
-
return __extension__ (__m128i)(__v2di){ (long long)__a, 0 };
|
|
4537
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_movpi64_epi64(__m64 __a) {
|
|
4538
|
+
return __extension__(__m128i)(__v2di){(long long)__a, 0};
|
|
4740
4539
|
}
|
|
4741
4540
|
|
|
4742
4541
|
/// Moves the lower 64 bits of a 128-bit integer vector to a 128-bit
|
|
@@ -4751,9 +4550,7 @@ _mm_movpi64_epi64(__m64 __a)
|
|
|
4751
4550
|
/// destination.
|
|
4752
4551
|
/// \returns A 128-bit integer vector. The lower 64 bits contain the value from
|
|
4753
4552
|
/// the operand. The upper 64 bits are assigned zeros.
|
|
4754
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4755
|
-
_mm_move_epi64(__m128i __a)
|
|
4756
|
-
{
|
|
4553
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_move_epi64(__m128i __a) {
|
|
4757
4554
|
return __builtin_shufflevector((__v2di)__a, _mm_setzero_si128(), 0, 2);
|
|
4758
4555
|
}
|
|
4759
4556
|
|
|
@@ -4772,10 +4569,9 @@ _mm_move_epi64(__m128i __a)
|
|
|
4772
4569
|
/// A 128-bit vector of [2 x double]. \n
|
|
4773
4570
|
/// Bits [127:64] are written to bits [127:64] of the destination.
|
|
4774
4571
|
/// \returns A 128-bit vector of [2 x double] containing the interleaved values.
|
|
4775
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
return __builtin_shufflevector((__v2df)__a, (__v2df)__b, 1, 2+1);
|
|
4572
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_unpackhi_pd(__m128d __a,
|
|
4573
|
+
__m128d __b) {
|
|
4574
|
+
return __builtin_shufflevector((__v2df)__a, (__v2df)__b, 1, 2 + 1);
|
|
4779
4575
|
}
|
|
4780
4576
|
|
|
4781
4577
|
/// Unpacks the low-order 64-bit elements from two 128-bit vectors
|
|
@@ -4793,10 +4589,9 @@ _mm_unpackhi_pd(__m128d __a, __m128d __b)
|
|
|
4793
4589
|
/// A 128-bit vector of [2 x double]. \n
|
|
4794
4590
|
/// Bits [63:0] are written to bits [127:64] of the destination.
|
|
4795
4591
|
/// \returns A 128-bit vector of [2 x double] containing the interleaved values.
|
|
4796
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
return __builtin_shufflevector((__v2df)__a, (__v2df)__b, 0, 2+0);
|
|
4592
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_unpacklo_pd(__m128d __a,
|
|
4593
|
+
__m128d __b) {
|
|
4594
|
+
return __builtin_shufflevector((__v2df)__a, (__v2df)__b, 0, 2 + 0);
|
|
4800
4595
|
}
|
|
4801
4596
|
|
|
4802
4597
|
/// Extracts the sign bits of the double-precision values in the 128-bit
|
|
@@ -4812,13 +4607,10 @@ _mm_unpacklo_pd(__m128d __a, __m128d __b)
|
|
|
4812
4607
|
/// be extracted.
|
|
4813
4608
|
/// \returns The sign bits from each of the double-precision elements in \a __a,
|
|
4814
4609
|
/// written to bits [1:0]. The remaining bits are assigned values of zero.
|
|
4815
|
-
static __inline__ int __DEFAULT_FN_ATTRS
|
|
4816
|
-
_mm_movemask_pd(__m128d __a)
|
|
4817
|
-
{
|
|
4610
|
+
static __inline__ int __DEFAULT_FN_ATTRS _mm_movemask_pd(__m128d __a) {
|
|
4818
4611
|
return __builtin_ia32_movmskpd((__v2df)__a);
|
|
4819
4612
|
}
|
|
4820
4613
|
|
|
4821
|
-
|
|
4822
4614
|
/// Constructs a 128-bit floating-point vector of [2 x double] from two
|
|
4823
4615
|
/// 128-bit vector parameters of [2 x double], using the immediate-value
|
|
4824
4616
|
/// parameter as a specifier.
|
|
@@ -4842,10 +4634,13 @@ _mm_movemask_pd(__m128d __a)
|
|
|
4842
4634
|
/// Bit[0] = 1: upper element of \a a copied to lower element of result. \n
|
|
4843
4635
|
/// Bit[1] = 0: lower element of \a b copied to upper element of result. \n
|
|
4844
4636
|
/// Bit[1] = 1: upper element of \a b copied to upper element of result. \n
|
|
4637
|
+
/// Note: To generate a mask, you can use the \c _MM_SHUFFLE2 macro.
|
|
4638
|
+
/// <c>_MM_SHUFFLE2(b1, b0)</c> can create a 2-bit mask of the form
|
|
4639
|
+
/// <c>[b1, b0]</c>.
|
|
4845
4640
|
/// \returns A 128-bit vector of [2 x double] containing the shuffled values.
|
|
4846
|
-
#define _mm_shuffle_pd(a, b, i)
|
|
4847
|
-
(__m128d)__builtin_ia32_shufpd((__v2df)(__m128d)(a), (__v2df)(__m128d)(b),
|
|
4848
|
-
|
|
4641
|
+
#define _mm_shuffle_pd(a, b, i) \
|
|
4642
|
+
((__m128d)__builtin_ia32_shufpd((__v2df)(__m128d)(a), (__v2df)(__m128d)(b), \
|
|
4643
|
+
(int)(i)))
|
|
4849
4644
|
|
|
4850
4645
|
/// Casts a 128-bit floating-point vector of [2 x double] into a 128-bit
|
|
4851
4646
|
/// floating-point vector of [4 x float].
|
|
@@ -4858,9 +4653,7 @@ _mm_movemask_pd(__m128d __a)
|
|
|
4858
4653
|
/// A 128-bit floating-point vector of [2 x double].
|
|
4859
4654
|
/// \returns A 128-bit floating-point vector of [4 x float] containing the same
|
|
4860
4655
|
/// bitwise pattern as the parameter.
|
|
4861
|
-
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
|
4862
|
-
_mm_castpd_ps(__m128d __a)
|
|
4863
|
-
{
|
|
4656
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_castpd_ps(__m128d __a) {
|
|
4864
4657
|
return (__m128)__a;
|
|
4865
4658
|
}
|
|
4866
4659
|
|
|
@@ -4875,9 +4668,7 @@ _mm_castpd_ps(__m128d __a)
|
|
|
4875
4668
|
/// A 128-bit floating-point vector of [2 x double].
|
|
4876
4669
|
/// \returns A 128-bit integer vector containing the same bitwise pattern as the
|
|
4877
4670
|
/// parameter.
|
|
4878
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4879
|
-
_mm_castpd_si128(__m128d __a)
|
|
4880
|
-
{
|
|
4671
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_castpd_si128(__m128d __a) {
|
|
4881
4672
|
return (__m128i)__a;
|
|
4882
4673
|
}
|
|
4883
4674
|
|
|
@@ -4892,9 +4683,7 @@ _mm_castpd_si128(__m128d __a)
|
|
|
4892
4683
|
/// A 128-bit floating-point vector of [4 x float].
|
|
4893
4684
|
/// \returns A 128-bit floating-point vector of [2 x double] containing the same
|
|
4894
4685
|
/// bitwise pattern as the parameter.
|
|
4895
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
4896
|
-
_mm_castps_pd(__m128 __a)
|
|
4897
|
-
{
|
|
4686
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_castps_pd(__m128 __a) {
|
|
4898
4687
|
return (__m128d)__a;
|
|
4899
4688
|
}
|
|
4900
4689
|
|
|
@@ -4909,9 +4698,7 @@ _mm_castps_pd(__m128 __a)
|
|
|
4909
4698
|
/// A 128-bit floating-point vector of [4 x float].
|
|
4910
4699
|
/// \returns A 128-bit integer vector containing the same bitwise pattern as the
|
|
4911
4700
|
/// parameter.
|
|
4912
|
-
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
|
4913
|
-
_mm_castps_si128(__m128 __a)
|
|
4914
|
-
{
|
|
4701
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_castps_si128(__m128 __a) {
|
|
4915
4702
|
return (__m128i)__a;
|
|
4916
4703
|
}
|
|
4917
4704
|
|
|
@@ -4926,9 +4713,7 @@ _mm_castps_si128(__m128 __a)
|
|
|
4926
4713
|
/// A 128-bit integer vector.
|
|
4927
4714
|
/// \returns A 128-bit floating-point vector of [4 x float] containing the same
|
|
4928
4715
|
/// bitwise pattern as the parameter.
|
|
4929
|
-
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
|
4930
|
-
_mm_castsi128_ps(__m128i __a)
|
|
4931
|
-
{
|
|
4716
|
+
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_castsi128_ps(__m128i __a) {
|
|
4932
4717
|
return (__m128)__a;
|
|
4933
4718
|
}
|
|
4934
4719
|
|
|
@@ -4943,9 +4728,7 @@ _mm_castsi128_ps(__m128i __a)
|
|
|
4943
4728
|
/// A 128-bit integer vector.
|
|
4944
4729
|
/// \returns A 128-bit floating-point vector of [2 x double] containing the same
|
|
4945
4730
|
/// bitwise pattern as the parameter.
|
|
4946
|
-
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|
4947
|
-
_mm_castsi128_pd(__m128i __a)
|
|
4948
|
-
{
|
|
4731
|
+
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_castsi128_pd(__m128i __a) {
|
|
4949
4732
|
return (__m128d)__a;
|
|
4950
4733
|
}
|
|
4951
4734
|
|
|
@@ -4970,12 +4753,13 @@ void _mm_pause(void);
|
|
|
4970
4753
|
|
|
4971
4754
|
#define _MM_SHUFFLE2(x, y) (((x) << 1) | (y))
|
|
4972
4755
|
|
|
4973
|
-
#define _MM_DENORMALS_ZERO_ON
|
|
4974
|
-
#define _MM_DENORMALS_ZERO_OFF
|
|
4756
|
+
#define _MM_DENORMALS_ZERO_ON (0x0040U)
|
|
4757
|
+
#define _MM_DENORMALS_ZERO_OFF (0x0000U)
|
|
4975
4758
|
|
|
4976
4759
|
#define _MM_DENORMALS_ZERO_MASK (0x0040U)
|
|
4977
4760
|
|
|
4978
4761
|
#define _MM_GET_DENORMALS_ZERO_MODE() (_mm_getcsr() & _MM_DENORMALS_ZERO_MASK)
|
|
4979
|
-
#define _MM_SET_DENORMALS_ZERO_MODE(x)
|
|
4762
|
+
#define _MM_SET_DENORMALS_ZERO_MODE(x) \
|
|
4763
|
+
(_mm_setcsr((_mm_getcsr() & ~_MM_DENORMALS_ZERO_MASK) | (x)))
|
|
4980
4764
|
|
|
4981
4765
|
#endif /* __EMMINTRIN_H */
|