1515 Commits

Author SHA1 Message Date
Konstantinos Margaritis
9de3065e68 style fixes 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
e0a45a354d removed obsolete file 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
2753dbb3b0 rename supervector class header, use dup_*() functions names instead of set1_*(), minor fixes 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
9685095379 handle GNUCC_ARCH on non-x86 properly 2021-10-12 11:51:34 +03:00
apostolos
1ce5e17ce9 Truffle simd vectorized 2021-10-12 11:51:34 +03:00
George Wort
d1009e8830 Fix error in initial noodle double final call.
Change-Id: Ie044988f183b47e0b2f1eed3b4bd23de75c3117d
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
5297ed5038 syntax fixes 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
8b09ecfe48 nits 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
cceb599fc9 fix typo 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
e49fa3a97a fix unit tests, and resp. ARM SuperVector methods based on those unit tests, add print functions for SuperVector 2021-10-12 11:51:34 +03:00
apostolos
1e434a9b3d Supervector Unit Tests 2021-10-12 11:51:34 +03:00
George Wort
d6df8116a5 Add SVE2 support for noodle
Change-Id: Iacb7d1f164bdd0ba50e2e13d26fe548cf9b45a6a
2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
acca824dea add missing ARM SuperVector methods, some tests still fail, WIP 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
5d9d958e74 disable SuperVector unit tests for now, until ARM support is included 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
6fbd18183a rename arm impl.hpp to impl.cpp, add operator|() to SuperVector class 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
23b075cbd4 refactor shufti algorithm to use SuperVector class, WIP 2021-10-12 11:51:34 +03:00
George Wort
3ee7b75ee0 Add SVE, SVE2, and SVE2_BITPERM as targets
Change-Id: I5231e2eb0a31708a16c853dc83ea48db32e0b0a5
2021-10-12 11:51:34 +03:00
George Wort
b6c3ab723b Enable cross compilation to aarch64
Change-Id: Iafc8ac60926f5286990ce63a4ff4f8b6a7c46bef
2021-10-12 11:51:34 +03:00
apostolos
feb2d3ccf7 SuperVector unit tests 2021-10-12 11:51:34 +03:00
apostolos
096fb55faa unit tests for supervector 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
6526df81e4 add more functions, move defines here, enable inlining of template specializations only when running optimized code 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
d8b5eb5d17 fix compilation on C++ 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
273b9683ac simplify function 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
e215157a21 move definitions elsewhere 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
05c7c8e576 move SuperVector versions of noodleEngine scan functions to _simd.hpp file 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
6e63aafbea add arm support for the new SuperVector class 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
c6406bebde simplify scanSingleMain() and scanDoubleMain() 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
f77837130d delete separate implementations 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
e6c1fa04ce add C++ template SIMD library (WIP) 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
ede2b18564 add generic SIMD implementation 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
5213ef579d rename project, change to noodle_engine.cpp 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
7a9a2dd0dc convert to C++ 2021-10-12 11:51:34 +03:00
Konstantinos Margaritis
2805ff038a revert to push_back() 2021-10-12 11:51:33 +03:00
Konstantinos Margaritis
52661f35e8 add global definitions for CHUNKSIZE/VECTORSIZE, define HAVE_AVX512* only when BUILD_AVX512 is also enabled 2021-10-12 11:51:33 +03:00
Konstantinos Margaritis
831091db9e fix typo 2021-10-12 11:51:33 +03:00
Konstantinos Margaritis
556206f138 replace push_back by emplace_back where possible 2021-10-12 11:51:33 +03:00
Konstantinos Margaritis
9f7088a9e0 use -O3 for C++ code as well, makes a difference 2021-10-12 11:51:33 +03:00
Konstantinos Margaritis
48e9a17f0a merge with master 2021-10-12 11:51:20 +03:00
Konstantinos Margaritis
ec5531a6b1 minor optimizations 2021-10-12 11:50:32 +03:00
Konstantinos Margaritis
d3ff893871 prefetch works best when addresses are 64-byte aligned 2021-10-12 11:50:32 +03:00
Konstantinos Margaritis
521f233cfd Revert "replace long macro and switch statement with function pointer array and branchless execution"
This reverts commit cc9dfed2494d709aac79051c29adb0a563903ba9.
2021-10-12 11:50:32 +03:00
Konstantinos Margaritis
92916e311f replace long macro and switch statement with function pointer array and branchless execution 2021-10-12 11:50:32 +03:00
Konstantinos Margaritis
58cface115 optimise case handling 2021-10-12 11:50:32 +03:00
Konstantinos Margaritis
e3e101b412 simplify and make scanSingle*()/scanDouble*() more uniform 2021-10-12 11:50:32 +03:00
Konstantinos Margaritis
2f13ad0674 optimize caseMask handling 2021-10-12 11:50:32 +03:00
vectorcamp-jenkins
a0abf31a82 added basic Jenkinsfile 2021-04-13 22:52:42 +03:00
Konstantinos Margaritis
f2354537ff change project name in CMakeLists 2021-04-12 21:06:28 +03:00
Robbie Williamson
76bd21e521 Update README.md
Softened some of the wording around the reason for the fork. ;-)
2021-04-01 18:42:38 +03:00
Konstantinos Margaritis
5298333c73 bump version v5.4.2+vectorscan 2021-02-15 20:19:09 +02:00
Konstantinos Margaritis
27bd09454f use correct function names for AVX512, fix build failure v5.4.1+vectorscan 2021-02-15 13:54:19 +02:00