simde/0.7.6

Implementations of SIMD instruction sets for systems which don't natively support them.
Recipe info
2023-10-10

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
simde/0.7.6

Using simde

Note

If you are new with Conan, we recommend to read the section how to consume packages.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
simde/0.7.6
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("simde/0.7.6")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): simde
  • CMake target name(s): simde::simde
  • pkg-config file name(s): SIMDe.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(simde REQUIRED)
# ...
target_link_libraries(YOUR_TARGET simde::simde)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the simde homepage listed above:

#include "simde/arm/neon.h"
#include "simde/arm/neon/aba.h"
#include "simde/arm/neon/abd.h"
#include "simde/arm/neon/abdl.h"
#include "simde/arm/neon/abs.h"
#include "simde/arm/neon/add.h"
#include "simde/arm/neon/addhn.h"
#include "simde/arm/neon/addl.h"
#include "simde/arm/neon/addl_high.h"
#include "simde/arm/neon/addlv.h"
#include "simde/arm/neon/addv.h"
#include "simde/arm/neon/addw.h"
#include "simde/arm/neon/addw_high.h"
#include "simde/arm/neon/and.h"
#include "simde/arm/neon/bcax.h"
#include "simde/arm/neon/bic.h"
#include "simde/arm/neon/bsl.h"
#include "simde/arm/neon/cage.h"
#include "simde/arm/neon/cagt.h"
#include "simde/arm/neon/ceq.h"
#include "simde/arm/neon/ceqz.h"
#include "simde/arm/neon/cge.h"
#include "simde/arm/neon/cgez.h"
#include "simde/arm/neon/cgt.h"
#include "simde/arm/neon/cgtz.h"
#include "simde/arm/neon/cle.h"
#include "simde/arm/neon/clez.h"
#include "simde/arm/neon/cls.h"
#include "simde/arm/neon/clt.h"
#include "simde/arm/neon/cltz.h"
#include "simde/arm/neon/clz.h"
#include "simde/arm/neon/cmla.h"
#include "simde/arm/neon/cmla_rot180.h"
#include "simde/arm/neon/cmla_rot270.h"
#include "simde/arm/neon/cmla_rot90.h"
#include "simde/arm/neon/cnt.h"
#include "simde/arm/neon/combine.h"
#include "simde/arm/neon/create.h"
#include "simde/arm/neon/cvt.h"
#include "simde/arm/neon/cvtn.h"
#include "simde/arm/neon/dot.h"
#include "simde/arm/neon/dot_lane.h"
#include "simde/arm/neon/dup_lane.h"
#include "simde/arm/neon/dup_n.h"
#include "simde/arm/neon/eor.h"
#include "simde/arm/neon/ext.h"
#include "simde/arm/neon/fma.h"
#include "simde/arm/neon/fma_lane.h"
#include "simde/arm/neon/fma_n.h"
#include "simde/arm/neon/get_high.h"
#include "simde/arm/neon/get_lane.h"
#include "simde/arm/neon/get_low.h"
#include "simde/arm/neon/hadd.h"
#include "simde/arm/neon/hsub.h"
#include "simde/arm/neon/ld1.h"
#include "simde/arm/neon/ld1_dup.h"
#include "simde/arm/neon/ld1_lane.h"
#include "simde/arm/neon/ld1_x2.h"
#include "simde/arm/neon/ld1_x3.h"
#include "simde/arm/neon/ld1_x4.h"
#include "simde/arm/neon/ld1q_x2.h"
#include "simde/arm/neon/ld1q_x3.h"
#include "simde/arm/neon/ld1q_x4.h"
#include "simde/arm/neon/ld2.h"
#include "simde/arm/neon/ld3.h"
#include "simde/arm/neon/ld4.h"
#include "simde/arm/neon/ld4_lane.h"
#include "simde/arm/neon/max.h"
#include "simde/arm/neon/maxnm.h"
#include "simde/arm/neon/maxv.h"
#include "simde/arm/neon/min.h"
#include "simde/arm/neon/minnm.h"
#include "simde/arm/neon/minv.h"
#include "simde/arm/neon/mla.h"
#include "simde/arm/neon/mla_lane.h"
#include "simde/arm/neon/mla_n.h"
#include "simde/arm/neon/mlal.h"
#include "simde/arm/neon/mlal_high.h"
#include "simde/arm/neon/mlal_high_n.h"
#include "simde/arm/neon/mlal_lane.h"
#include "simde/arm/neon/mlal_n.h"
#include "simde/arm/neon/mls.h"
#include "simde/arm/neon/mls_n.h"
#include "simde/arm/neon/mlsl.h"
#include "simde/arm/neon/mlsl_high.h"
#include "simde/arm/neon/mlsl_high_n.h"
#include "simde/arm/neon/mlsl_lane.h"
#include "simde/arm/neon/mlsl_n.h"
#include "simde/arm/neon/movl.h"
#include "simde/arm/neon/movl_high.h"
#include "simde/arm/neon/movn.h"
#include "simde/arm/neon/movn_high.h"
#include "simde/arm/neon/mul.h"
#include "simde/arm/neon/mul_lane.h"
#include "simde/arm/neon/mul_n.h"
#include "simde/arm/neon/mull.h"
#include "simde/arm/neon/mull_high.h"
#include "simde/arm/neon/mull_lane.h"
#include "simde/arm/neon/mull_n.h"
#include "simde/arm/neon/mvn.h"
#include "simde/arm/neon/neg.h"
#include "simde/arm/neon/orn.h"
#include "simde/arm/neon/orr.h"
#include "simde/arm/neon/padal.h"
#include "simde/arm/neon/padd.h"
#include "simde/arm/neon/paddl.h"
#include "simde/arm/neon/pmax.h"
#include "simde/arm/neon/pmin.h"
#include "simde/arm/neon/qabs.h"
#include "simde/arm/neon/qadd.h"
#include "simde/arm/neon/qdmulh.h"
#include "simde/arm/neon/qdmulh_lane.h"
#include "simde/arm/neon/qdmulh_n.h"
#include "simde/arm/neon/qdmull.h"
#include "simde/arm/neon/qmovn.h"
#include "simde/arm/neon/qmovn_high.h"
#include "simde/arm/neon/qmovun.h"
#include "simde/arm/neon/qneg.h"
#include "simde/arm/neon/qrdmulh.h"
#include "simde/arm/neon/qrdmulh_lane.h"
#include "simde/arm/neon/qrdmulh_n.h"
#include "simde/arm/neon/qrshrn_n.h"
#include "simde/arm/neon/qrshrun_n.h"
#include "simde/arm/neon/qshl.h"
#include "simde/arm/neon/qshlu_n.h"
#include "simde/arm/neon/qshrn_n.h"
#include "simde/arm/neon/qshrun_n.h"
#include "simde/arm/neon/qsub.h"
#include "simde/arm/neon/qtbl.h"
#include "simde/arm/neon/qtbx.h"
#include "simde/arm/neon/rbit.h"
#include "simde/arm/neon/recpe.h"
#include "simde/arm/neon/recps.h"
#include "simde/arm/neon/reinterpret.h"
#include "simde/arm/neon/rev16.h"
#include "simde/arm/neon/rev32.h"
#include "simde/arm/neon/rev64.h"
#include "simde/arm/neon/rhadd.h"
#include "simde/arm/neon/rnd.h"
#include "simde/arm/neon/rndi.h"
#include "simde/arm/neon/rndm.h"
#include "simde/arm/neon/rndn.h"
#include "simde/arm/neon/rndp.h"
#include "simde/arm/neon/rshl.h"
#include "simde/arm/neon/rshr_n.h"
#include "simde/arm/neon/rshrn_n.h"
#include "simde/arm/neon/rsqrte.h"
#include "simde/arm/neon/rsqrts.h"
#include "simde/arm/neon/rsra_n.h"
#include "simde/arm/neon/set_lane.h"
#include "simde/arm/neon/shl.h"
#include "simde/arm/neon/shl_n.h"
#include "simde/arm/neon/shll_n.h"
#include "simde/arm/neon/shr_n.h"
#include "simde/arm/neon/shrn_n.h"
#include "simde/arm/neon/sqadd.h"
#include "simde/arm/neon/sra_n.h"
#include "simde/arm/neon/sri_n.h"
#include "simde/arm/neon/st1.h"
#include "simde/arm/neon/st1_lane.h"
#include "simde/arm/neon/st2.h"
#include "simde/arm/neon/st2_lane.h"
#include "simde/arm/neon/st3.h"
#include "simde/arm/neon/st3_lane.h"
#include "simde/arm/neon/st4.h"
#include "simde/arm/neon/st4_lane.h"
#include "simde/arm/neon/sub.h"
#include "simde/arm/neon/subhn.h"
#include "simde/arm/neon/subl.h"
#include "simde/arm/neon/subl_high.h"
#include "simde/arm/neon/subw.h"
#include "simde/arm/neon/subw_high.h"
#include "simde/arm/neon/tbl.h"
#include "simde/arm/neon/tbx.h"
#include "simde/arm/neon/trn.h"
#include "simde/arm/neon/trn1.h"
#include "simde/arm/neon/trn2.h"
#include "simde/arm/neon/tst.h"
#include "simde/arm/neon/types.h"
#include "simde/arm/neon/uqadd.h"
#include "simde/arm/neon/uzp.h"
#include "simde/arm/neon/uzp1.h"
#include "simde/arm/neon/uzp2.h"
#include "simde/arm/neon/xar.h"
#include "simde/arm/neon/zip.h"
#include "simde/arm/neon/zip1.h"
#include "simde/arm/neon/zip2.h"
#include "simde/arm/sve.h"
#include "simde/arm/sve/add.h"
#include "simde/arm/sve/and.h"
#include "simde/arm/sve/cmplt.h"
#include "simde/arm/sve/cnt.h"
#include "simde/arm/sve/dup.h"
#include "simde/arm/sve/ld1.h"
#include "simde/arm/sve/ptest.h"
#include "simde/arm/sve/ptrue.h"
#include "simde/arm/sve/qadd.h"
#include "simde/arm/sve/reinterpret.h"
#include "simde/arm/sve/sel.h"
#include "simde/arm/sve/st1.h"
#include "simde/arm/sve/sub.h"
#include "simde/arm/sve/types.h"
#include "simde/arm/sve/whilelt.h"
#include "simde/check.h"
#include "simde/debug-trap.h"
#include "simde/hedley.h"
#include "simde/mips/msa.h"
#include "simde/mips/msa/add_a.h"
#include "simde/mips/msa/adds.h"
#include "simde/mips/msa/adds_a.h"
#include "simde/mips/msa/addv.h"
#include "simde/mips/msa/addvi.h"
#include "simde/mips/msa/and.h"
#include "simde/mips/msa/andi.h"
#include "simde/mips/msa/ld.h"
#include "simde/mips/msa/madd.h"
#include "simde/mips/msa/st.h"
#include "simde/mips/msa/subv.h"
#include "simde/mips/msa/types.h"
#include "simde/simde-align.h"
#include "simde/simde-arch.h"
#include "simde/simde-common.h"
#include "simde/simde-complex.h"
#include "simde/simde-constify.h"
#include "simde/simde-detect-clang.h"
#include "simde/simde-diagnostic.h"
#include "simde/simde-f16.h"
#include "simde/simde-features.h"
#include "simde/simde-math.h"
#include "simde/wasm/relaxed-simd.h"
#include "simde/wasm/simd128.h"
#include "simde/x86/avx.h"
#include "simde/x86/avx2.h"
#include "simde/x86/avx512.h"
#include "simde/x86/avx512/2intersect.h"
#include "simde/x86/avx512/4dpwssd.h"
#include "simde/x86/avx512/4dpwssds.h"
#include "simde/x86/avx512/abs.h"
#include "simde/x86/avx512/add.h"
#include "simde/x86/avx512/adds.h"
#include "simde/x86/avx512/and.h"
#include "simde/x86/avx512/andnot.h"
#include "simde/x86/avx512/avg.h"
#include "simde/x86/avx512/bitshuffle.h"
#include "simde/x86/avx512/blend.h"
#include "simde/x86/avx512/broadcast.h"
#include "simde/x86/avx512/cast.h"
#include "simde/x86/avx512/cmp.h"
#include "simde/x86/avx512/cmpeq.h"
#include "simde/x86/avx512/cmpge.h"
#include "simde/x86/avx512/cmpgt.h"
#include "simde/x86/avx512/cmple.h"
#include "simde/x86/avx512/cmplt.h"
#include "simde/x86/avx512/cmpneq.h"
#include "simde/x86/avx512/compress.h"
#include "simde/x86/avx512/conflict.h"
#include "simde/x86/avx512/copysign.h"
#include "simde/x86/avx512/cvt.h"
#include "simde/x86/avx512/cvts.h"
#include "simde/x86/avx512/cvtt.h"
#include "simde/x86/avx512/dbsad.h"
#include "simde/x86/avx512/div.h"
#include "simde/x86/avx512/dpbf16.h"
#include "simde/x86/avx512/dpbusd.h"
#include "simde/x86/avx512/dpbusds.h"
#include "simde/x86/avx512/dpwssd.h"
#include "simde/x86/avx512/dpwssds.h"
#include "simde/x86/avx512/expand.h"
#include "simde/x86/avx512/extract.h"
#include "simde/x86/avx512/fixupimm.h"
#include "simde/x86/avx512/fixupimm_round.h"
#include "simde/x86/avx512/flushsubnormal.h"
#include "simde/x86/avx512/fmadd.h"
#include "simde/x86/avx512/fmsub.h"
#include "simde/x86/avx512/fnmadd.h"
#include "simde/x86/avx512/fnmsub.h"
#include "simde/x86/avx512/insert.h"
#include "simde/x86/avx512/knot.h"
#include "simde/x86/avx512/kshift.h"
#include "simde/x86/avx512/kxor.h"
#include "simde/x86/avx512/load.h"
#include "simde/x86/avx512/loadu.h"
#include "simde/x86/avx512/lzcnt.h"
#include "simde/x86/avx512/madd.h"
#include "simde/x86/avx512/maddubs.h"
#include "simde/x86/avx512/max.h"
#include "simde/x86/avx512/min.h"
#include "simde/x86/avx512/mov.h"
#include "simde/x86/avx512/mov_mask.h"
#include "simde/x86/avx512/movm.h"
#include "simde/x86/avx512/mul.h"
#include "simde/x86/avx512/mulhi.h"
#include "simde/x86/avx512/mulhrs.h"
#include "simde/x86/avx512/mullo.h"
#include "simde/x86/avx512/multishift.h"
#include "simde/x86/avx512/negate.h"
#include "simde/x86/avx512/or.h"
#include "simde/x86/avx512/packs.h"
#include "simde/x86/avx512/packus.h"
#include "simde/x86/avx512/permutex2var.h"
#include "simde/x86/avx512/permutexvar.h"
#include "simde/x86/avx512/popcnt.h"
#include "simde/x86/avx512/range.h"
#include "simde/x86/avx512/range_round.h"
#include "simde/x86/avx512/rol.h"
#include "simde/x86/avx512/rolv.h"
#include "simde/x86/avx512/ror.h"
#include "simde/x86/avx512/rorv.h"
#include "simde/x86/avx512/round.h"
#include "simde/x86/avx512/roundscale.h"
#include "simde/x86/avx512/roundscale_round.h"
#include "simde/x86/avx512/sad.h"
#include "simde/x86/avx512/scalef.h"
#include "simde/x86/avx512/set.h"
#include "simde/x86/avx512/set1.h"
#include "simde/x86/avx512/set4.h"
#include "simde/x86/avx512/setone.h"
#include "simde/x86/avx512/setr.h"
#include "simde/x86/avx512/setr4.h"
#include "simde/x86/avx512/setzero.h"
#include "simde/x86/avx512/shldv.h"
#include "simde/x86/avx512/shuffle.h"
#include "simde/x86/avx512/sll.h"
#include "simde/x86/avx512/slli.h"
#include "simde/x86/avx512/sllv.h"
#include "simde/x86/avx512/sqrt.h"
#include "simde/x86/avx512/sra.h"
#include "simde/x86/avx512/srai.h"
#include "simde/x86/avx512/srav.h"
#include "simde/x86/avx512/srl.h"
#include "simde/x86/avx512/srli.h"
#include "simde/x86/avx512/srlv.h"
#include "simde/x86/avx512/store.h"
#include "simde/x86/avx512/storeu.h"
#include "simde/x86/avx512/sub.h"
#include "simde/x86/avx512/subs.h"
#include "simde/x86/avx512/ternarylogic.h"
#include "simde/x86/avx512/test.h"
#include "simde/x86/avx512/testn.h"
#include "simde/x86/avx512/types.h"
#include "simde/x86/avx512/unpackhi.h"
#include "simde/x86/avx512/unpacklo.h"
#include "simde/x86/avx512/xor.h"
#include "simde/x86/avx512/xorsign.h"
#include "simde/x86/clmul.h"
#include "simde/x86/f16c.h"
#include "simde/x86/fma.h"
#include "simde/x86/gfni.h"
#include "simde/x86/mmx.h"
#include "simde/x86/sse.h"
#include "simde/x86/sse2.h"
#include "simde/x86/sse3.h"
#include "simde/x86/sse4.1.h"
#include "simde/x86/sse4.2.h"
#include "simde/x86/ssse3.h"
#include "simde/x86/svml.h"
#include "simde/x86/xop.h"