* [style] Use same style for cmake `set` command
* [build] Specify CMAKE_FIND_ROOT_PATH_MODE_PACKAGE in xxx.toolchain.cmake
* [build] Allow user passing args for cmake find cmds
* complete abs, fmod and sin function in simplemath.h
* remove some unused variables in simplemath.cpp
* modify test-coverage.yml and add some functions to simplemath.cpp
* modify erf.cpp which included math.h
* include platform.h for NCNN_SIMPLEMATH definition
* move utility constants and functions in simplemath.h to simplemath.cpp
* guard simplemath functions with extern "C"
* add NCNN_EXPORT macro in simplemath.h
* include plateform.h and guard all declarations with NCNN_SIMPLEMATH
* clean unused code in test_unaryop.cpp
* guard #include <vector> with NCNN_SIMPLEMATH in benchncnn.cpp
* add 'static' to guard functions that not declarated in header file
* modify sin and cos with better implementation
---------
Co-authored-by: HonestDeng <HonestDeng@users.noreply.github.com>
* Add POWER8 VSX toolchains
POWER8, though slower than POWER9, is still used in the wild; these
toolchains should still be much faster on POWER8 than POWER8 without VSX
optimizations.
* VSX toolchains: set -cpu arg in QEMU CI tests
Improves compatibility with Clang 11.
Also rename NCNN_SSE* options to NCNN_VSX_SSE* to avoid conflict between
x86 and POWER (went unnoticed before because x86 doesn't have an option
for toggling SSE 4.1).
Co-authored-by: Jeremy Rand <jeremyrand@danwin1210.de>
* Support Ingenic X2000 & T40
T40 claimed to have MIPS32R2 with MSA, but tested not working on my unit, so set to mips32r2 without MSA.
* Add Ingenic T40XP benchmark result
* SSE2: BatchNorm
* Fixed batch norm in AVX configuration
* Optimized register size switch
* Attempt to pass CI
* Attempt to pass CI
* Bias op
* Element wise ops
* Support packing on x86 by default
* Fixed macro range in bias
* Use aligned read for packed data
* Update testutil.h
* Update pooling_x86.cpp
* Support wasn SIMD
* Fix emscripten compiler flags
* fix build
* more ci fix
* concat x86 pack4
* flatten x86 pack4
* more x86 pack4
* ci pass
* fix
* enable sse2 mathfun
* enable --experimental-wasm-simd
Co-authored-by: nihui <shuizhuyuanluo@126.com>
Co-authored-by: nihuini <nihuini@tencent.com>
* [build] add toolchain file w/o stdcxx dependency
* [build] link m and gcc lib explicitly
* [ncnn] complete simple stl impl
* [ncnn] adapt for ncnn simplestl
* [test] adapt for ncnn simplestl
* [ncnn] fix missing algorithm and list when simplestl disabled
* [ncnn] fix guard for operator new and delete
* [style] fix the code style
* [build] fix build failed on darwin and emscripten
* [ci] do not import cxx to avoid operator conflict
* [ncnn] add temporary partial_sort impl using bubble sort
heap sort should be used for better perf.
* [ncnn] add std greater and less function
* [ncnn] fix placement new operator overload
* [ncnn] add operator delete with size info
* [build] disable exception, rtti, example and tools when simplestl on
* [build] add toolchain for arm simplestl
* [build] add toolchain for aarch64 simplestl
* [ncnn] move initializer to constructor
* [ncnn] use deteiled type instead of auto
* [ncnn] use plain lib name in target_link_libraries