@cpp-linter/clang-tidy-linux-arm64 18.1.5 → 20.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/bin/clang-tidy +2 -2
- package/lib/clang/{18 → 20}/include/__clang_cuda_device_functions.h +14 -0
- package/lib/clang/{18 → 20}/include/__clang_cuda_intrinsics.h +1 -3
- package/lib/clang/{18 → 20}/include/__clang_cuda_math.h +5 -0
- package/lib/clang/{18 → 20}/include/__clang_hip_cmath.h +6 -1
- package/lib/clang/{18 → 20}/include/__clang_hip_math.h +5 -0
- package/lib/clang/20/include/__stdarg_header_macro.h +12 -0
- package/lib/clang/20/include/__stddef_header_macro.h +12 -0
- package/lib/clang/{18 → 20}/include/adcintrin.h +5 -0
- package/lib/clang/{18 → 20}/include/adxintrin.h +5 -0
- package/lib/clang/{18 → 20}/include/altivec.h +8 -8
- package/lib/clang/20/include/amdgpuintrin.h +194 -0
- package/lib/clang/20/include/amxavx512intrin.h +382 -0
- package/lib/clang/20/include/amxbf16transposeintrin.h +94 -0
- package/lib/clang/20/include/amxcomplextransposeintrin.h +303 -0
- package/lib/clang/{18 → 20}/include/amxfp16intrin.h +35 -0
- package/lib/clang/20/include/amxfp16transposeintrin.h +94 -0
- package/lib/clang/20/include/amxfp8intrin.h +230 -0
- package/lib/clang/{18 → 20}/include/amxintrin.h +5 -35
- package/lib/clang/20/include/amxmovrsintrin.h +48 -0
- package/lib/clang/20/include/amxmovrstransposeintrin.h +200 -0
- package/lib/clang/20/include/amxtf32intrin.h +108 -0
- package/lib/clang/20/include/amxtf32transposeintrin.h +105 -0
- package/lib/clang/20/include/amxtransposeintrin.h +248 -0
- package/lib/clang/{18 → 20}/include/arm_acle.h +49 -26
- package/lib/clang/{18 → 20}/include/arm_fp16.h +1 -1
- package/lib/clang/{18 → 20}/include/arm_neon.h +45631 -43745
- package/lib/clang/{18 → 20}/include/arm_sme.h +641 -6
- package/lib/clang/{18 → 20}/include/arm_sve.h +28311 -27738
- package/lib/clang/{18 → 20}/include/arm_vector_types.h +92 -5
- package/lib/clang/20/include/avx10_2_512bf16intrin.h +561 -0
- package/lib/clang/20/include/avx10_2_512convertintrin.h +320 -0
- package/lib/clang/20/include/avx10_2_512minmaxintrin.h +127 -0
- package/lib/clang/20/include/avx10_2_512niintrin.h +314 -0
- package/lib/clang/20/include/avx10_2_512satcvtdsintrin.h +303 -0
- package/lib/clang/20/include/avx10_2_512satcvtintrin.h +301 -0
- package/lib/clang/20/include/avx10_2bf16intrin.h +1085 -0
- package/lib/clang/20/include/avx10_2convertintrin.h +589 -0
- package/lib/clang/20/include/avx10_2copyintrin.h +66 -0
- package/lib/clang/20/include/avx10_2minmaxintrin.h +277 -0
- package/lib/clang/20/include/avx10_2niintrin.h +2075 -0
- package/lib/clang/20/include/avx10_2satcvtdsintrin.h +496 -0
- package/lib/clang/20/include/avx10_2satcvtintrin.h +444 -0
- package/lib/clang/{18 → 20}/include/avx2intrin.h +9 -0
- package/lib/clang/{18 → 20}/include/avx512bitalgintrin.h +2 -2
- package/lib/clang/{18 → 20}/include/avx512fintrin.h +22 -14
- package/lib/clang/{18 → 20}/include/avx512fp16intrin.h +38 -38
- package/lib/clang/{18 → 20}/include/avx512vlbitalgintrin.h +4 -4
- package/lib/clang/{18 → 20}/include/avx512vpopcntdqintrin.h +12 -4
- package/lib/clang/{18 → 20}/include/avx512vpopcntdqvlintrin.h +16 -8
- package/lib/clang/{18 → 20}/include/avxintrin.h +88 -60
- package/lib/clang/{18 → 20}/include/avxvnniint16intrin.h +36 -77
- package/lib/clang/{18 → 20}/include/avxvnniint8intrin.h +36 -77
- package/lib/clang/{18 → 20}/include/bmi2intrin.h +15 -17
- package/lib/clang/{18 → 20}/include/bmiintrin.h +33 -41
- package/lib/clang/{18 → 20}/include/builtins.h +3 -0
- package/lib/clang/{18 → 20}/include/cmpccxaddintrin.h +1 -1
- package/lib/clang/{18 → 20}/include/cpuid.h +35 -14
- package/lib/clang/{18 → 20}/include/cuda_wrappers/algorithm +1 -1
- package/lib/clang/{18 → 20}/include/cuda_wrappers/cmath +4 -0
- package/lib/clang/{18 → 20}/include/cuda_wrappers/new +2 -0
- package/lib/clang/{18 → 20}/include/emmintrin.h +442 -277
- package/lib/clang/{18 → 20}/include/float.h +28 -0
- package/lib/clang/{18 → 20}/include/fmaintrin.h +32 -16
- package/lib/clang/{18 → 20}/include/gfniintrin.h +32 -10
- package/lib/clang/20/include/gpuintrin.h +224 -0
- package/lib/clang/{18 → 20}/include/hexagon_types.h +8 -4
- package/lib/clang/{18 → 20}/include/hlsl/hlsl_basic_types.h +57 -4
- package/lib/clang/20/include/hlsl/hlsl_detail.h +84 -0
- package/lib/clang/20/include/hlsl/hlsl_intrinsics.h +2814 -0
- package/lib/clang/{18 → 20}/include/hlsl.h +11 -0
- package/lib/clang/{18 → 20}/include/hvx_hexagon_protos.h +427 -0
- package/lib/clang/{18 → 20}/include/ia32intrin.h +36 -36
- package/lib/clang/{18 → 20}/include/immintrin.h +171 -161
- package/lib/clang/{18 → 20}/include/intrin.h +62 -228
- package/lib/clang/20/include/intrin0.h +256 -0
- package/lib/clang/{18 → 20}/include/inttypes.h +4 -0
- package/lib/clang/{18 → 20}/include/iso646.h +4 -0
- package/lib/clang/{18 → 20}/include/keylockerintrin.h +5 -8
- package/lib/clang/{18 → 20}/include/larchintrin.h +22 -8
- package/lib/clang/{18 → 20}/include/lasxintrin.h +27 -25
- package/lib/clang/{18 → 20}/include/limits.h +12 -4
- package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/assert.h +1 -1
- package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/ctype.h +38 -0
- package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/stdlib.h +8 -0
- package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
- package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
- package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
- package/lib/clang/{18 → 20}/include/lsxintrin.h +27 -25
- package/lib/clang/{18 → 20}/include/lzcntintrin.h +10 -7
- package/lib/clang/20/include/mm3dnow.h +22 -0
- package/lib/clang/{18 → 20}/include/mmintrin.h +285 -239
- package/lib/clang/{18 → 20}/include/module.modulemap +16 -5
- package/lib/clang/20/include/movrs_avx10_2_512intrin.h +98 -0
- package/lib/clang/20/include/movrs_avx10_2intrin.h +174 -0
- package/lib/clang/20/include/movrsintrin.h +59 -0
- package/lib/clang/20/include/nvptxintrin.h +202 -0
- package/lib/clang/{18 → 20}/include/opencl-c-base.h +8 -0
- package/lib/clang/{18 → 20}/include/opencl-c.h +15 -0
- package/lib/clang/{18 → 20}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
- package/lib/clang/{18 → 20}/include/openmp_wrappers/complex_cmath.h +7 -2
- package/lib/clang/{18 → 20}/include/pmmintrin.h +16 -3
- package/lib/clang/{18 → 20}/include/popcntintrin.h +7 -7
- package/lib/clang/{18 → 20}/include/prfchwintrin.h +10 -8
- package/lib/clang/20/include/ptrauth.h +336 -0
- package/lib/clang/20/include/riscv_corev_alu.h +128 -0
- package/lib/clang/{18 → 20}/include/riscv_vector.h +0 -5
- package/lib/clang/20/include/sifive_vector.h +118 -0
- package/lib/clang/20/include/sm4evexintrin.h +32 -0
- package/lib/clang/{18 → 20}/include/smmintrin.h +18 -12
- package/lib/clang/{18 → 20}/include/stdarg.h +15 -19
- package/lib/clang/{18 → 20}/include/stdatomic.h +11 -1
- package/lib/clang/{18 → 20}/include/stdbool.h +5 -0
- package/lib/clang/{18 → 20}/include/stddef.h +38 -22
- package/lib/clang/{18 → 20}/include/stdint.h +5 -0
- package/lib/clang/{18 → 20}/include/stdnoreturn.h +6 -0
- package/lib/clang/{18 → 20}/include/tbmintrin.h +25 -37
- package/lib/clang/{18 → 20}/include/tmmintrin.h +84 -54
- package/lib/clang/{18 → 20}/include/varargs.h +5 -1
- package/lib/clang/{18 → 20}/include/vecintrin.h +1778 -60
- package/lib/clang/{18 → 20}/include/wasm_simd128.h +167 -21
- package/lib/clang/{18 → 20}/include/x86gprintrin.h +7 -14
- package/lib/clang/20/include/x86intrin.h +53 -0
- package/lib/clang/{18 → 20}/include/xmmintrin.h +455 -276
- package/lib/clang/20/include/yvals_core.h +25 -0
- package/lib/clang/20/include/zos_wrappers/builtins.h +18 -0
- package/package.json +6 -6
- package/lib/clang/18/include/avx512erintrin.h +0 -271
- package/lib/clang/18/include/avx512pfintrin.h +0 -92
- package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +0 -624
- package/lib/clang/18/include/mm3dnow.h +0 -157
- package/lib/clang/18/include/sifive_vector.h +0 -16
- package/lib/clang/18/include/x86intrin.h +0 -67
- /package/lib/clang/{18 → 20}/include/__clang_cuda_builtin_vars.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_cmath.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_complex_builtins.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_libdevice_declares.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_math_forward_declares.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_runtime_wrapper.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_cuda_texture_intrinsics.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_hip_libdevice_declares.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_hip_runtime_wrapper.h +0 -0
- /package/lib/clang/{18 → 20}/include/__clang_hip_stdlib.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stdarg___gnuc_va_list.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stdarg___va_copy.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stdarg_va_arg.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stdarg_va_copy.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stdarg_va_list.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_max_align_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_null.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_nullptr_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_offsetof.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_ptrdiff_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_rsize_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_size_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_unreachable.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_wchar_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__stddef_wint_t.h +0 -0
- /package/lib/clang/{18 → 20}/include/__wmmintrin_aes.h +0 -0
- /package/lib/clang/{18 → 20}/include/__wmmintrin_pclmul.h +0 -0
- /package/lib/clang/{18 → 20}/include/ammintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/amxcomplexintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm64intr.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm_bf16.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm_cde.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm_cmse.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm_mve.h +0 -0
- /package/lib/clang/{18 → 20}/include/arm_neon_sve_bridge.h +0 -0
- /package/lib/clang/{18 → 20}/include/armintr.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512bf16intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512bwintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512cdintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512dqintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512ifmaintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512ifmavlintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vbmi2intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vbmiintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vbmivlintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlbf16intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlbwintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlcdintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vldqintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlfp16intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlvbmi2intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlvnniintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vlvp2intersectintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vnniintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avx512vp2intersectintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avxifmaintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avxneconvertintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/avxvnniintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/cet.h +0 -0
- /package/lib/clang/{18 → 20}/include/cetintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/cldemoteintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/clflushoptintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/clwbintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/clzerointrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/crc32intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/basic_string.h +0 -0
- /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
- /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
- /package/lib/clang/{18 → 20}/include/cuda_wrappers/complex +0 -0
- /package/lib/clang/{18 → 20}/include/enqcmdintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/f16cintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/fma4intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/fxsrintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/hexagon_circ_brev_intrinsics.h +0 -0
- /package/lib/clang/{18 → 20}/include/hexagon_protos.h +0 -0
- /package/lib/clang/{18 → 20}/include/hresetintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/htmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/htmxlintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/invpcidintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/inttypes.h +0 -0
- /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/stdio.h +0 -0
- /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/string.h +0 -0
- /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/time.h +0 -0
- /package/lib/clang/{18 → 20}/include/lwpintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/mm_malloc.h +0 -0
- /package/lib/clang/{18 → 20}/include/movdirintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/msa.h +0 -0
- /package/lib/clang/{18 → 20}/include/mwaitxintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/nmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/openmp_wrappers/cmath +0 -0
- /package/lib/clang/{18 → 20}/include/openmp_wrappers/complex +0 -0
- /package/lib/clang/{18 → 20}/include/openmp_wrappers/complex.h +0 -0
- /package/lib/clang/{18 → 20}/include/openmp_wrappers/math.h +0 -0
- /package/lib/clang/{18 → 20}/include/openmp_wrappers/new +0 -0
- /package/lib/clang/{18 → 20}/include/pconfigintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/pkuintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/bmi2intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/bmiintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/emmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/immintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/mm_malloc.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/mmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/nmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/pmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/smmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/tmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/x86gprintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/x86intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ppc_wrappers/xmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/prfchiintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/ptwriteintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/raointintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/rdpruintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/rdseedintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/riscv_bitmanip.h +0 -0
- /package/lib/clang/{18 → 20}/include/riscv_crypto.h +0 -0
- /package/lib/clang/{18 → 20}/include/riscv_ntlh.h +0 -0
- /package/lib/clang/{18 → 20}/include/rtmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/s390intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/serializeintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/sgxintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/sha512intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/shaintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/sm3intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/sm4intrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/stdalign.h +0 -0
- /package/lib/clang/{18 → 20}/include/stdckdint.h +0 -0
- /package/lib/clang/{18 → 20}/include/tgmath.h +0 -0
- /package/lib/clang/{18 → 20}/include/tsxldtrkintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/uintrintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/unwind.h +0 -0
- /package/lib/clang/{18 → 20}/include/usermsrintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/vadefs.h +0 -0
- /package/lib/clang/{18 → 20}/include/vaesintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/velintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/velintrin_approx.h +0 -0
- /package/lib/clang/{18 → 20}/include/velintrin_gen.h +0 -0
- /package/lib/clang/{18 → 20}/include/vpclmulqdqintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/waitpkgintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/wbnoinvdintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/wmmintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xopintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xsavecintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xsaveintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xsaveoptintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xsavesintrin.h +0 -0
- /package/lib/clang/{18 → 20}/include/xtestintrin.h +0 -0
|
@@ -96,8 +96,8 @@ _mm512_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16 __h4,
|
|
|
96
96
|
(h5), (h4), (h3), (h2), (h1))
|
|
97
97
|
|
|
98
98
|
static __inline __m512h __DEFAULT_FN_ATTRS512
|
|
99
|
-
_mm512_set1_pch(_Float16 _Complex
|
|
100
|
-
return (__m512h)_mm512_set1_ps(__builtin_bit_cast(float,
|
|
99
|
+
_mm512_set1_pch(_Float16 _Complex __h) {
|
|
100
|
+
return (__m512h)_mm512_set1_ps(__builtin_bit_cast(float, __h));
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_castph_ps(__m128h __a) {
|
|
@@ -282,75 +282,75 @@ _mm512_zextph256_ph512(__m256h __a) {
|
|
|
282
282
|
#define _mm_comi_sh(A, B, pred) \
|
|
283
283
|
_mm_comi_round_sh((A), (B), (pred), _MM_FROUND_CUR_DIRECTION)
|
|
284
284
|
|
|
285
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comieq_sh(__m128h
|
|
286
|
-
__m128h
|
|
287
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
285
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comieq_sh(__m128h __A,
|
|
286
|
+
__m128h __B) {
|
|
287
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_EQ_OS,
|
|
288
288
|
_MM_FROUND_CUR_DIRECTION);
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comilt_sh(__m128h
|
|
292
|
-
__m128h
|
|
293
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
291
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comilt_sh(__m128h __A,
|
|
292
|
+
__m128h __B) {
|
|
293
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LT_OS,
|
|
294
294
|
_MM_FROUND_CUR_DIRECTION);
|
|
295
295
|
}
|
|
296
296
|
|
|
297
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comile_sh(__m128h
|
|
298
|
-
__m128h
|
|
299
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
297
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comile_sh(__m128h __A,
|
|
298
|
+
__m128h __B) {
|
|
299
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LE_OS,
|
|
300
300
|
_MM_FROUND_CUR_DIRECTION);
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comigt_sh(__m128h
|
|
304
|
-
__m128h
|
|
305
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
303
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comigt_sh(__m128h __A,
|
|
304
|
+
__m128h __B) {
|
|
305
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GT_OS,
|
|
306
306
|
_MM_FROUND_CUR_DIRECTION);
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comige_sh(__m128h
|
|
310
|
-
__m128h
|
|
311
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
309
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comige_sh(__m128h __A,
|
|
310
|
+
__m128h __B) {
|
|
311
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GE_OS,
|
|
312
312
|
_MM_FROUND_CUR_DIRECTION);
|
|
313
313
|
}
|
|
314
314
|
|
|
315
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comineq_sh(__m128h
|
|
316
|
-
__m128h
|
|
317
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
315
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comineq_sh(__m128h __A,
|
|
316
|
+
__m128h __B) {
|
|
317
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_NEQ_US,
|
|
318
318
|
_MM_FROUND_CUR_DIRECTION);
|
|
319
319
|
}
|
|
320
320
|
|
|
321
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomieq_sh(__m128h
|
|
322
|
-
__m128h
|
|
323
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
321
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomieq_sh(__m128h __A,
|
|
322
|
+
__m128h __B) {
|
|
323
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_EQ_OQ,
|
|
324
324
|
_MM_FROUND_CUR_DIRECTION);
|
|
325
325
|
}
|
|
326
326
|
|
|
327
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomilt_sh(__m128h
|
|
328
|
-
__m128h
|
|
329
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
327
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomilt_sh(__m128h __A,
|
|
328
|
+
__m128h __B) {
|
|
329
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LT_OQ,
|
|
330
330
|
_MM_FROUND_CUR_DIRECTION);
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomile_sh(__m128h
|
|
334
|
-
__m128h
|
|
335
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
333
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomile_sh(__m128h __A,
|
|
334
|
+
__m128h __B) {
|
|
335
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LE_OQ,
|
|
336
336
|
_MM_FROUND_CUR_DIRECTION);
|
|
337
337
|
}
|
|
338
338
|
|
|
339
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomigt_sh(__m128h
|
|
340
|
-
__m128h
|
|
341
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
339
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomigt_sh(__m128h __A,
|
|
340
|
+
__m128h __B) {
|
|
341
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GT_OQ,
|
|
342
342
|
_MM_FROUND_CUR_DIRECTION);
|
|
343
343
|
}
|
|
344
344
|
|
|
345
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomige_sh(__m128h
|
|
346
|
-
__m128h
|
|
347
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
345
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomige_sh(__m128h __A,
|
|
346
|
+
__m128h __B) {
|
|
347
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GE_OQ,
|
|
348
348
|
_MM_FROUND_CUR_DIRECTION);
|
|
349
349
|
}
|
|
350
350
|
|
|
351
|
-
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomineq_sh(__m128h
|
|
352
|
-
__m128h
|
|
353
|
-
return __builtin_ia32_vcomish((__v8hf)
|
|
351
|
+
static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomineq_sh(__m128h __A,
|
|
352
|
+
__m128h __B) {
|
|
353
|
+
return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_NEQ_UQ,
|
|
354
354
|
_MM_FROUND_CUR_DIRECTION);
|
|
355
355
|
}
|
|
356
356
|
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
28
28
|
_mm256_popcnt_epi16(__m256i __A)
|
|
29
29
|
{
|
|
30
|
-
return (__m256i)
|
|
30
|
+
return (__m256i)__builtin_elementwise_popcount((__v16hu)__A);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
@@ -49,7 +49,7 @@ _mm256_maskz_popcnt_epi16(__mmask16 __U, __m256i __B)
|
|
|
49
49
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
50
50
|
_mm_popcnt_epi16(__m128i __A)
|
|
51
51
|
{
|
|
52
|
-
return (__m128i)
|
|
52
|
+
return (__m128i)__builtin_elementwise_popcount((__v8hu)__A);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
@@ -71,7 +71,7 @@ _mm_maskz_popcnt_epi16(__mmask8 __U, __m128i __B)
|
|
|
71
71
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
72
72
|
_mm256_popcnt_epi8(__m256i __A)
|
|
73
73
|
{
|
|
74
|
-
return (__m256i)
|
|
74
|
+
return (__m256i)__builtin_elementwise_popcount((__v32qu)__A);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
@@ -93,7 +93,7 @@ _mm256_maskz_popcnt_epi8(__mmask32 __U, __m256i __B)
|
|
|
93
93
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
94
94
|
_mm_popcnt_epi8(__m128i __A)
|
|
95
95
|
{
|
|
96
|
-
return (__m128i)
|
|
96
|
+
return (__m128i)__builtin_elementwise_popcount((__v16qu)__A);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
@@ -21,8 +21,15 @@
|
|
|
21
21
|
__target__("avx512vpopcntdq,evex512"), \
|
|
22
22
|
__min_vector_width__(512)))
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
25
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
|
|
26
|
+
#else
|
|
27
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
31
|
+
_mm512_popcnt_epi64(__m512i __A) {
|
|
32
|
+
return (__m512i)__builtin_elementwise_popcount((__v8du)__A);
|
|
26
33
|
}
|
|
27
34
|
|
|
28
35
|
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
@@ -36,8 +43,9 @@ _mm512_maskz_popcnt_epi64(__mmask8 __U, __m512i __A) {
|
|
|
36
43
|
return _mm512_mask_popcnt_epi64((__m512i)_mm512_setzero_si512(), __U, __A);
|
|
37
44
|
}
|
|
38
45
|
|
|
39
|
-
static __inline__ __m512i
|
|
40
|
-
|
|
46
|
+
static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
47
|
+
_mm512_popcnt_epi32(__m512i __A) {
|
|
48
|
+
return (__m512i)__builtin_elementwise_popcount((__v16su)__A);
|
|
41
49
|
}
|
|
42
50
|
|
|
43
51
|
static __inline__ __m512i __DEFAULT_FN_ATTRS
|
|
@@ -25,9 +25,17 @@
|
|
|
25
25
|
__target__("avx512vpopcntdq,avx512vl,no-evex512"), \
|
|
26
26
|
__min_vector_width__(256)))
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
29
|
+
#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
|
|
30
|
+
#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
|
|
31
|
+
#else
|
|
32
|
+
#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
|
|
33
|
+
#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
29
37
|
_mm_popcnt_epi64(__m128i __A) {
|
|
30
|
-
return (__m128i)
|
|
38
|
+
return (__m128i)__builtin_elementwise_popcount((__v2du)__A);
|
|
31
39
|
}
|
|
32
40
|
|
|
33
41
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
@@ -41,9 +49,9 @@ _mm_maskz_popcnt_epi64(__mmask8 __U, __m128i __A) {
|
|
|
41
49
|
return _mm_mask_popcnt_epi64((__m128i)_mm_setzero_si128(), __U, __A);
|
|
42
50
|
}
|
|
43
51
|
|
|
44
|
-
static __inline__ __m128i
|
|
52
|
+
static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
45
53
|
_mm_popcnt_epi32(__m128i __A) {
|
|
46
|
-
return (__m128i)
|
|
54
|
+
return (__m128i)__builtin_elementwise_popcount((__v4su)__A);
|
|
47
55
|
}
|
|
48
56
|
|
|
49
57
|
static __inline__ __m128i __DEFAULT_FN_ATTRS128
|
|
@@ -57,9 +65,9 @@ _mm_maskz_popcnt_epi32(__mmask8 __U, __m128i __A) {
|
|
|
57
65
|
return _mm_mask_popcnt_epi32((__m128i)_mm_setzero_si128(), __U, __A);
|
|
58
66
|
}
|
|
59
67
|
|
|
60
|
-
static __inline__ __m256i
|
|
68
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
61
69
|
_mm256_popcnt_epi64(__m256i __A) {
|
|
62
|
-
return (__m256i)
|
|
70
|
+
return (__m256i)__builtin_elementwise_popcount((__v4du)__A);
|
|
63
71
|
}
|
|
64
72
|
|
|
65
73
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
@@ -73,9 +81,9 @@ _mm256_maskz_popcnt_epi64(__mmask8 __U, __m256i __A) {
|
|
|
73
81
|
return _mm256_mask_popcnt_epi64((__m256i)_mm256_setzero_si256(), __U, __A);
|
|
74
82
|
}
|
|
75
83
|
|
|
76
|
-
static __inline__ __m256i
|
|
84
|
+
static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
|
|
77
85
|
_mm256_popcnt_epi32(__m256i __A) {
|
|
78
|
-
return (__m256i)
|
|
86
|
+
return (__m256i)__builtin_elementwise_popcount((__v8su)__A);
|
|
79
87
|
}
|
|
80
88
|
|
|
81
89
|
static __inline__ __m256i __DEFAULT_FN_ATTRS256
|
|
@@ -50,12 +50,29 @@ typedef __bf16 __m256bh __attribute__((__vector_size__(32), __aligned__(32)));
|
|
|
50
50
|
#endif
|
|
51
51
|
|
|
52
52
|
/* Define the default attributes for the functions in this file. */
|
|
53
|
+
#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
|
|
53
54
|
#define __DEFAULT_FN_ATTRS \
|
|
54
55
|
__attribute__((__always_inline__, __nodebug__, __target__("avx,no-evex512"), \
|
|
55
56
|
__min_vector_width__(256)))
|
|
56
57
|
#define __DEFAULT_FN_ATTRS128 \
|
|
57
58
|
__attribute__((__always_inline__, __nodebug__, __target__("avx,no-evex512"), \
|
|
58
59
|
__min_vector_width__(128)))
|
|
60
|
+
#else
|
|
61
|
+
#define __DEFAULT_FN_ATTRS \
|
|
62
|
+
__attribute__((__always_inline__, __nodebug__, __target__("avx"), \
|
|
63
|
+
__min_vector_width__(256)))
|
|
64
|
+
#define __DEFAULT_FN_ATTRS128 \
|
|
65
|
+
__attribute__((__always_inline__, __nodebug__, __target__("avx"), \
|
|
66
|
+
__min_vector_width__(128)))
|
|
67
|
+
#endif
|
|
68
|
+
|
|
69
|
+
#if defined(__cplusplus) && (__cplusplus >= 201103L)
|
|
70
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
|
|
71
|
+
#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
|
|
72
|
+
#else
|
|
73
|
+
#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS128
|
|
74
|
+
#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS
|
|
75
|
+
#endif
|
|
59
76
|
|
|
60
77
|
/* Arithmetic */
|
|
61
78
|
/// Adds two 256-bit vectors of [4 x double].
|
|
@@ -207,6 +224,8 @@ _mm256_div_ps(__m256 __a, __m256 __b)
|
|
|
207
224
|
/// Compares two 256-bit vectors of [4 x double] and returns the greater
|
|
208
225
|
/// of each pair of values.
|
|
209
226
|
///
|
|
227
|
+
/// If either value in a comparison is NaN, returns the value from \a __b.
|
|
228
|
+
///
|
|
210
229
|
/// \headerfile <x86intrin.h>
|
|
211
230
|
///
|
|
212
231
|
/// This intrinsic corresponds to the <c> VMAXPD </c> instruction.
|
|
@@ -226,6 +245,8 @@ _mm256_max_pd(__m256d __a, __m256d __b)
|
|
|
226
245
|
/// Compares two 256-bit vectors of [8 x float] and returns the greater
|
|
227
246
|
/// of each pair of values.
|
|
228
247
|
///
|
|
248
|
+
/// If either value in a comparison is NaN, returns the value from \a __b.
|
|
249
|
+
///
|
|
229
250
|
/// \headerfile <x86intrin.h>
|
|
230
251
|
///
|
|
231
252
|
/// This intrinsic corresponds to the <c> VMAXPS </c> instruction.
|
|
@@ -245,6 +266,8 @@ _mm256_max_ps(__m256 __a, __m256 __b)
|
|
|
245
266
|
/// Compares two 256-bit vectors of [4 x double] and returns the lesser
|
|
246
267
|
/// of each pair of values.
|
|
247
268
|
///
|
|
269
|
+
/// If either value in a comparison is NaN, returns the value from \a __b.
|
|
270
|
+
///
|
|
248
271
|
/// \headerfile <x86intrin.h>
|
|
249
272
|
///
|
|
250
273
|
/// This intrinsic corresponds to the <c> VMINPD </c> instruction.
|
|
@@ -264,6 +287,8 @@ _mm256_min_pd(__m256d __a, __m256d __b)
|
|
|
264
287
|
/// Compares two 256-bit vectors of [8 x float] and returns the lesser
|
|
265
288
|
/// of each pair of values.
|
|
266
289
|
///
|
|
290
|
+
/// If either value in a comparison is NaN, returns the value from \a __b.
|
|
291
|
+
///
|
|
267
292
|
/// \headerfile <x86intrin.h>
|
|
268
293
|
///
|
|
269
294
|
/// This intrinsic corresponds to the <c> VMINPS </c> instruction.
|
|
@@ -832,6 +857,7 @@ _mm256_permutevar_pd(__m256d __a, __m256i __c)
|
|
|
832
857
|
|
|
833
858
|
/// Copies the values stored in a 128-bit vector of [4 x float] as
|
|
834
859
|
/// specified by the 128-bit integer vector operand.
|
|
860
|
+
///
|
|
835
861
|
/// \headerfile <x86intrin.h>
|
|
836
862
|
///
|
|
837
863
|
/// This intrinsic corresponds to the <c> VPERMILPS </c> instruction.
|
|
@@ -1574,14 +1600,6 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1574
1600
|
(__v4df)(__m256d)(b), (int)(mask)))
|
|
1575
1601
|
|
|
1576
1602
|
/* Compare */
|
|
1577
|
-
#define _CMP_EQ_OQ 0x00 /* Equal (ordered, non-signaling) */
|
|
1578
|
-
#define _CMP_LT_OS 0x01 /* Less-than (ordered, signaling) */
|
|
1579
|
-
#define _CMP_LE_OS 0x02 /* Less-than-or-equal (ordered, signaling) */
|
|
1580
|
-
#define _CMP_UNORD_Q 0x03 /* Unordered (non-signaling) */
|
|
1581
|
-
#define _CMP_NEQ_UQ 0x04 /* Not-equal (unordered, non-signaling) */
|
|
1582
|
-
#define _CMP_NLT_US 0x05 /* Not-less-than (unordered, signaling) */
|
|
1583
|
-
#define _CMP_NLE_US 0x06 /* Not-less-than-or-equal (unordered, signaling) */
|
|
1584
|
-
#define _CMP_ORD_Q 0x07 /* Ordered (non-signaling) */
|
|
1585
1603
|
#define _CMP_EQ_UQ 0x08 /* Equal (unordered, non-signaling) */
|
|
1586
1604
|
#define _CMP_NGE_US 0x09 /* Not-greater-than-or-equal (unordered, signaling) */
|
|
1587
1605
|
#define _CMP_NGT_US 0x0a /* Not-greater-than (unordered, signaling) */
|
|
@@ -1607,13 +1625,14 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1607
1625
|
#define _CMP_GT_OQ 0x1e /* Greater-than (ordered, non-signaling) */
|
|
1608
1626
|
#define _CMP_TRUE_US 0x1f /* True (unordered, signaling) */
|
|
1609
1627
|
|
|
1628
|
+
/* Below intrinsic defined in emmintrin.h can be used for AVX */
|
|
1610
1629
|
/// Compares each of the corresponding double-precision values of two
|
|
1611
1630
|
/// 128-bit vectors of [2 x double], using the operation specified by the
|
|
1612
1631
|
/// immediate integer operand.
|
|
1613
1632
|
///
|
|
1614
|
-
///
|
|
1615
|
-
///
|
|
1616
|
-
///
|
|
1633
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFFFFFFFFFF for true.
|
|
1634
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1635
|
+
/// return false, and comparisons that are unordered return true.
|
|
1617
1636
|
///
|
|
1618
1637
|
/// \headerfile <x86intrin.h>
|
|
1619
1638
|
///
|
|
@@ -1663,17 +1682,16 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1663
1682
|
/// 0x1E: Greater-than (ordered, non-signaling) \n
|
|
1664
1683
|
/// 0x1F: True (unordered, signaling)
|
|
1665
1684
|
/// \returns A 128-bit vector of [2 x double] containing the comparison results.
|
|
1666
|
-
|
|
1667
|
-
((__m128d)__builtin_ia32_cmppd((__v2df)(__m128d)(a), \
|
|
1668
|
-
(__v2df)(__m128d)(b), (c)))
|
|
1685
|
+
/// \fn __m128d _mm_cmp_pd(__m128d a, __m128d b, const int c)
|
|
1669
1686
|
|
|
1687
|
+
/* Below intrinsic defined in xmmintrin.h can be used for AVX */
|
|
1670
1688
|
/// Compares each of the corresponding values of two 128-bit vectors of
|
|
1671
1689
|
/// [4 x float], using the operation specified by the immediate integer
|
|
1672
1690
|
/// operand.
|
|
1673
1691
|
///
|
|
1674
|
-
///
|
|
1675
|
-
///
|
|
1676
|
-
///
|
|
1692
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFF for true.
|
|
1693
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1694
|
+
/// return false, and comparisons that are unordered return true.
|
|
1677
1695
|
///
|
|
1678
1696
|
/// \headerfile <x86intrin.h>
|
|
1679
1697
|
///
|
|
@@ -1723,17 +1741,15 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1723
1741
|
/// 0x1E: Greater-than (ordered, non-signaling) \n
|
|
1724
1742
|
/// 0x1F: True (unordered, signaling)
|
|
1725
1743
|
/// \returns A 128-bit vector of [4 x float] containing the comparison results.
|
|
1726
|
-
|
|
1727
|
-
((__m128)__builtin_ia32_cmpps((__v4sf)(__m128)(a), \
|
|
1728
|
-
(__v4sf)(__m128)(b), (c)))
|
|
1744
|
+
/// \fn __m128 _mm_cmp_ps(__m128 a, __m128 b, const int c)
|
|
1729
1745
|
|
|
1730
1746
|
/// Compares each of the corresponding double-precision values of two
|
|
1731
1747
|
/// 256-bit vectors of [4 x double], using the operation specified by the
|
|
1732
1748
|
/// immediate integer operand.
|
|
1733
1749
|
///
|
|
1734
|
-
///
|
|
1735
|
-
///
|
|
1736
|
-
///
|
|
1750
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFFFFFFFFFF for true.
|
|
1751
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1752
|
+
/// return false, and comparisons that are unordered return true.
|
|
1737
1753
|
///
|
|
1738
1754
|
/// \headerfile <x86intrin.h>
|
|
1739
1755
|
///
|
|
@@ -1791,9 +1807,9 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1791
1807
|
/// [8 x float], using the operation specified by the immediate integer
|
|
1792
1808
|
/// operand.
|
|
1793
1809
|
///
|
|
1794
|
-
///
|
|
1795
|
-
///
|
|
1796
|
-
///
|
|
1810
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFF for true.
|
|
1811
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1812
|
+
/// return false, and comparisons that are unordered return true.
|
|
1797
1813
|
///
|
|
1798
1814
|
/// \headerfile <x86intrin.h>
|
|
1799
1815
|
///
|
|
@@ -1847,12 +1863,14 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1847
1863
|
((__m256)__builtin_ia32_cmpps256((__v8sf)(__m256)(a), \
|
|
1848
1864
|
(__v8sf)(__m256)(b), (c)))
|
|
1849
1865
|
|
|
1866
|
+
/* Below intrinsic defined in emmintrin.h can be used for AVX */
|
|
1850
1867
|
/// Compares each of the corresponding scalar double-precision values of
|
|
1851
1868
|
/// two 128-bit vectors of [2 x double], using the operation specified by the
|
|
1852
1869
|
/// immediate integer operand.
|
|
1853
1870
|
///
|
|
1854
|
-
///
|
|
1855
|
-
///
|
|
1871
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFFFFFFFFFF for true.
|
|
1872
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1873
|
+
/// return false, and comparisons that are unordered return true.
|
|
1856
1874
|
///
|
|
1857
1875
|
/// \headerfile <x86intrin.h>
|
|
1858
1876
|
///
|
|
@@ -1902,16 +1920,16 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1902
1920
|
/// 0x1E: Greater-than (ordered, non-signaling) \n
|
|
1903
1921
|
/// 0x1F: True (unordered, signaling)
|
|
1904
1922
|
/// \returns A 128-bit vector of [2 x double] containing the comparison results.
|
|
1905
|
-
|
|
1906
|
-
((__m128d)__builtin_ia32_cmpsd((__v2df)(__m128d)(a), \
|
|
1907
|
-
(__v2df)(__m128d)(b), (c)))
|
|
1923
|
+
/// \fn __m128d _mm_cmp_sd(__m128d a, __m128d b, const int c)
|
|
1908
1924
|
|
|
1925
|
+
/* Below intrinsic defined in xmmintrin.h can be used for AVX */
|
|
1909
1926
|
/// Compares each of the corresponding scalar values of two 128-bit
|
|
1910
1927
|
/// vectors of [4 x float], using the operation specified by the immediate
|
|
1911
1928
|
/// integer operand.
|
|
1912
1929
|
///
|
|
1913
|
-
///
|
|
1914
|
-
///
|
|
1930
|
+
/// Each comparison returns 0x0 for false, 0xFFFFFFFF for true.
|
|
1931
|
+
/// If either value in a comparison is NaN, comparisons that are ordered
|
|
1932
|
+
/// return false, and comparisons that are unordered return true.
|
|
1915
1933
|
///
|
|
1916
1934
|
/// \headerfile <x86intrin.h>
|
|
1917
1935
|
///
|
|
@@ -1961,9 +1979,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
|
|
|
1961
1979
|
/// 0x1E: Greater-than (ordered, non-signaling) \n
|
|
1962
1980
|
/// 0x1F: True (unordered, signaling)
|
|
1963
1981
|
/// \returns A 128-bit vector of [4 x float] containing the comparison results.
|
|
1964
|
-
|
|
1965
|
-
((__m128)__builtin_ia32_cmpss((__v4sf)(__m128)(a), \
|
|
1966
|
-
(__v4sf)(__m128)(b), (c)))
|
|
1982
|
+
/// \fn __m128 _mm_cmp_ss(__m128 a, __m128 b, const int c)
|
|
1967
1983
|
|
|
1968
1984
|
/// Takes a [8 x i32] vector and returns the vector element value
|
|
1969
1985
|
/// indexed by the immediate constant operand.
|
|
@@ -2213,6 +2229,10 @@ _mm256_cvtpd_ps(__m256d __a)
|
|
|
2213
2229
|
|
|
2214
2230
|
/// Converts a vector of [8 x float] into a vector of [8 x i32].
|
|
2215
2231
|
///
|
|
2232
|
+
/// If a converted value does not fit in a 32-bit integer, raises a
|
|
2233
|
+
/// floating-point invalid exception. If the exception is masked, returns
|
|
2234
|
+
/// the most negative integer.
|
|
2235
|
+
///
|
|
2216
2236
|
/// \headerfile <x86intrin.h>
|
|
2217
2237
|
///
|
|
2218
2238
|
/// This intrinsic corresponds to the <c> VCVTPS2DQ </c> instruction.
|
|
@@ -2242,9 +2262,13 @@ _mm256_cvtps_pd(__m128 __a)
|
|
|
2242
2262
|
return (__m256d)__builtin_convertvector((__v4sf)__a, __v4df);
|
|
2243
2263
|
}
|
|
2244
2264
|
|
|
2245
|
-
/// Converts a 256-bit vector of [4 x double] into
|
|
2246
|
-
///
|
|
2247
|
-
///
|
|
2265
|
+
/// Converts a 256-bit vector of [4 x double] into four signed truncated
|
|
2266
|
+
/// (rounded toward zero) 32-bit integers returned in a 128-bit vector of
|
|
2267
|
+
/// [4 x i32].
|
|
2268
|
+
///
|
|
2269
|
+
/// If a converted value does not fit in a 32-bit integer, raises a
|
|
2270
|
+
/// floating-point invalid exception. If the exception is masked, returns
|
|
2271
|
+
/// the most negative integer.
|
|
2248
2272
|
///
|
|
2249
2273
|
/// \headerfile <x86intrin.h>
|
|
2250
2274
|
///
|
|
@@ -2259,9 +2283,12 @@ _mm256_cvttpd_epi32(__m256d __a)
|
|
|
2259
2283
|
return (__m128i)__builtin_ia32_cvttpd2dq256((__v4df) __a);
|
|
2260
2284
|
}
|
|
2261
2285
|
|
|
2262
|
-
/// Converts a 256-bit vector of [4 x double] into a 128-bit vector of
|
|
2263
|
-
/// x i32].
|
|
2264
|
-
///
|
|
2286
|
+
/// Converts a 256-bit vector of [4 x double] into a 128-bit vector of
|
|
2287
|
+
/// [4 x i32].
|
|
2288
|
+
///
|
|
2289
|
+
/// If a converted value does not fit in a 32-bit integer, raises a
|
|
2290
|
+
/// floating-point invalid exception. If the exception is masked, returns
|
|
2291
|
+
/// the most negative integer.
|
|
2265
2292
|
///
|
|
2266
2293
|
/// \headerfile <x86intrin.h>
|
|
2267
2294
|
///
|
|
@@ -2276,8 +2303,12 @@ _mm256_cvtpd_epi32(__m256d __a)
|
|
|
2276
2303
|
return (__m128i)__builtin_ia32_cvtpd2dq256((__v4df) __a);
|
|
2277
2304
|
}
|
|
2278
2305
|
|
|
2279
|
-
/// Converts a vector of [8 x float] into
|
|
2280
|
-
///
|
|
2306
|
+
/// Converts a vector of [8 x float] into eight signed truncated (rounded
|
|
2307
|
+
/// toward zero) 32-bit integers returned in a vector of [8 x i32].
|
|
2308
|
+
///
|
|
2309
|
+
/// If a converted value does not fit in a 32-bit integer, raises a
|
|
2310
|
+
/// floating-point invalid exception. If the exception is masked, returns
|
|
2311
|
+
/// the most negative integer.
|
|
2281
2312
|
///
|
|
2282
2313
|
/// \headerfile <x86intrin.h>
|
|
2283
2314
|
///
|
|
@@ -3675,7 +3706,7 @@ _mm256_undefined_si256(void)
|
|
|
3675
3706
|
/// A double-precision floating-point value used to initialize bits [63:0]
|
|
3676
3707
|
/// of the result.
|
|
3677
3708
|
/// \returns An initialized 256-bit floating-point vector of [4 x double].
|
|
3678
|
-
static __inline __m256d
|
|
3709
|
+
static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
3679
3710
|
_mm256_set_pd(double __a, double __b, double __c, double __d)
|
|
3680
3711
|
{
|
|
3681
3712
|
return __extension__ (__m256d){ __d, __c, __b, __a };
|
|
@@ -3714,7 +3745,7 @@ _mm256_set_pd(double __a, double __b, double __c, double __d)
|
|
|
3714
3745
|
/// A single-precision floating-point value used to initialize bits [31:0]
|
|
3715
3746
|
/// of the result.
|
|
3716
3747
|
/// \returns An initialized 256-bit floating-point vector of [8 x float].
|
|
3717
|
-
static __inline __m256
|
|
3748
|
+
static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
3718
3749
|
_mm256_set_ps(float __a, float __b, float __c, float __d,
|
|
3719
3750
|
float __e, float __f, float __g, float __h)
|
|
3720
3751
|
{
|
|
@@ -3941,7 +3972,7 @@ _mm256_set_epi64x(long long __a, long long __b, long long __c, long long __d)
|
|
|
3941
3972
|
/// A double-precision floating-point value used to initialize bits [255:192]
|
|
3942
3973
|
/// of the result.
|
|
3943
3974
|
/// \returns An initialized 256-bit floating-point vector of [4 x double].
|
|
3944
|
-
static __inline __m256d
|
|
3975
|
+
static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
3945
3976
|
_mm256_setr_pd(double __a, double __b, double __c, double __d)
|
|
3946
3977
|
{
|
|
3947
3978
|
return _mm256_set_pd(__d, __c, __b, __a);
|
|
@@ -3981,7 +4012,7 @@ _mm256_setr_pd(double __a, double __b, double __c, double __d)
|
|
|
3981
4012
|
/// A single-precision floating-point value used to initialize bits [255:224]
|
|
3982
4013
|
/// of the result.
|
|
3983
4014
|
/// \returns An initialized 256-bit floating-point vector of [8 x float].
|
|
3984
|
-
static __inline __m256
|
|
4015
|
+
static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
3985
4016
|
_mm256_setr_ps(float __a, float __b, float __c, float __d,
|
|
3986
4017
|
float __e, float __f, float __g, float __h)
|
|
3987
4018
|
{
|
|
@@ -4198,7 +4229,7 @@ _mm256_setr_epi64x(long long __a, long long __b, long long __c, long long __d)
|
|
|
4198
4229
|
/// A double-precision floating-point value used to initialize each vector
|
|
4199
4230
|
/// element of the result.
|
|
4200
4231
|
/// \returns An initialized 256-bit floating-point vector of [4 x double].
|
|
4201
|
-
static __inline __m256d
|
|
4232
|
+
static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
4202
4233
|
_mm256_set1_pd(double __w)
|
|
4203
4234
|
{
|
|
4204
4235
|
return _mm256_set_pd(__w, __w, __w, __w);
|
|
@@ -4217,7 +4248,7 @@ _mm256_set1_pd(double __w)
|
|
|
4217
4248
|
/// A single-precision floating-point value used to initialize each vector
|
|
4218
4249
|
/// element of the result.
|
|
4219
4250
|
/// \returns An initialized 256-bit floating-point vector of [8 x float].
|
|
4220
|
-
static __inline __m256
|
|
4251
|
+
static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
4221
4252
|
_mm256_set1_ps(float __w)
|
|
4222
4253
|
{
|
|
4223
4254
|
return _mm256_set_ps(__w, __w, __w, __w, __w, __w, __w, __w);
|
|
@@ -4308,10 +4339,8 @@ _mm256_set1_epi64x(long long __q)
|
|
|
4308
4339
|
/// This intrinsic corresponds to the <c> VXORPS </c> instruction.
|
|
4309
4340
|
///
|
|
4310
4341
|
/// \returns A 256-bit vector of [4 x double] with all elements set to zero.
|
|
4311
|
-
static __inline __m256d
|
|
4312
|
-
|
|
4313
|
-
{
|
|
4314
|
-
return __extension__ (__m256d){ 0.0, 0.0, 0.0, 0.0 };
|
|
4342
|
+
static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_setzero_pd(void) {
|
|
4343
|
+
return __extension__(__m256d){0.0, 0.0, 0.0, 0.0};
|
|
4315
4344
|
}
|
|
4316
4345
|
|
|
4317
4346
|
/// Constructs a 256-bit floating-point vector of [8 x float] with all
|
|
@@ -4322,9 +4351,7 @@ _mm256_setzero_pd(void)
|
|
|
4322
4351
|
/// This intrinsic corresponds to the <c> VXORPS </c> instruction.
|
|
4323
4352
|
///
|
|
4324
4353
|
/// \returns A 256-bit vector of [8 x float] with all elements set to zero.
|
|
4325
|
-
static __inline __m256
|
|
4326
|
-
_mm256_setzero_ps(void)
|
|
4327
|
-
{
|
|
4354
|
+
static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_setzero_ps(void) {
|
|
4328
4355
|
return __extension__ (__m256){ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
|
|
4329
4356
|
}
|
|
4330
4357
|
|
|
@@ -4335,9 +4362,8 @@ _mm256_setzero_ps(void)
|
|
|
4335
4362
|
/// This intrinsic corresponds to the <c> VXORPS </c> instruction.
|
|
4336
4363
|
///
|
|
4337
4364
|
/// \returns A 256-bit integer vector initialized to zero.
|
|
4338
|
-
static __inline __m256i
|
|
4339
|
-
_mm256_setzero_si256(void)
|
|
4340
|
-
{
|
|
4365
|
+
static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
4366
|
+
_mm256_setzero_si256(void) {
|
|
4341
4367
|
return __extension__ (__m256i)(__v4di){ 0, 0, 0, 0 };
|
|
4342
4368
|
}
|
|
4343
4369
|
|
|
@@ -5107,6 +5133,8 @@ _mm256_storeu2_m128i(__m128i_u *__addr_hi, __m128i_u *__addr_lo, __m256i __a)
|
|
|
5107
5133
|
}
|
|
5108
5134
|
|
|
5109
5135
|
#undef __DEFAULT_FN_ATTRS
|
|
5136
|
+
#undef __DEFAULT_FN_ATTRS_CONSTEXPR
|
|
5110
5137
|
#undef __DEFAULT_FN_ATTRS128
|
|
5138
|
+
#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
|
|
5111
5139
|
|
|
5112
5140
|
#endif /* __AVXINTRIN_H */
|